X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Flogs.ts;h=901d8ca64f684032b7be6ba3de65b12419d01c9d;hb=5037e0e474044d7fc04092158784395a001e5c25;hp=7380c6edde6a174fb7fdf1656e8b86a686f25d9a;hpb=fd8710b897a67518d3a61c319e54b6a65ba443ef;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/logs.ts b/server/middlewares/validators/logs.ts index 7380c6edd..901d8ca64 100644 --- a/server/middlewares/validators/logs.ts +++ b/server/middlewares/validators/logs.ts @@ -1,19 +1,24 @@ -import * as express from 'express' -import { logger } from '../../helpers/logger' -import { areValidationErrors } from './utils' -import { isDateValid } from '../../helpers/custom-validators/misc' -import { query } from 'express-validator/check' +import express from 'express' +import { query } from 'express-validator' +import { isStringArray } from '@server/helpers/custom-validators/search' import { isValidLogLevel } from '../../helpers/custom-validators/logs' +import { isDateValid, toArray } from '../../helpers/custom-validators/misc' +import { logger } from '../../helpers/logger' +import { areValidationErrors } from './shared' const getLogsValidator = [ query('startDate') - .custom(isDateValid).withMessage('Should have a valid start date'), + .custom(isDateValid).withMessage('Should have a start date that conforms to ISO 8601'), query('level') .optional() .custom(isValidLogLevel).withMessage('Should have a valid level'), + query('tagsOneOf') + .optional() + .customSanitizer(toArray) + .custom(isStringArray).withMessage('Should have a valid one of tags array'), query('endDate') .optional() - .custom(isDateValid).withMessage('Should have a valid end date'), + .custom(isDateValid).withMessage('Should have an end date that conforms to ISO 8601'), (req: express.Request, res: express.Response, next: express.NextFunction) => { logger.debug('Checking getLogsValidator parameters.', { parameters: req.query }) @@ -24,8 +29,25 @@ const getLogsValidator = [ } ] +const getAuditLogsValidator = [ + query('startDate') + .custom(isDateValid).withMessage('Should have a start date that conforms to ISO 8601'), + query('endDate') + .optional() + .custom(isDateValid).withMessage('Should have a end date that conforms to ISO 8601'), + + (req: express.Request, res: express.Response, next: express.NextFunction) => { + logger.debug('Checking getAuditLogsValidator parameters.', { parameters: req.query }) + + if (areValidationErrors(req, res)) return + + return next() + } +] + // --------------------------------------------------------------------------- export { - getLogsValidator + getLogsValidator, + getAuditLogsValidator }