1 import * as express from 'express'
3 import { database } from '../../initializers'
4 import { getFormattedObjects } from '../../helpers'
5 import { BlacklistedVideo } from '../../../shared'
6 import { BlacklistedVideoInstance } from '../../models'
9 removeVideoFromBlacklist
15 blacklistSortValidator,
18 blacklistRemoveValidator
19 } from '../../middlewares'
21 const blacklistRouter = express.Router()
23 blacklistRouter.get('/',
27 blacklistSortValidator,
33 blacklistRouter.delete('/:id',
36 blacklistRemoveValidator,
37 removeVideoFromBlacklistController
40 // ---------------------------------------------------------------------------
46 // ---------------------------------------------------------------------------
48 function listBlacklist (req: express.Request, res: express.Response, next: express.NextFunction) {
49 database.BlacklistedVideo.listForApi(req.query.start, req.query.count, req.query.sort)
50 .then(resultList => res.json(getFormattedObjects<BlacklistedVideo, BlacklistedVideoInstance>(resultList.data, resultList.total)))
51 .catch(err => next(err))
54 function removeVideoFromBlacklistController (req: express.Request, res: express.Response, next: express.NextFunction) {
55 const entry = res.locals.blacklistEntryToRemove as BlacklistedVideoInstance
57 removeVideoFromBlacklist(entry)
58 .then(() => res.sendStatus(204))
59 .catch(err => next(err))