]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - routes/api/v1/remoteVideos.js
Finalise the join in a network and add the ability to quit it
[github/Chocobozzz/PeerTube.git] / routes / api / v1 / remoteVideos.js
CommitLineData
8c308c2b
C
1;(function () {
2 'use strict'
3
4 var express = require('express')
5 var router = express.Router()
0b697522
C
6 var pluck = require('lodash-node/compat/collection/pluck')
7
f5a60a51 8 var middleware = require('../../../middlewares')
b60035d8
C
9 var miscMiddleware = middleware.misc
10 var reqValidator = middleware.reqValidators.remote
f5a60a51 11 var videos = require('../../../src/videos')
8c308c2b
C
12
13 function addRemoteVideos (req, res, next) {
0b697522 14 videos.addRemotes(req.body.data, function (err, videos) {
e63dc45f 15 if (err) return next(err)
8c308c2b 16
0b697522 17 res.json(videos)
8c308c2b
C
18 })
19 }
20
21 function removeRemoteVideo (req, res, next) {
0b697522 22 videos.removeRemotes(req.body.signature.url, pluck(req.body.data, 'magnetUri'), function (err) {
e63dc45f 23 if (err) return next(err)
8c308c2b 24
45239549 25 res.sendStatus(204)
8c308c2b
C
26 })
27 }
28
b60035d8
C
29 router.post('/add', reqValidator.secureRequest, miscMiddleware.decryptBody, reqValidator.remoteVideosAdd, miscMiddleware.cache(false), addRemoteVideos)
30 router.post('/remove', reqValidator.secureRequest, miscMiddleware.decryptBody, reqValidator.remoteVideosRemove, miscMiddleware.cache(false), removeRemoteVideo)
8c308c2b
C
31
32 module.exports = router
33})()