From 28953f0ecacd9dd952d6caa21187234fa94b7bdf Mon Sep 17 00:00:00 2001 From: zkldi Date: Thu, 29 Apr 2021 23:16:38 +0100 Subject: [PATCH] fix bugs related to bppb --- .../framework/core/pb/game-specific-merge.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/server/src/score-import/framework/core/pb/game-specific-merge.ts b/server/src/score-import/framework/core/pb/game-specific-merge.ts index 0f3c578be..863087b90 100644 --- a/server/src/score-import/framework/core/pb/game-specific-merge.ts +++ b/server/src/score-import/framework/core/pb/game-specific-merge.ts @@ -7,12 +7,13 @@ export async function IIDXMergeFn( scorePB: ScoreDocument<"iidx:SP" | "iidx:DP">, lampPB: ScoreDocument<"iidx:SP" | "iidx:DP">, logger: KtLogger -) { +): Promise { // bad+poor PB document. This is a weird, third indepdenent metric that IIDX players sometimes care about. let bpPB = (await db.scores.findOne( { userID: scorePB.userID, chartID: scorePB.chartID, + "scoreData.hitMeta.bp": { $exists: true }, }, { sort: { @@ -22,27 +23,28 @@ export async function IIDXMergeFn( )) as ScoreDocument<"iidx:SP" | "iidx:DP">; if (!bpPB) { - logger.warn( - `Could not find BP PB for ${scorePB.userID} ${scorePB.chartID} in PB joining.`, + logger.verbose( + `Could not find BP PB for ${scorePB.userID} ${scorePB.chartID} in PB joining. User likely has no scores with BP defined.`, { pbDoc } ); - return; + // this isn't actually an error! we just don't have to do anything. + return true; } // by default scorePB is chosen for hitMeta fields, so, we can skip any assignments here by returning here. if (bpPB.scoreID === scorePB.scoreID) { logger.debug(`Skipped merging BP PB as scorePB was also BP PB.`); - return; + return true; } else if (bpPB.scoreID === lampPB.scoreID) { pbDoc.scoreData.hitMeta.bp = lampPB.scoreData.hitMeta.bp; // dfgmdfgfgdgf logger.verbose(`Skipped adding BP PB as composedFrom because lampPB was also BP PB.`); - return; + return true; } pbDoc.scoreData.hitMeta.bp = bpPB.scoreData.hitMeta.bp; pbDoc.composedFrom.other = [{ name: "Best BP", scoreID: bpPB.scoreID }]; - return; + return true; }