]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - controllers/api/v1/remoteVideos.js
Split misc middleware
[github/Chocobozzz/PeerTube.git] / controllers / api / v1 / remoteVideos.js
1 ;(function () {
2 'use strict'
3
4 var express = require('express')
5 var pluck = require('lodash-node/compat/collection/pluck')
6
7 var middleware = require('../../../middlewares')
8 var secureMiddleware = middleware.secure
9 var cacheMiddleware = middleware.cache
10 var reqValidator = middleware.reqValidators.remote
11 var videos = require('../../../models/videos')
12
13 var router = express.Router()
14
15 router.post('/add',
16 reqValidator.secureRequest,
17 secureMiddleware.decryptBody,
18 reqValidator.remoteVideosAdd,
19 cacheMiddleware.cache(false),
20 addRemoteVideos
21 )
22
23 router.post('/remove',
24 reqValidator.secureRequest,
25 secureMiddleware.decryptBody,
26 reqValidator.remoteVideosRemove,
27 cacheMiddleware.cache(false),
28 removeRemoteVideo
29 )
30
31 // ---------------------------------------------------------------------------
32
33 module.exports = router
34
35 // ---------------------------------------------------------------------------
36
37 function addRemoteVideos (req, res, next) {
38 videos.addRemotes(req.body.data, function (err, videos) {
39 if (err) return next(err)
40
41 res.json(videos)
42 })
43 }
44
45 function removeRemoteVideo (req, res, next) {
46 var url = req.body.signature.url
47 var magnetUris = pluck(req.body.data, 'magnetUri')
48
49 videos.removeRemotesOfByMagnetUris(url, magnetUris, function (err) {
50 if (err) return next(err)
51
52 res.sendStatus(204)
53 })
54 }
55 })()