From 4c74d33786a3679462f6c7e374e3223b592b5eb3 Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 23 Aug 2023 00:00:53 +0200 Subject: [PATCH] fix(server): incorrect return type for all time lb rank --- backend/src/dal/leaderboards.ts | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/backend/src/dal/leaderboards.ts b/backend/src/dal/leaderboards.ts index e32b3ac7e..85c2ea67c 100644 --- a/backend/src/dal/leaderboards.ts +++ b/backend/src/dal/leaderboards.ts @@ -27,8 +27,10 @@ export async function get( return preset; } -interface RankReturn extends MonkeyTypes.LeaderboardEntry { - count?: number; +interface GetRankResponse { + count: number; + rank: number | null; + entry: MonkeyTypes.LeaderboardEntry | null; } export async function getRank( @@ -36,19 +38,22 @@ export async function getRank( mode2: string, language: string, uid: string -): Promise { +): Promise { if (leaderboardUpdating[`${language}_${mode}_${mode2}`]) return false; - const res: RankReturn | null = await db + const entry = await db .collection( `leaderboards.${language}.${mode}.${mode2}` ) .findOne({ uid }); - if (res) { - res.count = await db - .collection(`leaderboards.${language}.${mode}.${mode2}`) - .estimatedDocumentCount(); - return res; - } + const count = await db + .collection(`leaderboards.${language}.${mode}.${mode2}`) + .estimatedDocumentCount(); + + return { + count, + rank: entry ? entry.rank : null, + entry, + }; } export async function update(