mirror of
https://github.com/zkldi/Tachi.git
synced 2026-10-08 06:48:04 +03:00
tierlist-core
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import db from "../../../src/db/db";
|
||||
import { TierlistDataDocument } from "kamaitachi-common";
|
||||
import { CalculateTierlistDataID } from "../../../src/core/tierlist-core";
|
||||
import { oldKTDB } from "../old-db";
|
||||
import CreateLogCtx from "../../../src/logger";
|
||||
const logger = CreateLogCtx("museca-tierlist.ts");
|
||||
|
||||
const TIERLIST_ID = "ed45403c2cd93922d8a45b3c5bc352a962a8f115";
|
||||
|
||||
function ConvertFn(c: any) {
|
||||
let tdd: TierlistDataDocument<"Individual Difference"> = {
|
||||
chartID: c.chartID,
|
||||
type: "score",
|
||||
key: null,
|
||||
tierlistDataID: CalculateTierlistDataID(c.chartID, "score", null, TIERLIST_ID),
|
||||
tierlistID: TIERLIST_ID,
|
||||
data: {
|
||||
flags: {
|
||||
"Individual Difference": c.idvDifference === "FALSE",
|
||||
},
|
||||
value: c.tiers["score-tier"],
|
||||
humanised: `☆${c.tiers["score-tier"]}`,
|
||||
},
|
||||
};
|
||||
|
||||
return tdd;
|
||||
}
|
||||
|
||||
(async () => {
|
||||
let exists = await db["tierlist-data"].count({
|
||||
tierlistID: TIERLIST_ID,
|
||||
});
|
||||
|
||||
if (exists > 0) {
|
||||
logger.error(`Cancelling migration request as ${exists} documents already exist.`);
|
||||
return process.exit(1);
|
||||
}
|
||||
|
||||
let docs = await oldKTDB.get("tierlistdata").find({
|
||||
tierlistID: TIERLIST_ID,
|
||||
});
|
||||
|
||||
let newDocs = await Promise.all(docs.map(ConvertFn));
|
||||
|
||||
await db["tierlist-data"].insert(newDocs);
|
||||
})();
|
||||
@@ -47,6 +47,12 @@ const indexes: Partial<Record<ValidDatabases, Index[]>> = {
|
||||
],
|
||||
"game-stats": [index({ userID: 1, game: 1, playtype: 1 }, UNIQUE)],
|
||||
"folder-chart-lookup": [index({ chartID: 1, folderID: 1 }, UNIQUE)],
|
||||
"tierlist-data": [
|
||||
index({ tierlistDataID: 1 }, UNIQUE),
|
||||
index({ chartID: 1, tierlistID: 1 }),
|
||||
index({ chartID: 1, tierlistID: 1, type: 1 }),
|
||||
index({ chartID: 1, tierlistID: 1, type: 1, key: 1 }, UNIQUE),
|
||||
],
|
||||
};
|
||||
|
||||
(async () => {
|
||||
|
||||
Reference in New Issue
Block a user