From aa2466a0d164729ee27f09d1b00a002a70e2a069 Mon Sep 17 00:00:00 2001 From: Miodec Date: Tue, 28 May 2024 17:10:51 +0200 Subject: [PATCH] feat(result): disallow stop on error letter from getting new pbs --- backend/src/api/schemas/result-schema.ts | 1 + backend/src/dal/user.ts | 2 ++ frontend/src/ts/test/test-logic.ts | 1 + 3 files changed, 4 insertions(+) diff --git a/backend/src/api/schemas/result-schema.ts b/backend/src/api/schemas/result-schema.ts index 97bdedfe1..233469922 100644 --- a/backend/src/api/schemas/result-schema.ts +++ b/backend/src/api/schemas/result-schema.ts @@ -91,6 +91,7 @@ const RESULT_SCHEMA = joi uid: joi.string().max(100).token().required(), wpm: joi.number().min(0).max(420).required(), wpmConsistency: joi.number().min(0).max(100).required(), + stopOnLetter: joi.boolean().required(), }) .required(); diff --git a/backend/src/dal/user.ts b/backend/src/dal/user.ts index 1808ba585..688044fa8 100644 --- a/backend/src/dal/user.ts +++ b/backend/src/dal/user.ts @@ -422,6 +422,7 @@ export async function checkIfPb( const { mode } = result; if (!canFunboxGetPb(result)) return false; + if ("stopOnLetter" in result && result.stopOnLetter === true) return false; if (mode === "quote") { return false; @@ -467,6 +468,7 @@ export async function checkIfTagPb( const { mode, tags: resultTags } = result; if (!canFunboxGetPb(result)) return []; + if ("stopOnLetter" in result && result.stopOnLetter === true) return []; if (mode === "quote") { return []; diff --git a/frontend/src/ts/test/test-logic.ts b/frontend/src/ts/test/test-logic.ts index 9c805031a..3bddf45f7 100644 --- a/frontend/src/ts/test/test-logic.ts +++ b/frontend/src/ts/test/test-logic.ts @@ -797,6 +797,7 @@ function buildCompletedEvent( customText: customText, testDuration: duration, afkDuration: afkDuration, + stopOnLetter: Config.stopOnError === "letter", } as SharedTypes.CompletedEvent; if (completedEvent.mode !== "custom") delete completedEvent.customText;