Update video channel routes
[oweals/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 }