]> 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 6ccfd7361f756a7b38e488e501c20f0d632d91c6..4d649b486626e63a900130b5059af81e72d83199 100644 (file)
@@ -2,12 +2,30 @@
   'use strict'
 
   var checkErrors = require('./utils').checkErrors
+  var friends = require('../../lib/friends')
   var logger = require('../../helpers/logger')
 
   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)
+      }
+
+      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()