3 const checkErrors
= require('./utils').checkErrors
4 const constants
= require('../../initializers/constants')
5 const logger
= require('../../helpers/logger')
7 const validatorsSort
= {
13 // Initialize constants here for better performances
14 const SORTABLE_USERS_COLUMNS
= createSortableColumns(constants
.SORTABLE_COLUMNS
.USERS
)
15 const SORTABLE_VIDEO_ABUSES_COLUMNS
= createSortableColumns(constants
.SORTABLE_COLUMNS
.VIDEO_ABUSES
)
16 const SORTABLE_VIDEOS_COLUMNS
= createSortableColumns(constants
.SORTABLE_COLUMNS
.VIDEOS
)
18 function usersSort (req
, res
, next
) {
19 checkSort(req
, res
, next
, SORTABLE_USERS_COLUMNS
)
22 function videoAbusesSort (req
, res
, next
) {
23 checkSort(req
, res
, next
, SORTABLE_VIDEO_ABUSES_COLUMNS
)
26 function videosSort (req
, res
, next
) {
27 checkSort(req
, res
, next
, SORTABLE_VIDEOS_COLUMNS
)
30 // ---------------------------------------------------------------------------
32 module
.exports
= validatorsSort
34 // ---------------------------------------------------------------------------
36 function checkSort (req
, res
, next
, sortableColumns
) {
37 req
.checkQuery('sort', 'Should have correct sortable column').optional().isIn(sortableColumns
)
39 logger
.debug('Checking sort parameters', { parameters: req
.query
})
41 checkErrors(req
, res
, next
)
44 function createSortableColumns (sortableColumns
) {
45 const sortableColumnDesc
= sortableColumns
.map(sortableColumn
=> '-' + sortableColumn
)
47 return sortableColumns
.concat(sortableColumnDesc
)