diff --git a/server/src/external/mongo/db.ts b/server/src/external/mongo/db.ts index 4826ef2b2..de5143787 100644 --- a/server/src/external/mongo/db.ts +++ b/server/src/external/mongo/db.ts @@ -6,9 +6,10 @@ import { ONE_MINUTE } from "lib/constants/time"; import CreateLogCtx from "lib/logger/logger"; import { Environment, ServerConfig } from "lib/setup/config"; import monk from "monk"; +import { allSupportedGames } from "tachi-common/js/config/static-config"; import { GetMillisecondsSince } from "utils/misc"; import type { OrphanScoreDocument } from "lib/score-import/import-types/common/types"; -import type { TMiddleware } from "monk"; +import type { TMiddleware, ICollection } from "monk"; import type { APITokenDocument, ARCSavedProfileDocument, @@ -118,37 +119,15 @@ export async function CloseMongoConnection() { await monkDB.close(); } -const songs = { - bms: monkDB.get("songs-bms"), - chunithm: monkDB.get("songs-chunithm"), - ddr: monkDB.get("songs-ddr"), - gitadora: monkDB.get("songs-gitadora"), - iidx: monkDB.get("songs-iidx"), - jubeat: monkDB.get("songs-jubeat"), - maimai: monkDB.get("songs-maimai"), - museca: monkDB.get("songs-museca"), - popn: monkDB.get("songs-popn"), - sdvx: monkDB.get("songs-sdvx"), - usc: monkDB.get("songs-usc"), - wacca: monkDB.get("songs-wacca"), - pms: monkDB.get("songs-pms"), -}; +// Typescript incorrectly casts this into songs[string] => songdocument, +// Force cast it out. +const songs = Object.fromEntries( + allSupportedGames.map((e) => [e, monkDB.get(`songs-${e}`)]) +) as unknown as Record>; -const charts = { - bms: monkDB.get("charts-bms"), - chunithm: monkDB.get("charts-chunithm"), - ddr: monkDB.get("charts-ddr"), - gitadora: monkDB.get("charts-gitadora"), - iidx: monkDB.get("charts-iidx"), - jubeat: monkDB.get("charts-jubeat"), - maimai: monkDB.get("charts-maimai"), - museca: monkDB.get("charts-museca"), - popn: monkDB.get("charts-popn"), - sdvx: monkDB.get("charts-sdvx"), - usc: monkDB.get("charts-usc"), - wacca: monkDB.get("charts-wacca"), - pms: monkDB.get("charts-pms"), -}; +const charts = Object.fromEntries( + allSupportedGames.map((e) => [e, monkDB.get(`charts-${e}`)]) +) as unknown as Record>; const db = { // i have to handwrite this out for TS... :(