X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fshared%2Futils.ts;h=104eace912aed746b1d7c0054e86fc0228d75a89;hb=3318147300b4f998adf728eb0a5a14a4c1829c51;hp=d3e4870a92eba9dc1dc912291151a1a69db48b47;hpb=10363c74c1d869f0e0c7bc4d0367b1f34d1bb6a4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/shared/utils.ts b/server/middlewares/validators/shared/utils.ts index d3e4870a9..104eace91 100644 --- a/server/middlewares/validators/shared/utils.ts +++ b/server/middlewares/validators/shared/utils.ts @@ -1,5 +1,6 @@ -import * as express from 'express' -import { query, validationResult } from 'express-validator' +import express from 'express' +import { param, validationResult } from 'express-validator' +import { isIdOrUUIDValid, toCompleteUUID } from '@server/helpers/custom-validators/misc' import { logger } from '../../../helpers/logger' function areValidationErrors (req: express.Request, res: express.Response) { @@ -21,30 +22,22 @@ function areValidationErrors (req: express.Request, res: express.Response) { return false } -function checkSort (sortableColumns: string[], tags: string[] = []) { - return [ - query('sort').optional().isIn(sortableColumns).withMessage('Should have correct sortable column'), - - (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking sort parameters', { parameters: req.query, tags }) - - if (areValidationErrors(req, res)) return - - return next() - } - ] +function isValidVideoIdParam (paramName: string) { + return param(paramName) + .customSanitizer(toCompleteUUID) + .custom(isIdOrUUIDValid).withMessage('Should have a valid video id') } -function createSortableColumns (sortableColumns: string[]) { - const sortableColumnDesc = sortableColumns.map(sortableColumn => '-' + sortableColumn) - - return sortableColumns.concat(sortableColumnDesc) +function isValidPlaylistIdParam (paramName: string) { + return param(paramName) + .customSanitizer(toCompleteUUID) + .custom(isIdOrUUIDValid).withMessage('Should have a valid playlist id') } // --------------------------------------------------------------------------- export { areValidationErrors, - checkSort, - createSortableColumns + isValidVideoIdParam, + isValidPlaylistIdParam }