]>
Commit | Line | Data |
---|---|---|
9f10b292 | 1 | 'use strict' |
8c308c2b | 2 | |
9f10b292 C |
3 | var express = require('express') |
4 | var pluck = require('lodash-node/compat/collection/pluck') | |
0b697522 | 5 | |
9f10b292 C |
6 | var middleware = require('../../../middlewares') |
7 | var secureMiddleware = middleware.secure | |
8 | var cacheMiddleware = middleware.cache | |
9 | var reqValidator = middleware.reqValidators.remote | |
10 | var videos = require('../../../models/videos') | |
8c308c2b | 11 | |
9f10b292 | 12 | var router = express.Router() |
c45f7f84 | 13 | |
9f10b292 C |
14 | router.post('/add', |
15 | reqValidator.secureRequest, | |
16 | secureMiddleware.decryptBody, | |
17 | reqValidator.remoteVideosAdd, | |
18 | cacheMiddleware.cache(false), | |
19 | addRemoteVideos | |
20 | ) | |
c45f7f84 | 21 | |
9f10b292 C |
22 | router.post('/remove', |
23 | reqValidator.secureRequest, | |
24 | secureMiddleware.decryptBody, | |
25 | reqValidator.remoteVideosRemove, | |
26 | cacheMiddleware.cache(false), | |
27 | removeRemoteVideo | |
28 | ) | |
c45f7f84 | 29 | |
9f10b292 | 30 | // --------------------------------------------------------------------------- |
c45f7f84 | 31 | |
9f10b292 | 32 | module.exports = router |
c45f7f84 | 33 | |
9f10b292 | 34 | // --------------------------------------------------------------------------- |
c45f7f84 | 35 | |
9f10b292 C |
36 | function addRemoteVideos (req, res, next) { |
37 | videos.addRemotes(req.body.data, function (err, videos) { | |
38 | if (err) return next(err) | |
8c308c2b | 39 | |
9f10b292 C |
40 | res.json(videos) |
41 | }) | |
42 | } | |
8c308c2b | 43 | |
9f10b292 C |
44 | function removeRemoteVideo (req, res, next) { |
45 | var url = req.body.signature.url | |
46 | var magnetUris = pluck(req.body.data, 'magnetUri') | |
c173e565 | 47 | |
9f10b292 C |
48 | videos.removeRemotesOfByMagnetUris(url, magnetUris, function (err) { |
49 | if (err) return next(err) | |
8c308c2b | 50 | |
dc8bc31b | 51 | res.type('json').status(204).end() |
9f10b292 C |
52 | }) |
53 | } |