From 6a039e8329afa5e96fd7e4a70135c89ea3998cd5 Mon Sep 17 00:00:00 2001 From: zkldi <20380519+zkldi@users.noreply.github.com> Date: Mon, 10 Jan 2022 10:12:42 +0000 Subject: [PATCH] Fixes #589 - Make UpdateClass util also set a recentAchievement. --- .../src/server/router/ir/fervidex/router.test.ts | 15 +++++++++++++++ server/src/utils/class.ts | 10 ++++++++++ 2 files changed, 25 insertions(+) diff --git a/server/src/server/router/ir/fervidex/router.test.ts b/server/src/server/router/ir/fervidex/router.test.ts index f9351d856..8fd54bc05 100644 --- a/server/src/server/router/ir/fervidex/router.test.ts +++ b/server/src/server/router/ir/fervidex/router.test.ts @@ -180,6 +180,21 @@ t.test("POST /ir/fervidex/class/submit", (t) => { t.equal(ugs?.classes.dan, 18); + const recentAchievement = await db["class-achievements"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.hasStrict(recentAchievement, { + userID: 1, + game: "iidx", + playtype: "SP", + classValue: 18, + classSet: "dan", + classOldValue: null, + }); + t.end(); }); diff --git a/server/src/utils/class.ts b/server/src/utils/class.ts index bcbbd9602..f2e00cf21 100644 --- a/server/src/utils/class.ts +++ b/server/src/utils/class.ts @@ -69,6 +69,16 @@ export async function UpdateClassIfGreater( await CreateGameSettings(userID, game, playtype); } + await db["class-achievements"].insert({ + game, + playtype, + userID, + classOldValue: isGreater === null ? null : userGameStats!.classes[classSet]!, + classSet, + classValue: classVal, + timeAchieved: Date.now(), + }); + if (isGreater === null) { EmitWebhookEvent({ type: "class-update/v1",