mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-02-28 08:43:07 +08:00
stricter validation
This commit is contained in:
parent
448c1061b8
commit
1a8f0b8f18
4 changed files with 41 additions and 11 deletions
|
@ -84,7 +84,7 @@ router.delete(
|
|||
checkIfUserCanManageApeKeys,
|
||||
validateRequest({
|
||||
params: {
|
||||
apeKeyId: joi.string().required(),
|
||||
apeKeyId: joi.string().token().required(),
|
||||
},
|
||||
}),
|
||||
asyncHandler(ApeKeyController.deleteApeKey)
|
||||
|
|
|
@ -11,9 +11,19 @@ import {
|
|||
} from "../../middlewares/api-utils";
|
||||
|
||||
const BASE_LEADERBOARD_VALIDATION_SCHEMA = {
|
||||
language: joi.string().required(),
|
||||
mode: joi.string().required(),
|
||||
mode2: joi.string().required(),
|
||||
language: joi
|
||||
.string()
|
||||
.max(50)
|
||||
.pattern(/^[a-zA-Z0-9_+]+$/)
|
||||
.required(),
|
||||
mode: joi
|
||||
.string()
|
||||
.valid("time", "words", "quote", "zen", "custom")
|
||||
.required(),
|
||||
mode2: joi
|
||||
.string()
|
||||
.regex(/^(\d)+|custom|zen/)
|
||||
.required(),
|
||||
};
|
||||
|
||||
const LEADERBOARD_VALIDATION_SCHEMA_WITH_LIMIT = {
|
||||
|
|
|
@ -5,9 +5,19 @@ import { asyncHandler, validateRequest } from "../../middlewares/api-utils";
|
|||
import joi from "joi";
|
||||
|
||||
const GET_MODE_STATS_VALIDATION_SCHEMA = {
|
||||
language: joi.string().required(),
|
||||
mode: joi.string().required(),
|
||||
mode2: joi.string().required(),
|
||||
language: joi
|
||||
.string()
|
||||
.max(50)
|
||||
.pattern(/^[a-zA-Z0-9_+]+$/)
|
||||
.required(),
|
||||
mode: joi
|
||||
.string()
|
||||
.valid("time", "words", "quote", "zen", "custom")
|
||||
.required(),
|
||||
mode2: joi
|
||||
.string()
|
||||
.regex(/^(\d)+|custom|zen/)
|
||||
.required(),
|
||||
};
|
||||
|
||||
const router = Router();
|
||||
|
|
|
@ -181,8 +181,15 @@ router.patch(
|
|||
.string()
|
||||
.valid("time", "words", "quote", "zen", "custom")
|
||||
.required(),
|
||||
mode2: joi.string().required(),
|
||||
language: joi.string().required(),
|
||||
mode2: joi
|
||||
.string()
|
||||
.regex(/^(\d)+|custom|zen/)
|
||||
.required(),
|
||||
language: joi
|
||||
.string()
|
||||
.max(50)
|
||||
.pattern(/^[a-zA-Z0-9_+]+$/)
|
||||
.required(),
|
||||
rank: joi.number().required(),
|
||||
},
|
||||
}),
|
||||
|
@ -413,8 +420,11 @@ router.get(
|
|||
withApeRateLimiter(RateLimit.userGet),
|
||||
validateRequest({
|
||||
query: {
|
||||
mode: joi.string().required(),
|
||||
mode2: joi.string(),
|
||||
mode: joi
|
||||
.string()
|
||||
.valid("time", "words", "quote", "zen", "custom")
|
||||
.required(),
|
||||
mode2: joi.string().regex(/^(\d)+|custom|zen/),
|
||||
},
|
||||
}),
|
||||
asyncHandler(UserController.getPersonalBests)
|
||||
|
|
Loading…
Reference in a new issue