Add email to users
[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   videoAbusesSort,
10   videosSort
11 }
12
13 function usersSort (req, res, next) {
14   const sortableColumns = constants.SORTABLE_COLUMNS.USERS
15
16   checkSort(req, res, next, sortableColumns)
17 }
18
19 function videoAbusesSort (req, res, next) {
20   const sortableColumns = constants.SORTABLE_COLUMNS.VIDEO_ABUSES
21
22   checkSort(req, res, next, sortableColumns)
23 }
24
25 function videosSort (req, res, next) {
26   const sortableColumns = constants.SORTABLE_COLUMNS.VIDEOS
27
28   checkSort(req, res, next, sortableColumns)
29 }
30
31 // ---------------------------------------------------------------------------
32
33 module.exports = validatorsSort
34
35 // ---------------------------------------------------------------------------
36
37 function checkSort (req, res, next, sortableColumns) {
38   req.checkQuery('sort', 'Should have correct sortable column').optional().isIn(sortableColumns)
39
40   logger.debug('Checking sort parameters', { parameters: req.query })
41
42   checkErrors(req, res, next)
43 }