From 178b6ae83d3c6caf17d48b231d9075d4e960a938 Mon Sep 17 00:00:00 2001 From: Miodec Date: Tue, 24 Jan 2023 13:15:16 +0100 Subject: [PATCH] schema update --- backend/src/api/schemas/result-schema.ts | 32 +++++++++++++----------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/backend/src/api/schemas/result-schema.ts b/backend/src/api/schemas/result-schema.ts index de062685e..5158a5099 100644 --- a/backend/src/api/schemas/result-schema.ts +++ b/backend/src/api/schemas/result-schema.ts @@ -7,19 +7,19 @@ const RESULT_SCHEMA = joi bailedOut: joi.boolean().required(), blindMode: joi.boolean().required(), challenge: joi.string(), - charStats: joi.array().items(joi.number()).required(), + charStats: joi.array().items(joi.number().min(0)).required(), chartData: joi .alternatives() .try( joi.object({ - wpm: joi.array().items(joi.number()).required(), - raw: joi.array().items(joi.number()).required(), - err: joi.array().items(joi.number()).required(), + wpm: joi.array().items(joi.number().min(0)).required(), + raw: joi.array().items(joi.number().min(0)).required(), + err: joi.array().items(joi.number().min(0)).required(), }), joi.string().valid("toolong") ) .required(), - consistency: joi.number().max(100).required(), + consistency: joi.number().min(0).max(100).required(), customText: joi.object({ textLen: joi.number().required(), isWordRandom: joi.boolean().required(), @@ -30,15 +30,17 @@ const RESULT_SCHEMA = joi difficulty: joi.string().valid("normal", "expert", "master").required(), funbox: joi.string().required(), hash: joi.string().required(), - incompleteTestSeconds: joi.number().required(), - incompleteTests: joi.array().items( - joi.object({ - acc: joi.number().min(0).max(100).required(), - seconds: joi.number().min(0).required(), - }) - ), - // .required(), //add required after a few days - keyConsistency: joi.number().required(), + incompleteTestSeconds: joi.number().min(0).required(), + incompleteTests: joi + .array() + .items( + joi.object({ + acc: joi.number().min(0).max(100).required(), + seconds: joi.number().min(0).required(), + }) + ) + .required(), + keyConsistency: joi.number().min(0).required(), keyDuration: joi .alternatives() .try(joi.array().items(joi.number()), joi.string().valid("toolong")), @@ -65,7 +67,7 @@ const RESULT_SCHEMA = joi timestamp: joi.date().timestamp().required(), uid: joi.string().required(), wpm: joi.number().min(0).max(350).required(), - wpmConsistency: joi.number().required(), + wpmConsistency: joi.number().min(0).required(), }) .required();