]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/video-channel.ts
d572737471d1d4aef6862fa02712d30a4cba3563
[github/Chocobozzz/PeerTube.git] / server / controllers / api / video-channel.ts
1 import * as express from 'express'
2 import { getFormattedObjects } from '../../helpers/utils'
3 import {
4 asyncMiddleware,
5 paginationValidator,
6 setDefaultPagination,
7 setDefaultSort,
8 videoChannelsSortValidator
9 } from '../../middlewares'
10 import { VideoChannelModel } from '../../models/video/video-channel'
11
12 const videoChannelRouter = express.Router()
13
14 videoChannelRouter.get('/',
15 paginationValidator,
16 videoChannelsSortValidator,
17 setDefaultSort,
18 setDefaultPagination,
19 asyncMiddleware(listVideoChannels)
20 )
21
22 // ---------------------------------------------------------------------------
23
24 export {
25 videoChannelRouter
26 }
27
28 // ---------------------------------------------------------------------------
29
30 async function listVideoChannels (req: express.Request, res: express.Response, next: express.NextFunction) {
31 const resultList = await VideoChannelModel.listForApi(req.query.start, req.query.count, req.query.sort)
32
33 return res.json(getFormattedObjects(resultList.data, resultList.total))
34 }