]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/middlewares/validators/pagination.ts
Bumped to version v5.2.1
[github/Chocobozzz/PeerTube.git] / server / middlewares / validators / pagination.ts
... / ...
CommitLineData
1import express from 'express'
2import { query } from 'express-validator'
3import { PAGINATION } from '@server/initializers/constants'
4import { areValidationErrors } from './shared'
5
6const paginationValidator = paginationValidatorBuilder()
7
8function paginationValidatorBuilder (tags: string[] = []) {
9 return [
10 query('start')
11 .optional()
12 .isInt({ min: 0 }),
13 query('count')
14 .optional()
15 .isInt({ min: 0, max: PAGINATION.GLOBAL.COUNT.MAX }).withMessage(`Should have a number count (max: ${PAGINATION.GLOBAL.COUNT.MAX})`),
16
17 (req: express.Request, res: express.Response, next: express.NextFunction) => {
18 if (areValidationErrors(req, res, { tags })) return
19
20 return next()
21 }
22 ]
23}
24
25// ---------------------------------------------------------------------------
26
27export {
28 paginationValidator,
29 paginationValidatorBuilder
30}