fix: run just autofix (1)

This commit is contained in:
zk
2026-03-12 18:56:22 +00:00
parent e57a1f296e
commit 4e3a4f4d85
414 changed files with 1571 additions and 1961 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
import type { Session, SessionData } from "express-session";
import type { APITokenDocument } from "../../../../common/src";
import type { APITokenDocument } from "../../../../common/src";
import type { SYMBOL_TACHI_API_AUTH, SYMBOL_TACHI_DATA } from "../../lib/constants/tachi";
import type { TachiRequestData, TachiSessionData } from "../../utils/types";
@@ -19,11 +19,12 @@ import type {
ScoreValidator,
} from "#game-implementations/types";
import { IsNullish, NumToDP } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN, ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish, NumToDP } from "#utils/misc";
import { Volforce } from "rg-stats";
import {
type ChartDocument,
FmtNum,
@@ -7,6 +7,8 @@ import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestSnapshot } from "#test-utils/single-process-snapshot";
import { TestingArcaeaSheriruthFTR, TestingWaccaPupaExp } from "#test-utils/test-data";
import t from "tap";
import {
ARCAEA_GRADES,
ARCAEA_LAMPS,
@@ -15,8 +17,6 @@ import {
type ScoreData,
type ScoreDocument,
} from "../../../../common/src";
import t from "tap";
import { RunValidators } from "./_common";
import { ARCAEA_IMPL } from "./arcaea";
@@ -1,12 +1,12 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { Potential } from "rg-stats";
import { ARCAEA_GBOUNDARIES, FmtNum, GetGrade, type GPTStrings } from "../../../../common/src";
import { ARCAEA_GBOUNDARIES, FmtNum, GetGrade, type GPTStrings } from "../../../../common/src";
import { GoalFmtScore, GoalOutOfFmtScore, GradeGoalFormatter } from "./_common";
export const ARCAEA_IMPL: GPTServerImplementation<GPTStrings["arcaea"]> = {
@@ -4,6 +4,8 @@ import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestSnapshot } from "#test-utils/single-process-snapshot";
import t from "tap";
import {
type ChartDocument,
type ChartDocumentData,
@@ -14,8 +16,6 @@ import {
type ProvidedMetrics,
type ScoreData,
} from "../../../../common/src";
import t from "tap";
import { BMS_7K_IMPL, BMS_14K_IMPL, PMS_CONTROLLER_IMPL, PMS_KEYBOARD_IMPL } from "./bms-pms";
type BMSPMS = GPTStrings["bms" | "pms"];
@@ -3,8 +3,8 @@ import type { GPTServerImplementation, PBMergeFunction } from "#game-implementat
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { type GPTStrings, IIDXLIKE_GBOUNDARIES } from "../../../../common/src";
import { type GPTStrings, IIDXLIKE_GBOUNDARIES } from "../../../../common/src";
import {
GoalFmtPercent,
GoalOutOfFmtPercent,
@@ -4,6 +4,8 @@ import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { CHUNITHMBBKKChart, TestingChunithmScorePB } from "#test-utils/test-data";
import t from "tap";
import {
CHUNITHM_CLEAR_LAMPS,
CHUNITHM_GRADES,
@@ -11,8 +13,6 @@ import {
type ProvidedMetrics,
type ScoreData,
} from "../../../../common/src";
import t from "tap";
import { CHUNITHM_IMPL } from "./chunithm";
const baseMetrics: ProvidedMetrics["chunithm:Single"] = {
@@ -1,12 +1,12 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { CHUNITHMRating } from "rg-stats";
import { CHUNITHM_GBOUNDARIES, FmtNum, GetGrade } from "../../../../common/src";
import { CHUNITHM_GBOUNDARIES, FmtNum, GetGrade } from "../../../../common/src";
import { GoalFmtScore, GoalOutOfFmtScore, GradeGoalFormatter } from "./_common";
export const CHUNITHM_IMPL: GPTServerImplementation<"chunithm:Single"> = {
@@ -1,5 +1,7 @@
import { dmf, mkFakePBDDRSP } from "#test-utils/misc";
import { Testing511SPA, TestingDDRSP, TestingDDRSPScore } from "#test-utils/test-data";
import t from "tap";
import {
type ChartDocumentData,
DDR_GRADES,
@@ -7,8 +9,6 @@ import {
type ProvidedMetrics,
type ScoreData,
} from "../../../../common/src";
import t from "tap";
import { TestSnapshot } from "../../test-utils/single-process-snapshot";
import { DDR_IMPL } from "./ddr";
import { IIDX_DP_IMPL, IIDX_SP_IMPL } from "./iidx";
@@ -7,6 +7,7 @@ import type {
} from "#game-implementations/types";
import { DDRFlare } from "rg-stats";
import {
type ChartDocument,
DDR_GBOUNDARIES,
@@ -20,7 +21,6 @@ import {
type ScoreDocument,
type SongDocument,
} from "../../../../common/src";
import db from "../../external/mongo/db";
import CreateLogCtx from "../../lib/logger/logger";
import { IsNullish } from "../../utils/misc";
@@ -4,6 +4,8 @@ import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingGitadoraChart } from "#test-utils/test-data";
import t from "tap";
import {
GetGPTString,
GITADORA_GRADES,
@@ -14,8 +16,6 @@ import {
type ScoreData,
type ScoreDocument,
} from "../../../../common/src";
import t from "tap";
import { GITADORA_DORA_IMPL, GITADORA_GITA_IMPL } from "./gitadora";
const logger = CreateLogCtx(__filename);
@@ -1,12 +1,12 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { GITADORASkill } from "rg-stats";
import { GetGrade, GITADORA_GBOUNDARIES } from "../../../../common/src";
import { GetGrade, GITADORA_GBOUNDARIES } from "../../../../common/src";
import { GoalFmtPercent, GoalOutOfFmtPercent, GradeGoalFormatter } from "./_common";
const GITADORA_IMPL: GPTServerImplementation<"gitadora:Dora" | "gitadora:Gita"> = {
@@ -5,6 +5,8 @@ import { dmf, mkFakePBIIDXSP, mkFakeScoreIIDXSP } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestSnapshot } from "#test-utils/single-process-snapshot";
import { Testing511SPA, TestingIIDXSPScore } from "#test-utils/test-data";
import t from "tap";
import {
type ChartDocumentData,
GetGrade,
@@ -14,8 +16,6 @@ import {
type ProvidedMetrics,
type ScoreData,
} from "../../../../common/src";
import t from "tap";
import { IIDX_DP_IMPL, IIDX_SP_IMPL } from "./iidx";
const baseMetrics: ProvidedMetrics["iidx:DP" | "iidx:SP"] = {
@@ -9,13 +9,13 @@ import type {
ScoreValidator,
} from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { PoyashiBPI } from "rg-stats";
import { type GPTStrings, IIDXLIKE_GBOUNDARIES } from "../../../../common/src";
import { type GPTStrings, IIDXLIKE_GBOUNDARIES } from "../../../../common/src";
import {
GoalFmtPercent,
GoalOutOfFmtPercent,
@@ -1,12 +1,12 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { NumToDP } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBestNFor } from "#game-implementations/utils/session-calc";
import { NumToDP } from "#utils/misc";
import { ITGHighestUnbroken } from "rg-stats";
import { GetGrade, ITG_GBOUNDARIES } from "../../../../common/src";
import { GetGrade, ITG_GBOUNDARIES } from "../../../../common/src";
import { GoalFmtPercent, GradeGoalFormatter } from "./_common";
export const ITG_STAMINA_IMPL: GPTServerImplementation<"itg:Stamina"> = {
@@ -1,5 +1,3 @@
import type { ProvidedMetrics, ScoreData } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
@@ -7,9 +5,11 @@ import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestSnapshot } from "#test-utils/single-process-snapshot";
import { TestingJubeatChart } from "#test-utils/test-data";
import { JUBEAT_SINGLE_CONF } from "../../../../common/src/config/game-support/jubeat";
import t from "tap";
import type { ProvidedMetrics, ScoreData } from "../../../../common/src";
import { JUBEAT_SINGLE_CONF } from "../../../../common/src/config/game-support/jubeat";
import { JUBEAT_IMPL } from "./jubeat";
const logger = CreateLogCtx(__filename);
@@ -1,12 +1,13 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import db from "#external/mongo/db";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { p } from "prudence";
import { Jubility } from "rg-stats";
import {
FmtNum,
type GameGroup,
@@ -17,7 +18,6 @@ import {
type Playtype,
type Versions,
} from "../../../../common/src";
import { GoalFmtScore, GoalOutOfFmtScore, GradeGoalFormatter } from "./_common";
async function GetBestJubilityOnSongs(
@@ -1,5 +1,3 @@
import type { integer, ProvidedMetrics, ScoreData } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
@@ -7,9 +5,11 @@ import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestSnapshot } from "#test-utils/single-process-snapshot";
import { TestingMaimaiChart } from "#test-utils/test-data";
import { MAIMAI_SINGLE_CONF } from "../../../../common/src/config/game-support/maimai";
import t from "tap";
import type { integer, ProvidedMetrics, ScoreData } from "../../../../common/src";
import { MAIMAI_SINGLE_CONF } from "../../../../common/src/config/game-support/maimai";
import { MAIMAI_IMPL } from "./maimai";
const logger = CreateLogCtx(__filename);
@@ -1,12 +1,12 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { MaimaiRate } from "rg-stats";
import { GetGrade, MAIMAI_GBOUNDARIES } from "../../../../common/src";
import { GetGrade, MAIMAI_GBOUNDARIES } from "../../../../common/src";
import { GoalFmtPercent, GoalOutOfFmtPercent, GradeGoalFormatter } from "./_common";
export const MAIMAI_IMPL: GPTServerImplementation<"maimai:Single"> = {
@@ -1,14 +1,14 @@
import type { ProvidedMetrics, ScoreData } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingMaimaiDXChart } from "#test-utils/test-data";
import { MAIMAI_DX_SINGLE_CONF } from "../../../../common/src/config/game-support/maimai-dx";
import t from "tap";
import type { ProvidedMetrics, ScoreData } from "../../../../common/src";
import { MAIMAI_DX_SINGLE_CONF } from "../../../../common/src/config/game-support/maimai-dx";
import { MAIMAIDX_IMPL } from "./maimaidx";
const logger = CreateLogCtx(__filename);
@@ -1,12 +1,12 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { MaimaiDXRate } from "rg-stats";
import { GetGrade, MAIMAIDX_GBOUNDARIES } from "../../../../common/src";
import { GetGrade, MAIMAIDX_GBOUNDARIES } from "../../../../common/src";
import { GoalFmtPercent, GoalOutOfFmtPercent, GradeGoalFormatter } from "./_common";
export const MAIMAIDX_IMPL: GPTServerImplementation<"maimaidx:Single"> = {
@@ -4,14 +4,14 @@ import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingMusecaChart } from "#test-utils/test-data";
import t from "tap";
import {
MUSECA_GRADES,
MUSECA_LAMPS,
type ProvidedMetrics,
type ScoreData,
} from "../../../../common/src";
import t from "tap";
import { MUSECA_IMPL } from "./museca";
const baseMetrics: ProvidedMetrics["museca:Single"] = {
@@ -4,8 +4,8 @@ import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { CuratorSkill } from "rg-stats";
import { FmtNum, GetGrade, MUSECA_GBOUNDARIES } from "../../../../common/src";
import { FmtNum, GetGrade, MUSECA_GBOUNDARIES } from "../../../../common/src";
import { GoalFmtScore, GoalOutOfFmtScore, GradeGoalFormatter } from "./_common";
export const MUSECA_IMPL: GPTServerImplementation<"museca:Single"> = {
@@ -6,6 +6,8 @@ import { CreatePBDoc, UpdateChartRanking } from "#lib/score-import/framework/pb/
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingOngekiChart, TestingOngekiScorePB } from "#test-utils/test-data";
import t from "tap";
import {
ONGEKI_BELL_LAMPS,
ONGEKI_GRADES,
@@ -14,8 +16,6 @@ import {
type ProvidedMetrics,
type ScoreData,
} from "../../../../common/src";
import t from "tap";
import { ONGEKI_IMPL } from "./ongeki";
const baseMetrics: ProvidedMetrics["ongeki:Single"] = {
@@ -1,10 +1,11 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { ONGEKIRating } from "rg-stats";
import {
type ChartDocument,
FmtNum,
@@ -16,7 +17,6 @@ import {
ONGEKI_GBOUNDARIES,
type Playtype,
} from "../../../../common/src";
import { GoalFmtScore, GoalOutOfFmtScore, GradeGoalFormatter } from "./_common";
const isUnranked = (chart: ChartDocument<"ongeki:Single">) =>
@@ -1,14 +1,14 @@
import type { ProvidedMetrics, ScoreData } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingPopnChart } from "#test-utils/test-data";
import { POPN_9B_CONF } from "../../../../common/src/config/game-support/popn";
import t from "tap";
import type { ProvidedMetrics, ScoreData } from "../../../../common/src";
import { POPN_9B_CONF } from "../../../../common/src/config/game-support/popn";
import { POPN_9B_IMPL } from "./popn";
const baseMetrics: ProvidedMetrics["popn:9B"] = {
@@ -1,13 +1,14 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import type { GetEnumValue } from "../../../../common/src/types/metrics";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileAvgBestN, ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { PopnClassPoints } from "rg-stats";
import { FmtNum, FmtNumCompact, GetGrade, POPN_GBOUNDARIES } from "../../../../common/src";
import type { GetEnumValue } from "../../../../common/src/types/metrics";
import { FmtNum, FmtNumCompact, GetGrade, POPN_GBOUNDARIES } from "../../../../common/src";
import { GoalFmtScore, GoalOutOfFmtScore, GradeGoalFormatter } from "./_common";
export function PopnClearMedalToLamp(
@@ -5,14 +5,14 @@ import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestSnapshot } from "#test-utils/single-process-snapshot";
import { TestingSDVXAlbidaChart } from "#test-utils/test-data";
import t from "tap";
import {
type ProvidedMetrics,
type ScoreData,
SDVX_GRADES,
SDVX_LAMPS,
} from "../../../../common/src";
import t from "tap";
import { SDVX_IMPL } from "./sdvx";
const logger = CreateLogCtx(__filename);
@@ -4,6 +4,8 @@ import { CreatePBDoc } from "#lib/score-import/framework/pb/create-pb-doc";
import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingUSCChart } from "#test-utils/test-data";
import t from "tap";
import {
GetGPTString,
type GPTStrings,
@@ -12,8 +14,6 @@ import {
SDVX_GRADES,
USC_LAMPS,
} from "../../../../common/src";
import t from "tap";
import { USC_CONTROLLER_IMPL, USC_KEYBOARD_IMPL } from "./usc";
const logger = CreateLogCtx(__filename);
@@ -1,4 +1,5 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import type { GPTStrings } from "../../../../common/src";
import {
@@ -1,5 +1,4 @@
import type { DeepPartial } from "#utils/types";
import type { ProvidedMetrics, ScoreData, ScoreDocument } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
@@ -8,9 +7,11 @@ import { dmf, mkMockPB, mkMockScore } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestSnapshot } from "#test-utils/single-process-snapshot";
import { TestingWaccaPupaExp } from "#test-utils/test-data";
import { WACCA_SINGLE_CONF } from "../../../../common/src/config/game-support/wacca";
import t from "tap";
import type { ProvidedMetrics, ScoreData, ScoreDocument } from "../../../../common/src";
import { WACCA_SINGLE_CONF } from "../../../../common/src/config/game-support/wacca";
import { RunValidators } from "./_common";
import { WACCA_IMPL } from "./wacca";
@@ -1,12 +1,12 @@
import type { GPTServerImplementation } from "#game-implementations/types";
import { IsNullish } from "#utils/misc";
import { CreatePBMergeFor } from "#game-implementations/utils/pb-merge";
import { ProfileSumBestN } from "#game-implementations/utils/profile-calc";
import { SessionAvgBest10For } from "#game-implementations/utils/session-calc";
import { IsNullish } from "#utils/misc";
import { WACCARate } from "rg-stats";
import { FmtNum, GetGrade, WACCA_GBOUNDARIES } from "../../../../common/src";
import { FmtNum, GetGrade, WACCA_GBOUNDARIES } from "../../../../common/src";
import { GoalFmtScore, GoalOutOfFmtScore, GradeGoalFormatter } from "./_common";
export const WACCA_IMPL: GPTServerImplementation<"wacca:Single"> = {
@@ -1,5 +1,6 @@
import type { DryScoreData } from "#lib/score-import/framework/common/types";
import type { PBScoreDocumentNoRank } from "#lib/score-import/framework/pb/create-pb-doc";
import type {
ChartDocument,
ClassConfigs,
@@ -1,6 +1,9 @@
import type { PBScoreDocumentNoRank } from "#lib/score-import/framework/pb/create-pb-doc";
import type { PBMergeFunction } from "#game-implementations/types";
import type { PBScoreDocumentNoRank } from "#lib/score-import/framework/pb/create-pb-doc";
import type { FilterQuery } from "mongodb";
import db from "#external/mongo/db";
import type {
ConfDerivedMetrics,
ConfOptionalMetrics,
@@ -10,8 +13,6 @@ import type {
} from "../../../../common/src";
import type { ExtractEnumMetricNames } from "../../../../common/src/types/metrics";
import db from "#external/mongo/db";
// insane typemagic to get mongodb-safe names for this GPT's metrics.
type MetricKeys<GPT extends GPTString> = Exclude<
| `enumIndexes.${ExtractEnumMetricNames<ConfDerivedMetrics[GPT] & ConfProvidedMetrics[GPT]>}`
@@ -1,3 +1,5 @@
import db from "#external/mongo/db";
import type {
GameGroup,
GPTString,
@@ -7,8 +9,6 @@ import type {
ScoreRatingAlgorithms,
} from "../../../../common/src";
import db from "#external/mongo/db";
/**
* Curries a function that returns the sum of N best ratings on `key`.
*
@@ -1,4 +1,5 @@
import type { SessionCalculator } from "#game-implementations/types";
import type { GPTString, integer, ScoreDocument } from "../../../../common/src";
export function SessionAverageBestN(vals: Array<number | null | undefined>, n = 10) {
+11 -10
View File
@@ -1,5 +1,16 @@
import type { Request, Response } from "express-serve-static-core";
import type { FilterQuery } from "mongodb";
import db from "#external/mongo/db";
import {
GetRecentlyAchievedGoals,
GetRecentlyAchievedQuests,
GetRelevantSongsAndCharts,
} from "#utils/db";
import { DedupeArr } from "#utils/misc";
import { GetGPT } from "#utils/req-tachi-data";
import { GetUsersWithIDs } from "#utils/user";
import type {
ChartDocument,
ClassAchievementDocument,
@@ -16,16 +27,6 @@ import type {
UserDocument,
} from "../../../../common/src";
import db from "#external/mongo/db";
import {
GetRecentlyAchievedGoals,
GetRecentlyAchievedQuests,
GetRelevantSongsAndCharts,
} from "#utils/db";
import { DedupeArr } from "#utils/misc";
import { GetGPT } from "#utils/req-tachi-data";
import { GetUsersWithIDs } from "#utils/user";
export type ActivityConstraint = FilterQuery<
ClassAchievementDocument & ScoreDocument & SessionDocument
>;
@@ -1,8 +1,8 @@
import type { GameGroup, integer, Playtype } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import type { GameGroup, integer, Playtype } from "../../../../common/src";
const logger = CreateLogCtx(__filename);
/**
@@ -14,6 +14,7 @@ import {
import { GetRecentUGPTScores } from "#utils/queries/scores";
import { GetUser } from "#utils/req-tachi-data";
import path from "path";
import {
type ChartDocument,
CreateSongMap,
@@ -1,9 +1,9 @@
import type { ChartDocument, integer, Playtypes } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { PoyashiBPI } from "rg-stats";
import type { ChartDocument, integer, Playtypes } from "../../../../common/src";
const logger = CreateLogCtx(__filename);
interface PlaylistEntry {
+2 -2
View File
@@ -1,5 +1,3 @@
import type { ImportDocument } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import {
@@ -8,6 +6,8 @@ import {
} from "#lib/score-import/framework/import-locks/lock";
import { DeleteMultipleScores } from "#lib/score-mutation/delete-scores";
import type { ImportDocument } from "../../../../common/src";
const logger = CreateLogCtx(__filename);
interface OngoingImportError {
+2 -2
View File
@@ -1,9 +1,9 @@
import type { UserDocument } from "../../../../common/src";
import { ONE_MONTH } from "#lib/constants/time";
import CreateLogCtx from "#lib/logger/logger";
import { ServerConfig } from "#lib/setup/config";
import type { UserDocument } from "../../../../common/src";
const logger = CreateLogCtx(__filename);
/**
@@ -1,10 +1,10 @@
import type { ChartDocument } from "../../../../common/src";
import CreateLogCtx from "#lib/logger/logger";
import { PullDatabaseSeeds } from "#lib/seeds/repo";
import { WrapScriptPromise } from "#utils/misc";
import fetch from "node-fetch";
import type { ChartDocument } from "../../../../common/src";
const AI_URL = "https://bms.hexlataia.xyz/tables/json/ai.json";
const logger = CreateLogCtx(__filename);
@@ -7,6 +7,7 @@ import { DeorphanIfInQueue } from "#lib/orphan-queue/orphan-queue";
import { InitaliseFolderChartLookup } from "#utils/folder";
import { FormatBMSTables, WrapScriptPromise } from "#utils/misc";
import { type BMSTableEntry, LoadBMSTable } from "bms-table-loader";
import {
BMS_TABLES,
type BMSTableInfo,
@@ -1,10 +1,10 @@
import type { UserGameStats, UserGameStatsSnapshotDocument } from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { GetMillisecondsSince } from "#utils/misc";
import { GetAllRankings } from "#utils/user";
import type { UserGameStats, UserGameStatsSnapshotDocument } from "../../../../common/src";
const logger = CreateLogCtx(__filename);
// get the time of this midnight. it's possible this script eclipses itself when weird timezone
@@ -1,3 +1,10 @@
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { BacksyncCollection, PullDatabaseSeeds } from "#lib/seeds/repo";
import { RecalcAllScores } from "#utils/calculations/recalc-scores";
import fetch from "#utils/fetch";
import { WrapScriptPromise } from "#utils/misc";
import type {
ChartDocument,
Difficulties,
@@ -7,13 +14,6 @@ import type {
Versions,
} from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { BacksyncCollection, PullDatabaseSeeds } from "#lib/seeds/repo";
import { RecalcAllScores } from "#utils/calculations/recalc-scores";
import fetch from "#utils/fetch";
import { WrapScriptPromise } from "#utils/misc";
const logger = CreateLogCtx(__filename);
const difficultyResolve: Record<string, [Playtypes["iidx"], Difficulties["iidx:DP" | "iidx:SP"]]> =
@@ -1,4 +1,5 @@
import type { Migration } from "#utils/types";
import type { GetEnumValue } from "../../../../../common/src/types/metrics";
import {
@@ -1,5 +1,4 @@
import type { Migration } from "#utils/types";
import type { integer, ProvidedMetrics, ScoreDocument } from "../../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
@@ -7,6 +6,8 @@ import { ProcessPBs } from "#lib/score-import/framework/pb/process-pbs";
import UpdateScore from "#lib/score-mutation/update-score";
import { RecalcAllScores } from "#utils/calculations/recalc-scores";
import type { integer, ProvidedMetrics, ScoreDocument } from "../../../../../common/src";
const logger = CreateLogCtx(__filename);
const migration: Migration = {
@@ -4,6 +4,7 @@ import db from "#external/mongo/db";
import { rootLogger } from "#lib/logger/logger";
import UpdateScore from "#lib/score-mutation/update-score";
import { EfficientDBIterate } from "#utils/efficient-db-iterate";
import { ONGEKI_NOTE_LAMPS, type ScoreDocument } from "../../../../../common/src";
const migration: Migration = {
@@ -1,9 +1,10 @@
import type { Migration } from "#utils/types";
import type { SessionDocument } from "../../../../../common/src";
import db from "#external/mongo/db";
import { EfficientDBIterate } from "#utils/efficient-db-iterate";
import type { SessionDocument } from "../../../../../common/src";
const migration: Migration = {
id: "sessions-to-scoreIDs",
up: async () => {
@@ -1,10 +1,11 @@
import type { Migration } from "#utils/types";
import type { FilterQuery } from "mongodb";
import type { GoalDocument } from "../../../../../common/src";
import db from "#external/mongo/db";
import { EditGoal } from "#lib/targets/goals";
import type { GoalDocument } from "../../../../../common/src";
async function UpdateGoals(
query: FilterQuery<GoalDocument>,
newCriteriaKey: string,
@@ -1,4 +1,5 @@
import db from "#external/mongo/db";
import {
FormatGameGroup,
type GameGroup,
@@ -6,7 +7,6 @@ import {
type Playtype,
type UserDocument,
} from "../../../../common/src";
import { BulkSendNotification, SendNotification } from "./notifications";
/**
@@ -1,8 +1,8 @@
import type { integer, NotificationBody, NotificationDocument } from "../../../../common/src";
import db from "#external/mongo/db";
import { Random20Hex } from "#utils/misc";
import type { integer, NotificationBody, NotificationDocument } from "../../../../common/src";
function ConstructNotificationDoc(
title: string,
toUserID: integer,
@@ -1,4 +1,10 @@
import type { FilterQuery } from "mongodb";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { GetNextCounterValue } from "#utils/db";
import { DedupeArr } from "#utils/misc";
import type {
ChartDocument,
GPTString,
@@ -8,11 +14,6 @@ import type {
SongDocument,
} from "../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import { GetNextCounterValue } from "#utils/db";
import { DedupeArr } from "#utils/misc";
const logger = CreateLogCtx(__filename);
/**
@@ -7,6 +7,7 @@ import { SendSetRivalNotification } from "#lib/notifications/notification-wrappe
import { ServerConfig } from "#lib/setup/config";
import { ArrayDiff } from "#utils/misc";
import { GetUsersWithIDs, GetUserWithIDGuaranteed } from "#utils/user";
import {
FormatGameGroup,
type GameGroup,
@@ -1,8 +1,9 @@
import type { ClassDeriver } from "#game-implementations/types";
import type { ExtractedClasses, GPTString, UserGameStats } from "../../../../../../common/src";
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import type { ExtractedClasses, GPTString, UserGameStats } from "../../../../../../common/src";
export function CalculateDerivedClasses<GPT extends GPTString>(
gptString: GPT,
profileRatings: UserGameStats["ratings"],
@@ -1,4 +1,5 @@
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import {
type GameGroup,
GetGPTString,
@@ -1,4 +1,7 @@
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import type { DryScoreData } from "../common/types";
import {
type ChartDocument,
type GameGroup,
@@ -6,8 +9,6 @@ import {
type GPTString,
} from "../../../../../../common/src";
import type { DryScoreData } from "../common/types";
/**
* Create calculated data for a score.
* @param scores - All of the scores in this session.
@@ -1,4 +1,5 @@
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import { type GPTString, type ScoreDocument } from "../../../../../../common/src";
/**
@@ -1,4 +1,5 @@
import type { KtLogger } from "#lib/logger/logger";
import type { ClassConfigs, Classes, GPTString, integer } from "../../../../../../common/src";
import type {
DerivedClassConfig,
@@ -1,7 +1,6 @@
// Various Errors that can occur during processing.
import type { ImportTypes } from "../../../../../../common/src";
import type { ImportTypeContextMap, ImportTypeDataMap } from "../../import-types/common/types";
export type FailureTypes =
@@ -5,10 +5,11 @@ import type {
ParserFunctionReturns,
} from "#lib/score-import/import-types/common/types";
import type { ScoreImportJobData } from "#lib/score-import/worker/types";
import type { ImportTypes } from "../../../../../../common/src";
import { Parsers } from "#lib/score-import/import-types/parsers";
import type { ImportTypes } from "../../../../../../common/src";
export function GetInputParser<I extends ImportTypes>(jobData: ScoreImportJobData<I>) {
// Retrieve the set parser function for this import type.
const ParserFunction = Parsers[jobData.importType];
@@ -1,8 +1,8 @@
import type { ImportTypes, UserDocument } from "../../../../../../common/src";
import { type KtLogger, rootLogger } from "#lib/logger/logger";
import { FormatUserDoc } from "#utils/user";
import type { ImportTypes, UserDocument } from "../../../../../../common/src";
export function CreateScoreLogger(
user: UserDocument,
importID: string,
@@ -5,7 +5,6 @@ import {
type GPTString,
type Playtype,
} from "../../../../../../common/src";
import { InvalidScoreFailure } from "./converter-failures";
export function AssertStrAsDifficulty(
@@ -1,4 +1,5 @@
import type { Mutable } from "#utils/types";
import type {
ConfProvidedMetrics,
GPTString,
@@ -1,3 +1,6 @@
import CreateLogCtx from "#lib/logger/logger";
import { Random20Hex } from "#utils/misc";
import type {
ImportDocument,
ImportTypes,
@@ -5,10 +8,6 @@ import type {
SuccessfulAPIResponse,
UnsuccessfulAPIResponse,
} from "../../../../../common/src";
import CreateLogCtx from "#lib/logger/logger";
import { Random20Hex } from "#utils/misc";
import type { ParserArguments } from "../worker/types";
import { MakeScoreImport } from "./score-import";
@@ -1,4 +1,9 @@
import type { KtLogger } from "#lib/logger/logger";
import db from "#external/mongo/db";
import { EvaluateGoalForUser, GetRelevantGoals } from "#lib/targets/goals";
import { EmitWebhookEvent } from "#lib/webhooks/webhooks";
import type {
GameGroup,
GoalDocument,
@@ -6,10 +11,6 @@ import type {
integer,
} from "../../../../../../common/src";
import db from "#external/mongo/db";
import { EvaluateGoalForUser, GetRelevantGoals } from "#lib/targets/goals";
import { EmitWebhookEvent } from "#lib/webhooks/webhooks";
/**
* Update a user's progress on all of their set goals.
*/
@@ -1,9 +1,9 @@
import type { integer } from "../../../../../../common/src";
import db from "#external/mongo/db";
import { ONE_DAY, ONE_HOUR } from "#lib/constants/time";
import CreateLogCtx from "#lib/logger/logger";
import type { integer } from "../../../../../../common/src";
const logger = CreateLogCtx(__filename);
/**
@@ -1,5 +1,3 @@
import type { BatchManualScore } from "../../../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import ResetDBState from "#test-utils/resets";
@@ -7,6 +5,7 @@ import deepmerge from "deepmerge";
import fjsh from "fast-json-stable-hash";
import t from "tap";
import type { BatchManualScore } from "../../../../../../common/src";
import type { BatchManualContext } from "../../import-types/common/batch-manual/types";
import type { OrphanScoreDocument } from "../../import-types/common/types";
@@ -1,12 +1,12 @@
import type { KtLogger } from "#lib/logger/logger";
import type { FilterQuery } from "mongodb";
import type { GameGroup, ImportTypes, integer } from "../../../../../../common/src";
import db from "#external/mongo/db";
import { GetBlacklist } from "#utils/queries/blacklist";
import { GetUserWithID } from "#utils/user";
import fjsh from "fast-json-stable-hash";
import type { GameGroup, ImportTypes, integer } from "../../../../../../common/src";
import type {
ConverterFnReturnOrFailure,
ConverterFunction,
@@ -8,9 +8,9 @@ import {
TestingIIDXSPScore,
} from "#test-utils/test-data";
import deepmerge from "deepmerge";
import { IIDX_GRADES, IIDX_LAMPS } from "../../../../../../common/src";
import t from "tap";
import { IIDX_GRADES, IIDX_LAMPS } from "../../../../../../common/src";
import { CreatePBDoc, type PBScoreDocumentNoRank } from "./create-pb-doc";
const IIDXScore = TestingIIDXSPScore;
@@ -2,9 +2,10 @@ import type { KtLogger } from "#lib/logger/logger";
import type { BulkWriteUpdateOneOperation, FilterQuery, SortOptionObject } from "mongodb";
import db from "#external/mongo/db";
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import { GetEveryonesRivalIDs } from "#lib/rivals/rivals";
import { DeleteUndefinedProps } from "#utils/misc";
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import {
type ChartDocument,
type GameGroup,
@@ -16,7 +17,6 @@ import {
type Playtype,
type ScoreDocument,
} from "../../../../../../common/src";
import { CreateScoreCalcData } from "../calculated-data/score";
import { CreateEnumIndexes } from "../score-importing/derivers";
@@ -2,13 +2,13 @@ import type { KtLogger } from "#lib/logger/logger";
import db from "#external/mongo/db";
import { GetChartForIDGuaranteed } from "#utils/db";
import {
type GameGroup,
GetGPTString,
type integer,
type Playtype,
} from "../../../../../../common/src";
import { CreatePBDoc, type PBScoreDocumentNoRank, UpdateChartRanking } from "./create-pb-doc";
/**
@@ -1,8 +1,8 @@
import CreateLogCtx from "#lib/logger/logger";
import ResetDBState from "#test-utils/resets";
import { GITADORA_COLOURS, type UserGameStats } from "../../../../../../common/src";
import t from "tap";
import { GITADORA_COLOURS, type UserGameStats } from "../../../../../../common/src";
import { CalculateUGPTClasses, ProcessClassDeltas } from "./classes";
const logger = CreateLogCtx(__filename);
@@ -4,6 +4,9 @@ import db from "#external/mongo/db";
import { EmitWebhookEvent } from "#lib/webhooks/webhooks";
import { ReturnClassIfGreater } from "#utils/class";
import deepmerge from "deepmerge";
import type { ClassProvider } from "../calculated-data/types";
import {
type AnyClasses,
type ClassDelta,
@@ -17,9 +20,6 @@ import {
type Playtype,
type UserGameStats,
} from "../../../../../../common/src";
import type { ClassProvider } from "../calculated-data/types";
import { CalculateDerivedClasses } from "../calculated-data/profile-classes";
/**
@@ -1,5 +1,10 @@
import type { KtLogger } from "#lib/logger/logger";
import type { BulkWriteUpdateOneOperation } from "mongodb";
import db from "#external/mongo/db";
import { EvaluateQuestProgress } from "#lib/targets/quests";
import { EmitWebhookEvent } from "#lib/webhooks/webhooks";
import type {
GameGroup,
GoalImportInfo,
@@ -10,10 +15,6 @@ import type {
QuestSubscriptionDocument,
} from "../../../../../../common/src";
import db from "#external/mongo/db";
import { EvaluateQuestProgress } from "#lib/targets/quests";
import { EmitWebhookEvent } from "#lib/webhooks/webhooks";
export async function UpdateUsersQuests(
importGoalInfo: Array<GoalImportInfo>,
game: GameGroup,
@@ -1,10 +1,9 @@
import type { ImportDocument, ImportTypes, integer } from "../../../../../common/src";
import { JOB_RETRY_COUNT } from "#lib/constants/tachi";
import CreateLogCtx from "#lib/logger/logger";
import { ServerConfig } from "#lib/setup/config";
import { Sleep } from "#utils/misc";
import type { ImportDocument, ImportTypes, integer } from "../../../../../common/src";
import type { ScoreImportJobData, ScoreImportWorkerReturns } from "../worker/types";
import ScoreImportQueue, { ScoreImportQueueEvents } from "../worker/queue";
@@ -1,8 +1,11 @@
import type { KtLogger } from "#lib/logger/logger";
import type { GPTDerivers } from "#game-implementations/types";
import type { MetricValue } from "../../../../../../common/src/types/metrics";
import type { KtLogger } from "#lib/logger/logger";
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import type { MetricValue } from "../../../../../../common/src/types/metrics";
import type { DryScore, DryScoreData } from "../common/types";
import {
type ChartDocument,
type DerivedMetrics,
@@ -13,9 +16,6 @@ import {
type ScoreData,
type ScoreEnumIndexes,
} from "../../../../../../common/src";
import type { DryScore, DryScoreData } from "../common/types";
import { InternalFailure } from "../common/converter-failures";
/**
@@ -1,5 +1,7 @@
import type { KtLogger } from "#lib/logger/logger";
import type { DryScore } from "../common/types";
import {
type ChartDocument,
GetGPTString,
@@ -7,9 +9,6 @@ import {
type ScoreDocument,
type SongDocument,
} from "../../../../../../common/src";
import type { DryScore } from "../common/types";
import { CreateScoreCalcData } from "../calculated-data/score";
import { CreateFullScoreData } from "./derivers";
@@ -1,9 +1,9 @@
import type { ScoreDocument } from "../../../../../../common/src";
import db from "#external/mongo/db";
import ResetDBState from "#test-utils/resets";
import t from "tap";
import type { ScoreDocument } from "../../../../../../common/src";
import { InsertQueue, QueueScoreInsert } from "./insert-score";
// these two get the same tests, because they're too closely linked
@@ -1,8 +1,8 @@
import type { integer, ScoreDocument } from "../../../../../../common/src";
import db from "#external/mongo/db";
import CreateLogCtx from "#lib/logger/logger";
import type { integer, ScoreDocument } from "../../../../../../common/src";
const logger = CreateLogCtx(__filename);
const MAX_PIPELINE_LENGTH = 500;
@@ -2,6 +2,9 @@ import type { KtLogger } from "#lib/logger/logger";
import db from "#external/mongo/db";
import fjsh from "fast-json-stable-hash";
import type { DryScore } from "../common/types";
import {
GetGPTConfig,
type GPTString,
@@ -10,8 +13,6 @@ import {
type ProvidedMetrics,
} from "../../../../../../common/src";
import type { DryScore } from "../common/types";
/**
* Creates an identifier for this score.
* This is used to deduplicate repeated scores.
@@ -4,6 +4,11 @@ import type { ScoreImportJob } from "#lib/score-import/worker/types";
import db from "#external/mongo/db";
import { GetMillisecondsSince } from "#utils/misc";
import { GetUserWithID } from "#utils/user";
import type { ConverterFunction, ImportInputParser } from "../../import-types/common/types";
import type { ClassProvider } from "../calculated-data/types";
import type { ChartIDPlaytypeMap, ScorePlaytypeMap } from "../common/types";
import {
type GameGroup,
GetGameGroupConfig,
@@ -15,11 +20,6 @@ import {
type Playtype,
type UserDocument,
} from "../../../../../../common/src";
import type { ConverterFunction, ImportInputParser } from "../../import-types/common/types";
import type { ClassProvider } from "../calculated-data/types";
import type { ChartIDPlaytypeMap, ScorePlaytypeMap } from "../common/types";
import { Converters } from "../../import-types/converters";
import { InternalFailure } from "../common/converter-failures";
import { CreateScoreLogger } from "../common/import-logger";
@@ -3,6 +3,10 @@ import type { ScoreImportJob } from "#lib/score-import/worker/types";
import db from "#external/mongo/db";
import { AppendLogCtx, type KtLogger } from "#lib/logger/logger";
import { ClassToObject } from "#utils/misc";
import type { ConverterFnSuccessReturn, ConverterFunction } from "../../import-types/common/types";
import type { DryScore } from "../common/types";
import {
type ChartDocument,
type GameGroup,
@@ -13,10 +17,6 @@ import {
type ScoreDocument,
type SongDocument,
} from "../../../../../../common/src";
import type { ConverterFnSuccessReturn, ConverterFunction } from "../../import-types/common/types";
import type { DryScore } from "../common/types";
import {
type AmbiguousTitleFailure,
type ConverterFailure,
@@ -1,8 +1,9 @@
import type { ConfScoreMetric } from "../../../../../../common/src/types/metrics";
import { ONE_HOUR } from "#lib/constants/time";
import { GPT_SERVER_IMPLEMENTATIONS } from "#game-implementations/game-implementations";
import { RunValidators } from "#game-implementations/games/_common";
import { ONE_HOUR } from "#lib/constants/time";
import type { ConfScoreMetric } from "../../../../../../common/src/types/metrics";
import {
type ChartDocument,
GetGPTConfig,
@@ -10,7 +11,6 @@ import {
type GPTString,
type ScoreDocument,
} from "../../../../../../common/src";
import { InvalidScoreFailure } from "../common/converter-failures";
/**
@@ -1,11 +1,11 @@
import type { ScoreDocument, SessionDocument, UserDocument } from "../../../../../../common/src";
import db from "#external/mongo/db";
import ResetDBState from "#test-utils/resets";
import { TestingIIDXSPScore, TestingIIDXSPScorePB } from "#test-utils/test-data";
import deepmerge from "deepmerge";
import t from "tap";
import type { ScoreDocument, SessionDocument, UserDocument } from "../../../../../../common/src";
import { CreateScoreLogger } from "../common/import-logger";
import { CreateSessions, LoadScoresIntoSessions } from "./sessions";
@@ -4,6 +4,9 @@ import CreateLogCtx, { AppendLogCtx, type KtLogger } from "#lib/logger/logger";
import { GetChartForIDGuaranteed } from "#utils/db";
import { GetScoresFromSession } from "#utils/session";
import crypto from "crypto";
import type { ScorePlaytypeMap } from "../common/types";
import {
type GameGroup,
GetGamePTConfig,
@@ -17,9 +20,6 @@ import {
type SessionInfoReturn,
type SessionScoreInfo,
} from "../../../../../../common/src";
import type { ScorePlaytypeMap } from "../common/types";
import { CreateSessionCalcData } from "../calculated-data/session";
import { CreatePBDoc, type PBScoreDocumentNoRank } from "../pb/create-pb-doc";
import { GenerateRandomSessionName } from "./name-generation";
@@ -1,11 +1,11 @@
import type { ScoreImportJobData } from "#lib/score-import/worker/types";
import type { ImportTypes } from "../../../../../../common/src";
import db from "#external/mongo/db";
import { CDNStoreOrOverwrite } from "#lib/cdn/cdn";
import { GetScoreImportInputURL } from "#lib/cdn/url-format";
import CreateLogCtx from "#lib/logger/logger";
import type { ImportTypes } from "../../../../../../common/src";
import type ScoreImportFatalError from "../score-importing/score-import-error";
const logger = CreateLogCtx(__filename);
@@ -1,4 +1,8 @@
import type { KtLogger } from "#lib/logger/logger";
import db from "#external/mongo/db";
import { CreateGameSettings } from "#lib/game-settings/create-game-settings";
import type {
ClassDelta,
GameGroup,
@@ -6,10 +10,6 @@ import type {
Playtype,
UserGameStats,
} from "../../../../../../common/src";
import db from "#external/mongo/db";
import { CreateGameSettings } from "#lib/game-settings/create-game-settings";
import type { ClassProvider } from "../calculated-data/types";
import { CalculateProfileRatings } from "../calculated-data/profile";
@@ -1,8 +1,9 @@
import type { KtLogger } from "#lib/logger/logger";
import type { integer } from "../../../../../../../common/src";
import { GetKaiAuthGuaranteed } from "#utils/queries/auth";
import type { integer } from "../../../../../../../common/src";
import { ParseKaiIIDX } from "../../common/api-kai/iidx/parser";
export async function ParseEagIIDX(userID: integer, logger: KtLogger) {
@@ -1,8 +1,9 @@
import type { KtLogger } from "#lib/logger/logger";
import type { integer } from "../../../../../../../common/src";
import { GetKaiAuthGuaranteed } from "#utils/queries/auth";
import type { integer } from "../../../../../../../common/src";
import { ParseKaiSDVX } from "../../common/api-kai/sdvx/parser";
export async function ParseEagSDVX(userID: integer, logger: KtLogger) {
@@ -1,8 +1,9 @@
import type { KtLogger } from "#lib/logger/logger";
import type { integer } from "../../../../../../../common/src";
import { GetKaiAuthGuaranteed } from "#utils/queries/auth";
import type { integer } from "../../../../../../../common/src";
import { ParseKaiIIDX } from "../../common/api-kai/iidx/parser";
export async function ParseFloIIDX(userID: integer, logger: KtLogger) {
@@ -1,8 +1,9 @@
import type { KtLogger } from "#lib/logger/logger";
import type { integer } from "../../../../../../../common/src";
import { GetKaiAuthGuaranteed } from "#utils/queries/auth";
import type { integer } from "../../../../../../../common/src";
import { ParseKaiSDVX } from "../../common/api-kai/sdvx/parser";
export async function ParseFloSDVX(userID: integer, logger: KtLogger) {
@@ -1,8 +1,5 @@
import CreateLogCtx from "#lib/logger/logger";
import { ParseDateFromString } from "#lib/score-import/framework/common/score-utils";
import { dmf } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingChunithmChartConverter, TestingChunithmSongConverter } from "#test-utils/test-data";
import {
ChunithmClearStatus,
ChunithmComboStatus,
@@ -10,6 +7,9 @@ import {
ChunithmLevel,
ChunithmScoreRank,
} from "#proto/generated/chunithm/common_pb";
import { dmf } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingChunithmChartConverter, TestingChunithmSongConverter } from "#test-utils/test-data";
import t from "tap";
import type { MytChunithmScore } from "./types";
@@ -8,13 +8,13 @@ import {
SongOrChartNotFoundFailure,
} from "#lib/score-import/framework/common/converter-failures";
import { ParseDateFromString } from "#lib/score-import/framework/common/score-utils";
import { FindChartOnInGameID } from "#utils/queries/charts";
import { FindSongOnID } from "#utils/queries/songs";
import {
ChunithmClearStatus,
ChunithmComboStatus,
ChunithmLevel,
} from "#proto/generated/chunithm/common_pb";
import { FindChartOnInGameID } from "#utils/queries/charts";
import { FindSongOnID } from "#utils/queries/songs";
import type { ConverterFunction } from "../../common/types";
import type { MytChunithmScore } from "./types";
@@ -1,12 +1,12 @@
import type { KtLogger } from "#lib/logger/logger";
import type { EmptyObject } from "#utils/types";
import type { integer } from "../../../../../../../common/src";
import ScoreImportFatalError from "#lib/score-import/framework/score-importing/score-import-error";
import { credentials } from "@grpc/grpc-js";
import { ChunithmUserClient } from "#proto/generated/chunithm/user_grpc_pb";
import { GetPlaylogRequest, type GetPlaylogStreamItem } from "#proto/generated/chunithm/user_pb";
import { credentials } from "@grpc/grpc-js";
import type { integer } from "../../../../../../../common/src";
import type { ParserFunctionReturns } from "../../common/types";
import type { MytChunithmScore } from "./types";
@@ -1,14 +1,14 @@
import CreateLogCtx from "#lib/logger/logger";
import { ParseDateFromString } from "#lib/score-import/framework/common/score-utils";
import { dmf } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingMaimaiDXChartConverter, TestingMaimaiDXSongConverter } from "#test-utils/test-data";
import {
MaimaiComboStatus,
MaimaiLevel,
MaimaiScoreRank,
MaimaiSyncStatus,
} from "#proto/generated/maimai/common_pb";
import { dmf } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingMaimaiDXChartConverter, TestingMaimaiDXSongConverter } from "#test-utils/test-data";
import t from "tap";
import type { MytMaimaiDxScore } from "./types";
@@ -1,6 +1,5 @@
import type { DryScore } from "#lib/score-import/framework/common/types";
import type { EmptyObject } from "#utils/types";
import type { ScoreData } from "../../../../../../../common/src";
import {
InternalFailure,
@@ -9,10 +8,11 @@ import {
SongOrChartNotFoundFailure,
} from "#lib/score-import/framework/common/converter-failures";
import { ParseDateFromString } from "#lib/score-import/framework/common/score-utils";
import { MaimaiComboStatus, MaimaiLevel } from "#proto/generated/maimai/common_pb";
import { FindChartOnInGameID } from "#utils/queries/charts";
import { FindSongOnID } from "#utils/queries/songs";
import { MaimaiComboStatus, MaimaiLevel } from "#proto/generated/maimai/common_pb";
import type { ScoreData } from "../../../../../../../common/src";
import type { ConverterFunction } from "../../common/types";
import type { MytMaimaiDxScore } from "./types";
@@ -1,12 +1,12 @@
import type { KtLogger } from "#lib/logger/logger";
import type { EmptyObject } from "#utils/types";
import type { integer } from "../../../../../../../common/src";
import ScoreImportFatalError from "#lib/score-import/framework/score-importing/score-import-error";
import { credentials } from "@grpc/grpc-js";
import { MaimaiUserClient } from "#proto/generated/maimai/user_grpc_pb";
import { GetPlaylogRequest, type GetPlaylogStreamItem } from "#proto/generated/maimai/user_pb";
import { credentials } from "@grpc/grpc-js";
import type { integer } from "../../../../../../../common/src";
import type { ParserFunctionReturns } from "../../common/types";
import type { MytMaimaiDxScore } from "./types";
@@ -1,8 +1,5 @@
import CreateLogCtx from "#lib/logger/logger";
import { ParseDateFromString } from "#lib/score-import/framework/common/score-utils";
import { dmf } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingOngekiChartConverter, TestingOngekiSongConverter } from "#test-utils/test-data";
import {
OngekiBattleScoreRank,
OngekiClearStatus,
@@ -10,6 +7,9 @@ import {
OngekiLevel,
OngekiTechScoreRank,
} from "#proto/generated/ongeki/common_pb";
import { dmf } from "#test-utils/misc";
import ResetDBState from "#test-utils/resets";
import { TestingOngekiChartConverter, TestingOngekiSongConverter } from "#test-utils/test-data";
import t from "tap";
import type { MytOngekiScore } from "./types";

Some files were not shown because too many files have changed in this diff Show More