]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/controllers/api/videos/blacklist.js
Server: split videos controller
[github/Chocobozzz/PeerTube.git] / server / controllers / api / videos / blacklist.js
CommitLineData
d33242b0
C
1'use strict'
2
3const express = require('express')
4
5const db = require('../../../initializers/database')
6const logger = require('../../../helpers/logger')
7const middlewares = require('../../../middlewares')
8const admin = middlewares.admin
9const oAuth = middlewares.oauth
10const validators = middlewares.validators
11const validatorsVideos = validators.videos
12
13const router = express.Router()
14
15router.post('/:id/blacklist',
16 oAuth.authenticate,
17 admin.ensureIsAdmin,
18 validatorsVideos.videosBlacklist,
19 addVideoToBlacklist
20)
21
22// ---------------------------------------------------------------------------
23
24module.exports = router
25
26// ---------------------------------------------------------------------------
27
28function addVideoToBlacklist (req, res, next) {
29 const videoInstance = res.locals.video
30
31 const toCreate = {
32 videoId: videoInstance.id
33 }
34
35 db.BlacklistedVideo.create(toCreate).asCallback(function (err) {
36 if (err) {
37 logger.error('Errors when blacklisting video ', { error: err })
38 return next(err)
39 }
40
41 return res.type('json').status(204).end()
42 })
43}