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