]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/middlewares/validators/sort.js
Server: implement video views
[github/Chocobozzz/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 }