aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/middlewares
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2016-05-22 09:15:00 +0200
committerChocobozzz <florian.bigard@gmail.com>2016-05-22 09:15:00 +0200
commit46246b5f194caafba4e3a72e9365acd8b35785de (patch)
tree943689b44a9e447872cd7dd1c2a70dcc9256b990 /server/middlewares
parent68ce3ae021c9bc11b155044df6d23ba60e91eee4 (diff)
downloadPeerTube-46246b5f194caafba4e3a72e9365acd8b35785de.tar.gz
PeerTube-46246b5f194caafba4e3a72e9365acd8b35785de.tar.zst
PeerTube-46246b5f194caafba4e3a72e9365acd8b35785de.zip
Extends the search feature by customizing the search field (name,
podUrl...)
Diffstat (limited to 'server/middlewares')
-rw-r--r--server/middlewares/index.js2
-rw-r--r--server/middlewares/reqValidators/videos.js4
-rw-r--r--server/middlewares/search.js15
3 files changed, 20 insertions, 1 deletions
diff --git a/server/middlewares/index.js b/server/middlewares/index.js
index 35858da2c..b30a7be56 100644
--- a/server/middlewares/index.js
+++ b/server/middlewares/index.js
@@ -3,6 +3,7 @@
3const oauth2 = require('./oauth2') 3const oauth2 = require('./oauth2')
4const pagination = require('./pagination') 4const pagination = require('./pagination')
5const reqValidatorsMiddleware = require('./reqValidators') 5const reqValidatorsMiddleware = require('./reqValidators')
6const search = require('./search')
6const sort = require('./sort') 7const sort = require('./sort')
7const secureMiddleware = require('./secure') 8const secureMiddleware = require('./secure')
8 9
@@ -10,6 +11,7 @@ const middlewares = {
10 oauth2: oauth2, 11 oauth2: oauth2,
11 pagination: pagination, 12 pagination: pagination,
12 reqValidators: reqValidatorsMiddleware, 13 reqValidators: reqValidatorsMiddleware,
14 search: search,
13 sort: sort, 15 sort: sort,
14 secure: secureMiddleware 16 secure: secureMiddleware
15} 17}
diff --git a/server/middlewares/reqValidators/videos.js b/server/middlewares/reqValidators/videos.js
index d4dec1a59..d444c9f0a 100644
--- a/server/middlewares/reqValidators/videos.js
+++ b/server/middlewares/reqValidators/videos.js
@@ -81,7 +81,9 @@ function videosRemove (req, res, next) {
81} 81}
82 82
83function videosSearch (req, res, next) { 83function videosSearch (req, res, next) {
84 req.checkParams('name', 'Should have a name').notEmpty() 84 const searchableColumns = constants.SEARCHABLE_COLUMNS.VIDEOS
85 req.checkParams('value', 'Should have a name').notEmpty()
86 req.checkQuery('field', 'Should have correct searchable column').optional().isIn(searchableColumns)
85 87
86 logger.debug('Checking videosSearch parameters', { parameters: req.params }) 88 logger.debug('Checking videosSearch parameters', { parameters: req.params })
87 89
diff --git a/server/middlewares/search.js b/server/middlewares/search.js
new file mode 100644
index 000000000..89302a564
--- /dev/null
+++ b/server/middlewares/search.js
@@ -0,0 +1,15 @@
1'use strict'
2
3const searchMiddleware = {
4 setVideosSearch: setVideosSearch
5}
6
7function setVideosSearch (req, res, next) {
8 if (!req.query.field) req.query.field = 'name'
9
10 return next()
11}
12
13// ---------------------------------------------------------------------------
14
15module.exports = searchMiddleware