]>
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 middleware
= require('../../../middlewares')
7 const secureMiddleware
= middleware
.secure
8 const cacheMiddleware
= middleware
.cache
9 const reqValidator
= middleware
.reqValidators
.remote
10 const logger
= require('../../../helpers/logger')
11 const Videos
= require('../../../models/videos')
12 const videos
= require('../../../lib/videos')
14 const router
= express
.Router()
17 reqValidator
.secureRequest
,
18 secureMiddleware
.decryptBody
,
19 reqValidator
.remoteVideosAdd
,
20 cacheMiddleware
.cache(false),
24 router
.post('/remove',
25 reqValidator
.secureRequest
,
26 secureMiddleware
.decryptBody
,
27 reqValidator
.remoteVideosRemove
,
28 cacheMiddleware
.cache(false),
32 // ---------------------------------------------------------------------------
34 module
.exports
= router
36 // ---------------------------------------------------------------------------
38 function addRemoteVideos (req
, res
, next
) {
39 const videosToCreate
= req
.body
.data
40 videos
.createRemoteVideos(videosToCreate
, function (err
, remoteVideos
) {
42 logger
.error('Cannot create remote videos.', { error: err
})
46 res
.type('json').status(201).end()
50 function removeRemoteVideo (req
, res
, next
) {
51 const fromUrl
= req
.body
.signature
.url
52 const magnetUris
= map(req
.body
.data
, 'magnetUri')
54 Videos
.listFromUrlAndMagnets(fromUrl
, magnetUris
, function (err
, videosList
) {
56 logger
.error('Cannot list videos from url and magnets.', { error: err
})
60 videos
.removeRemoteVideos(videosList
, function (err
) {
62 logger
.error('Cannot remove remote videos.', { error: err
})
66 res
.type('json').status(204).end()