aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/api/search.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2018-07-20 14:35:18 +0200
committerChocobozzz <me@florianbigard.com>2018-07-24 14:04:05 +0200
commitd525fc399a14a8b16eaad6d4c0bc0a9c4093c3c9 (patch)
tree4305044c4a97bdf1275b241c63cb0e85151cfb6a /server/controllers/api/search.ts
parent57c36b277e68b764dd34cb2e449f6e2ca3d1e9b6 (diff)
downloadPeerTube-d525fc399a14a8b16eaad6d4c0bc0a9c4093c3c9.tar.gz
PeerTube-d525fc399a14a8b16eaad6d4c0bc0a9c4093c3c9.tar.zst
PeerTube-d525fc399a14a8b16eaad6d4c0bc0a9c4093c3c9.zip
Add videos list filters
Diffstat (limited to 'server/controllers/api/search.ts')
-rw-r--r--server/controllers/api/search.ts16
1 files changed, 8 insertions, 8 deletions
diff --git a/server/controllers/api/search.ts b/server/controllers/api/search.ts
index 2ff340b59..f810c7452 100644
--- a/server/controllers/api/search.ts
+++ b/server/controllers/api/search.ts
@@ -1,9 +1,10 @@
1import * as express from 'express' 1import * as express from 'express'
2import { isNSFWHidden } from '../../helpers/express-utils' 2import { buildNSFWFilter } from '../../helpers/express-utils'
3import { getFormattedObjects } from '../../helpers/utils' 3import { getFormattedObjects } from '../../helpers/utils'
4import { VideoModel } from '../../models/video/video' 4import { VideoModel } from '../../models/video/video'
5import { 5import {
6 asyncMiddleware, 6 asyncMiddleware,
7 commonVideosFiltersValidator,
7 optionalAuthenticate, 8 optionalAuthenticate,
8 paginationValidator, 9 paginationValidator,
9 searchValidator, 10 searchValidator,
@@ -11,6 +12,7 @@ import {
11 setDefaultSearchSort, 12 setDefaultSearchSort,
12 videosSearchSortValidator 13 videosSearchSortValidator
13} from '../../middlewares' 14} from '../../middlewares'
15import { VideosSearchQuery } from '../../../shared/models/search'
14 16
15const searchRouter = express.Router() 17const searchRouter = express.Router()
16 18
@@ -20,6 +22,7 @@ searchRouter.get('/videos',
20 videosSearchSortValidator, 22 videosSearchSortValidator,
21 setDefaultSearchSort, 23 setDefaultSearchSort,
22 optionalAuthenticate, 24 optionalAuthenticate,
25 commonVideosFiltersValidator,
23 searchValidator, 26 searchValidator,
24 asyncMiddleware(searchVideos) 27 asyncMiddleware(searchVideos)
25) 28)
@@ -31,13 +34,10 @@ export { searchRouter }
31// --------------------------------------------------------------------------- 34// ---------------------------------------------------------------------------
32 35
33async function searchVideos (req: express.Request, res: express.Response) { 36async function searchVideos (req: express.Request, res: express.Response) {
34 const resultList = await VideoModel.searchAndPopulateAccountAndServer( 37 const query: VideosSearchQuery = req.query
35 req.query.search as string, 38
36 req.query.start as number, 39 const options = Object.assign(query, { nsfw: buildNSFWFilter(res, query.nsfw) })
37 req.query.count as number, 40 const resultList = await VideoModel.searchAndPopulateAccountAndServer(options)
38 req.query.sort as string,
39 isNSFWHidden(res)
40 )
41 41
42 return res.json(getFormattedObjects(resultList.data, resultList.total)) 42 return res.json(getFormattedObjects(resultList.data, resultList.total))
43} 43}