diff options
-rw-r--r-- | server/initializers/constants.js | 6 | ||||
-rw-r--r-- | server/middlewares/validators/sort.js | 23 |
2 files changed, 17 insertions, 12 deletions
diff --git a/server/initializers/constants.js b/server/initializers/constants.js index b99186e13..e33229163 100644 --- a/server/initializers/constants.js +++ b/server/initializers/constants.js | |||
@@ -22,9 +22,9 @@ const SEARCHABLE_COLUMNS = { | |||
22 | 22 | ||
23 | // Sortable columns per schema | 23 | // Sortable columns per schema |
24 | const SORTABLE_COLUMNS = { | 24 | const SORTABLE_COLUMNS = { |
25 | USERS: [ 'id', '-id', 'username', '-username', 'createdAt', '-createdAt' ], | 25 | USERS: [ 'id', 'username', 'createdAt' ], |
26 | VIDEO_ABUSES: [ 'id', '-id', 'createdAt', '-createdAt' ], | 26 | VIDEO_ABUSES: [ 'id', 'createdAt' ], |
27 | VIDEOS: [ 'name', '-name', 'duration', '-duration', 'createdAt', '-createdAt', 'views', '-views' ] | 27 | VIDEOS: [ 'name', 'duration', 'createdAt', 'views' ] |
28 | } | 28 | } |
29 | 29 | ||
30 | const OAUTH_LIFETIME = { | 30 | const OAUTH_LIFETIME = { |
diff --git a/server/middlewares/validators/sort.js b/server/middlewares/validators/sort.js index b7eec0316..017d266e6 100644 --- a/server/middlewares/validators/sort.js +++ b/server/middlewares/validators/sort.js | |||
@@ -10,22 +10,21 @@ const validatorsSort = { | |||
10 | videosSort | 10 | videosSort |
11 | } | 11 | } |
12 | 12 | ||
13 | function usersSort (req, res, next) { | 13 | // Initialize constants here for better performances |
14 | const sortableColumns = constants.SORTABLE_COLUMNS.USERS | 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) | ||
15 | 17 | ||
16 | checkSort(req, res, next, sortableColumns) | 18 | function usersSort (req, res, next) { |
19 | checkSort(req, res, next, SORTABLE_USERS_COLUMNS) | ||
17 | } | 20 | } |
18 | 21 | ||
19 | function videoAbusesSort (req, res, next) { | 22 | function videoAbusesSort (req, res, next) { |
20 | const sortableColumns = constants.SORTABLE_COLUMNS.VIDEO_ABUSES | 23 | checkSort(req, res, next, SORTABLE_VIDEO_ABUSES_COLUMNS) |
21 | |||
22 | checkSort(req, res, next, sortableColumns) | ||
23 | } | 24 | } |
24 | 25 | ||
25 | function videosSort (req, res, next) { | 26 | function videosSort (req, res, next) { |
26 | const sortableColumns = constants.SORTABLE_COLUMNS.VIDEOS | 27 | checkSort(req, res, next, SORTABLE_VIDEOS_COLUMNS) |
27 | |||
28 | checkSort(req, res, next, sortableColumns) | ||
29 | } | 28 | } |
30 | 29 | ||
31 | // --------------------------------------------------------------------------- | 30 | // --------------------------------------------------------------------------- |
@@ -41,3 +40,9 @@ function checkSort (req, res, next, sortableColumns) { | |||
41 | 40 | ||
42 | checkErrors(req, res, next) | 41 | checkErrors(req, res, next) |
43 | } | 42 | } |
43 | |||
44 | function createSortableColumns (sortableColumns) { | ||
45 | const sortableColumnDesc = sortableColumns.map(sortableColumn => '-' + sortableColumn) | ||
46 | |||
47 | return sortableColumns.concat(sortableColumnDesc) | ||
48 | } | ||