diff --git a/server/src/lib/score-import/import-types/common/types.ts b/server/src/lib/score-import/import-types/common/types.ts index 7ce93f495..05a085e5b 100644 --- a/server/src/lib/score-import/import-types/common/types.ts +++ b/server/src/lib/score-import/import-types/common/types.ts @@ -16,11 +16,11 @@ import { ClassHandler } from "../../framework/user-game-stats/types"; import { SDVXEamusementCSVData } from "../file/eamusement-sdvx-csv/types"; import { MerScore } from "../file/mer-iidx/types"; import { S3Score } from "../file/solid-state-squad/types"; -import { BarbatosScore } from "../ir/barbatos/types"; +import { BarbatosContext, BarbatosScore } from "../ir/barbatos/types"; import { BeatorajaContext, BeatorajaScore } from "../ir/beatoraja/types"; import { FervidexStaticContext, FervidexStaticScore } from "../ir/fervidex-static/types"; import { FervidexContext, FervidexScore } from "../ir/fervidex/types"; -import { KsHookSV3CScore } from "../ir/kshook-sv3c/types"; +import { KsHookSV3CContext, KsHookSV3CScore } from "../ir/kshook-sv3c/types"; import { IRUSCContext } from "../ir/usc/types"; import { KaiContext } from "./api-kai/types"; import { BatchManualContext } from "./batch-manual/types"; @@ -62,12 +62,12 @@ export interface ImportTypeContextMap { "file/pli-iidx-csv": IIDXEamusementCSVContext; "ir/direct-manual": BatchManualContext; - "ir/barbatos": EmptyObject; + "ir/barbatos": BarbatosContext; "ir/fervidex": FervidexContext; "ir/fervidex-static": FervidexStaticContext; "ir/beatoraja": BeatorajaContext; "ir/usc": IRUSCContext; - "ir/kshook-sv3c": EmptyObject; + "ir/kshook-sv3c": KsHookSV3CContext; "api/arc-iidx": EmptyObject; "api/arc-sdvx": EmptyObject; diff --git a/server/src/lib/score-import/import-types/ir/barbatos/converter.ts b/server/src/lib/score-import/import-types/ir/barbatos/converter.ts index 56d166da6..37310b466 100644 --- a/server/src/lib/score-import/import-types/ir/barbatos/converter.ts +++ b/server/src/lib/score-import/import-types/ir/barbatos/converter.ts @@ -1,7 +1,6 @@ import { Lamps } from "tachi-common"; import { FindSDVXChartOnInGameID } from "utils/queries/charts"; import { FindSongOnID } from "utils/queries/songs"; -import { EmptyObject } from "utils/types"; import { InternalFailure, KTDataNotFoundFailure, @@ -9,7 +8,7 @@ import { import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils"; import { DryScore } from "../../../framework/common/types"; import { ConverterFunction } from "../../common/types"; -import { BarbatosScore } from "./types"; +import { BarbatosContext, BarbatosScore } from "./types"; const LAMP_LOOKUP = { 1: "FAILED", @@ -27,7 +26,7 @@ const DIFFICULTY_LOOKUP = { 4: "MXM", }; -export const ConverterIRBarbatos: ConverterFunction = async ( +export const ConverterIRBarbatos: ConverterFunction = async ( data, context, importType, @@ -65,7 +64,7 @@ export const ConverterIRBarbatos: ConverterFunction service: "Barbatos", comment: null, importType: "ir/barbatos", - timeAchieved: Date.now(), + timeAchieved: context.timeReceived, scoreData: { score: data.score, percent, diff --git a/server/src/lib/score-import/import-types/ir/barbatos/types.ts b/server/src/lib/score-import/import-types/ir/barbatos/types.ts index f04e9ea5d..9a3ad9956 100644 --- a/server/src/lib/score-import/import-types/ir/barbatos/types.ts +++ b/server/src/lib/score-import/import-types/ir/barbatos/types.ts @@ -17,3 +17,7 @@ export interface BarbatosScore { gauge_type: 1 | 2; is_skill_analyzer: boolean; } + +export interface BarbatosContext { + timeReceived: number; +} diff --git a/server/src/lib/score-import/import-types/ir/fervidex/converter.ts b/server/src/lib/score-import/import-types/ir/fervidex/converter.ts index 29ed6c488..2a82affb8 100644 --- a/server/src/lib/score-import/import-types/ir/fervidex/converter.ts +++ b/server/src/lib/score-import/import-types/ir/fervidex/converter.ts @@ -186,7 +186,7 @@ export const ConverterIRFervidex: ConverterFunction = async ( +export const ConverterIRKsHookSV3C: ConverterFunction = async ( data, context, importType, @@ -44,7 +43,7 @@ export const ConverterIRKsHookSV3C: ConverterFunction, logger: KtLogger -): ParserFunctionReturns { +): ParserFunctionReturns { // Ignore excess keys, as SV3C might add more features in the future. const err = p(body, PR_KsHookSV3C, undefined, { allowExcessKeys: true }); @@ -88,7 +87,9 @@ export function ParseKsHookSV3C( return { game: "sdvx", iterable: [score], - context: {}, + context: { + timeReceived: Date.now(), + }, classHandler: () => { const skillLevel = ConvertSkillLevel(score.skill_level); diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv3c/types.ts b/server/src/lib/score-import/import-types/ir/kshook-sv3c/types.ts index 0b7f4e331..ea97d81a1 100644 --- a/server/src/lib/score-import/import-types/ir/kshook-sv3c/types.ts +++ b/server/src/lib/score-import/import-types/ir/kshook-sv3c/types.ts @@ -56,3 +56,7 @@ export interface KsHookSV3CScore { skill_name: integer; track_no: integer; } + +export interface KsHookSV3CContext { + timeReceived: number; +}