mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-09-18 12:38:42 +08:00
stricted result schema
This commit is contained in:
parent
560308a956
commit
f51a64727e
1 changed files with 13 additions and 16 deletions
|
@ -6,16 +6,16 @@ const RESULT_SCHEMA = joi
|
|||
afkDuration: joi.number().min(0).required(),
|
||||
bailedOut: joi.boolean().required(),
|
||||
blindMode: joi.boolean().required(),
|
||||
challenge: joi.string(),
|
||||
charStats: joi.array().items(joi.number().min(0)).required(),
|
||||
challenge: joi.string().max(100),
|
||||
charStats: joi.array().items(joi.number().min(0)).length(4).required(),
|
||||
charTotal: joi.number().min(0),
|
||||
chartData: joi
|
||||
.alternatives()
|
||||
.try(
|
||||
joi.object({
|
||||
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(),
|
||||
wpm: joi.array().max(122).items(joi.number().min(0)).required(),
|
||||
raw: joi.array().max(122).items(joi.number().min(0)).required(),
|
||||
err: joi.array().max(122).items(joi.number().min(0)).required(),
|
||||
}),
|
||||
joi.string().valid("toolong")
|
||||
)
|
||||
|
@ -29,8 +29,8 @@ const RESULT_SCHEMA = joi
|
|||
time: joi.number().allow(null),
|
||||
}),
|
||||
difficulty: joi.string().valid("normal", "expert", "master").required(),
|
||||
funbox: joi.string().required(),
|
||||
hash: joi.string().required(),
|
||||
funbox: joi.string().max(100).required(),
|
||||
hash: joi.string().max(100).required(),
|
||||
incompleteTestSeconds: joi.number().min(0).required(),
|
||||
incompleteTests: joi
|
||||
.array()
|
||||
|
@ -41,25 +41,23 @@ const RESULT_SCHEMA = joi
|
|||
})
|
||||
)
|
||||
.required(),
|
||||
keyConsistency: joi.number().min(0).required(),
|
||||
keyConsistency: joi.number().min(0).max(100).required(),
|
||||
keyDuration: joi
|
||||
.alternatives()
|
||||
.try(
|
||||
joi.array().items(joi.number().min(0)),
|
||||
joi.array().max(122).items(joi.number().min(0)),
|
||||
joi.string().valid("toolong")
|
||||
),
|
||||
keySpacing: joi
|
||||
.alternatives()
|
||||
.try(
|
||||
joi.array().items(joi.number().min(0)),
|
||||
joi.array().max(122).items(joi.number().min(0)),
|
||||
joi.string().valid("toolong")
|
||||
),
|
||||
keyOverlap: joi.number().min(0),
|
||||
lastKeyToEnd: joi.number().min(0),
|
||||
startToFirstKey: joi.number().min(0),
|
||||
lang: joi.string(),
|
||||
stringified: joi.string(),
|
||||
language: joi.string().required(),
|
||||
language: joi.string().max(100).required(),
|
||||
lazyMode: joi.boolean().required(),
|
||||
mode: joi
|
||||
.string()
|
||||
|
@ -71,16 +69,15 @@ const RESULT_SCHEMA = joi
|
|||
quoteLength: joi.number(),
|
||||
rawWpm: joi.number().min(0).max(420).required(),
|
||||
restartCount: joi.number().required(),
|
||||
smoothConsistency: joi.number().optional(), // to be removed
|
||||
tags: joi
|
||||
.array()
|
||||
.items(joi.string().regex(/^[a-f\d]{24}$/i))
|
||||
.required(),
|
||||
testDuration: joi.number().required().min(1),
|
||||
timestamp: joi.date().timestamp().required(),
|
||||
uid: joi.string().required(),
|
||||
uid: joi.string().max(100).required(),
|
||||
wpm: joi.number().min(0).max(420).required(),
|
||||
wpmConsistency: joi.number().min(0).required(),
|
||||
wpmConsistency: joi.number().min(0).max(100).required(),
|
||||
})
|
||||
.required();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue