From 99e342de8ec9da5fd728fcfcc6c94fb1fa7af807 Mon Sep 17 00:00:00 2001 From: zkldi Date: Thu, 22 Apr 2021 15:58:03 +0100 Subject: [PATCH] port songs-iidx --- .../__KT_DATABASE_MIGRATION/songs-iidx.ts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 server/src/scripts/__KT_DATABASE_MIGRATION/songs-iidx.ts diff --git a/server/src/scripts/__KT_DATABASE_MIGRATION/songs-iidx.ts b/server/src/scripts/__KT_DATABASE_MIGRATION/songs-iidx.ts new file mode 100644 index 000000000..5b34d533a --- /dev/null +++ b/server/src/scripts/__KT_DATABASE_MIGRATION/songs-iidx.ts @@ -0,0 +1,37 @@ +import { SongDocument } from "kamaitachi-common"; +import { gameOrders } from "kamaitachi-common/js/config"; +import db from "../../db/db"; +import { rootLogger } from "../../logger"; +import MigrateRecords from "./migrate"; + +function ConvertFn(c: any): SongDocument<"iidx"> { + const newSongDoc: SongDocument<"iidx"> = { + title: c.title, + artist: c.artist, + id: c.id, + isRemoved: false, // NOT REALLY + "alt-titles": c["alt-titles"], + "search-titles": c["search-titles"], + version: [], // sentinel + data: { + genre: c.genre, + }, + }; + + let idx = gameOrders.iidx.indexOf(c.firstAppearance); + + if (idx === -1) { + rootLogger.warn(`Invalid firstAppearance of ${c.firstAppearance}, running anyway.`); + newSongDoc.version = [c.firstAppearance]; + } else { + newSongDoc.version = gameOrders.iidx.slice(idx); + } + + return newSongDoc; +} + +(async () => { + await MigrateRecords(db.songs.iidx, "songs-iidx", ConvertFn); + + process.exit(0); +})();