]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/v1/remoteVideos.js
3 const express
= require('express')
4 const map
= require('lodash/map')
6 const middlewares
= require('../../../middlewares')
7 const secureMiddleware
= middlewares
.secure
8 const reqValidator
= middlewares
.reqValidators
.remote
9 const logger
= require('../../../helpers/logger')
10 const Videos
= require('../../../models/videos')
11 const videos
= require('../../../lib/videos')
13 const router
= express
.Router()
16 reqValidator
.secureRequest
,
17 secureMiddleware
.decryptBody
,
18 reqValidator
.remoteVideosAdd
,
22 router
.post('/remove',
23 reqValidator
.secureRequest
,
24 secureMiddleware
.decryptBody
,
25 reqValidator
.remoteVideosRemove
,
29 // ---------------------------------------------------------------------------
31 module
.exports
= router
33 // ---------------------------------------------------------------------------
35 function addRemoteVideos (req
, res
, next
) {
36 const videosToCreate
= req
.body
.data
37 videos
.createRemoteVideos(videosToCreate
, function (err
, remoteVideos
) {
39 logger
.error('Cannot create remote videos.', { error: err
})
43 res
.type('json').status(201).end()
47 function removeRemoteVideo (req
, res
, next
) {
48 const fromUrl
= req
.body
.signature
.url
49 const magnetUris
= map(req
.body
.data
, 'magnetUri')
51 Videos
.listFromUrlAndMagnets(fromUrl
, magnetUris
, function (err
, videosList
) {
53 logger
.error('Cannot list videos from url and magnets.', { error: err
})
57 videos
.removeRemoteVideos(videosList
, function (err
) {
59 logger
.error('Cannot remove remote videos.', { error: err
})
63 res
.type('json').status(204).end()