]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/v1/remoteVideos.js
Update readme roadmap
[github/Chocobozzz/PeerTube.git] / server / controllers / api / v1 / remoteVideos.js
index 5e9e71fdd4386fd48dd7137c81b078169c07494e..2f41c04115cdc8f1246584870a849001aaa8e9f6 100644 (file)
@@ -3,11 +3,12 @@
 const express = require('express')
 const map = require('lodash/map')
 
-const middleware = require('../../../middlewares')
-const secureMiddleware = middleware.secure
-const cacheMiddleware = middleware.cache
-const reqValidator = middleware.reqValidators.remote
-const videos = require('../../../models/videos')
+const middlewares = require('../../../middlewares')
+const secureMiddleware = middlewares.secure
+const reqValidator = middlewares.reqValidators.remote
+const logger = require('../../../helpers/logger')
+const Videos = require('../../../models/videos')
+const videos = require('../../../lib/videos')
 
 const router = express.Router()
 
@@ -15,7 +16,6 @@ router.post('/add',
   reqValidator.secureRequest,
   secureMiddleware.decryptBody,
   reqValidator.remoteVideosAdd,
-  cacheMiddleware.cache(false),
   addRemoteVideos
 )
 
@@ -23,7 +23,6 @@ router.post('/remove',
   reqValidator.secureRequest,
   secureMiddleware.decryptBody,
   reqValidator.remoteVideosRemove,
-  cacheMiddleware.cache(false),
   removeRemoteVideo
 )
 
@@ -34,20 +33,34 @@ module.exports = router
 // ---------------------------------------------------------------------------
 
 function addRemoteVideos (req, res, next) {
-  videos.addRemotes(req.body.data, function (err, videos) {
-    if (err) return next(err)
+  const videosToCreate = req.body.data
+  videos.createRemoteVideos(videosToCreate, function (err, remoteVideos) {
+    if (err) {
+      logger.error('Cannot create remote videos.', { error: err })
+      return next(err)
+    }
 
-    res.json(videos)
+    res.type('json').status(201).end()
   })
 }
 
 function removeRemoteVideo (req, res, next) {
-  const url = req.body.signature.url
+  const fromUrl = req.body.signature.url
   const magnetUris = map(req.body.data, 'magnetUri')
 
-  videos.removeRemotesOfByMagnetUris(url, magnetUris, function (err) {
-    if (err) return next(err)
+  Videos.listFromUrlAndMagnets(fromUrl, magnetUris, function (err, videosList) {
+    if (err) {
+      logger.error('Cannot list videos from url and magnets.', { error: err })
+      return next(err)
+    }
 
-    res.type('json').status(204).end()
+    videos.removeRemoteVideos(videosList, function (err) {
+      if (err) {
+        logger.error('Cannot remove remote videos.', { error: err })
+        return next(err)
+      }
+
+      res.type('json').status(204).end()
+    })
   })
 }