aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-02-26 19:26:57 +0100
committerChocobozzz <florian.bigard@gmail.com>2017-02-26 20:01:26 +0100
commit9c2c18f3ab2cf18aeb1eb38da48f0ba553f5d9be (patch)
tree53fb76d0be4224f7af9d0379cfb43f91cf3ddb6e
parente4c87ec26962e359d1c70b03ed188a3f19d6a25b (diff)
downloadPeerTube-9c2c18f3ab2cf18aeb1eb38da48f0ba553f5d9be.tar.gz
PeerTube-9c2c18f3ab2cf18aeb1eb38da48f0ba553f5d9be.tar.zst
PeerTube-9c2c18f3ab2cf18aeb1eb38da48f0ba553f5d9be.zip
Server: little sort refractoring
-rw-r--r--server/initializers/constants.js6
-rw-r--r--server/middlewares/validators/sort.js23
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
24const SORTABLE_COLUMNS = { 24const 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
30const OAUTH_LIFETIME = { 30const 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
13function usersSort (req, res, next) { 13// Initialize constants here for better performances
14 const sortableColumns = constants.SORTABLE_COLUMNS.USERS 14const SORTABLE_USERS_COLUMNS = createSortableColumns(constants.SORTABLE_COLUMNS.USERS)
15const SORTABLE_VIDEO_ABUSES_COLUMNS = createSortableColumns(constants.SORTABLE_COLUMNS.VIDEO_ABUSES)
16const SORTABLE_VIDEOS_COLUMNS = createSortableColumns(constants.SORTABLE_COLUMNS.VIDEOS)
15 17
16 checkSort(req, res, next, sortableColumns) 18function usersSort (req, res, next) {
19 checkSort(req, res, next, SORTABLE_USERS_COLUMNS)
17} 20}
18 21
19function videoAbusesSort (req, res, next) { 22function 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
25function videosSort (req, res, next) { 26function 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
44function createSortableColumns (sortableColumns) {
45 const sortableColumnDesc = sortableColumns.map(sortableColumn => '-' + sortableColumn)
46
47 return sortableColumns.concat(sortableColumnDesc)
48}