feat: track bestExScore in PBs

This commit is contained in:
zkldi
2022-08-17 19:53:49 +01:00
parent c3d888b84d
commit eccab72f56
@@ -1,3 +1,4 @@
/* eslint-disable require-atomic-updates */
import { InternalFailure } from "../common/converter-failures";
import db from "external/mongo/db";
import { Volforce } from "rg-stats";
@@ -139,5 +140,26 @@ export async function SDVXMergeFn(
chart.levelNum
);
// find the users score with the highest exScore
const bestExScore = (await db.scores.findOne(
{
chartID: pbDoc.chartID,
"scoreData.hitMeta.exScore": { $type: "number" },
},
{
sort: {
"scoreData.hitMeta.exScore": -1,
},
}
)) as ScoreDocument<"sdvx:Single"> | null;
if (!bestExScore) {
pbDoc.scoreData.hitMeta.exScore = undefined;
} else {
pbDoc.scoreData.hitMeta.exScore = bestExScore.scoreData.hitMeta.exScore;
pbDoc.composedFrom.other = [{ name: "exScorePB", scoreID: bestExScore.scoreID }];
}
return true;
}