]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - middlewares/reqValidators/pods.js
Error handling mini refractoring
[github/Chocobozzz/PeerTube.git] / middlewares / reqValidators / pods.js
index 31eaf84493e705c1b4674998441df0a994fed8a6..4d649b486626e63a900130b5059af81e72d83199 100644 (file)
@@ -2,11 +2,31 @@
   'use strict'
 
   var checkErrors = require('./utils').checkErrors
-  var logger = require('../../src/logger')
+  var friends = require('../../lib/friends')
+  var logger = require('../../helpers/logger')
 
-  var pods = {}
+  var reqValidatorsPod = {
+    makeFriends: makeFriends,
+    podsAdd: podsAdd
+  }
+
+  function makeFriends (req, res, next) {
+    friends.hasFriends(function (err, has_friends) {
+      if (err) {
+        logger.error('Cannot know if we have friends.', { error: err })
+        res.sendStatus(500)
+      }
 
-  pods.podsAdd = function (req, res, next) {
+      if (has_friends === true) {
+        // We need to quit our friends before make new ones
+        res.sendStatus(409)
+      } else {
+        next()
+      }
+    })
+  }
+
+  function podsAdd (req, res, next) {
     req.checkBody('data.url', 'Should have an url').notEmpty().isURL({ require_protocol: true })
     req.checkBody('data.publicKey', 'Should have a public key').notEmpty()
 
@@ -15,5 +35,7 @@
     checkErrors(req, res, next)
   }
 
-  module.exports = pods
+  // ---------------------------------------------------------------------------
+
+  module.exports = reqValidatorsPod
 })()