Server: optimization for videoGet and videoRemove
[oweals/peertube.git] / server / middlewares / validators / sort.js
1 'use strict'
2
3 const checkErrors = require('./utils').checkErrors
4 const constants = require('../../initializers/constants')
5 const logger = require('../../helpers/logger')
6
7 const validatorsSort = {
8   usersSort,
9   videosSort
10 }
11
12 function usersSort (req, res, next) {
13   const sortableColumns = constants.SORTABLE_COLUMNS.USERS
14
15   req.checkQuery('sort', 'Should have correct sortable column').optional().isIn(sortableColumns)
16
17   logger.debug('Checking sort parameters', { parameters: req.query })
18
19   checkErrors(req, res, next)
20 }
21
22 function videosSort (req, res, next) {
23   const sortableColumns = constants.SORTABLE_COLUMNS.VIDEOS
24
25   req.checkQuery('sort', 'Should have correct sortable column').optional().isIn(sortableColumns)
26
27   logger.debug('Checking sort parameters', { parameters: req.query })
28
29   checkErrors(req, res, next)
30 }
31
32 // ---------------------------------------------------------------------------
33
34 module.exports = validatorsSort