]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/controllers/api/videos/blacklist.ts
Move to promises
[github/Chocobozzz/PeerTube.git] / server / controllers / api / videos / blacklist.ts
... / ...
CommitLineData
1import * as express from 'express'
2
3import { database as db } from '../../../initializers/database'
4import { logger } from '../../../helpers'
5import {
6 authenticate,
7 ensureIsAdmin,
8 videosBlacklistValidator
9} from '../../../middlewares'
10
11const blacklistRouter = express.Router()
12
13blacklistRouter.post('/:id/blacklist',
14 authenticate,
15 ensureIsAdmin,
16 videosBlacklistValidator,
17 addVideoToBlacklist
18)
19
20// ---------------------------------------------------------------------------
21
22export {
23 blacklistRouter
24}
25
26// ---------------------------------------------------------------------------
27
28function addVideoToBlacklist (req: express.Request, res: express.Response, next: express.NextFunction) {
29 const videoInstance = res.locals.video
30
31 const toCreate = {
32 videoId: videoInstance.id
33 }
34
35 db.BlacklistedVideo.create(toCreate)
36 .then(() => res.type('json').status(204).end())
37 .catch(err => {
38 logger.error('Errors when blacklisting video ', { error: err })
39 return next(err)
40 })
41}