Implement user API (create, update, remove, list)
[oweals/peertube.git] / server / middlewares / validators / pods.js
1 'use strict'
2
3 const checkErrors = require('./utils').checkErrors
4 const friends = require('../../lib/friends')
5 const logger = require('../../helpers/logger')
6
7 const validatorsPod = {
8   makeFriends: makeFriends,
9   podsAdd: podsAdd
10 }
11
12 function makeFriends (req, res, next) {
13   friends.hasFriends(function (err, hasFriends) {
14     if (err) {
15       logger.error('Cannot know if we have friends.', { error: err })
16       res.sendStatus(500)
17     }
18
19     if (hasFriends === true) {
20       // We need to quit our friends before make new ones
21       res.sendStatus(409)
22     } else {
23       return next()
24     }
25   })
26 }
27
28 function podsAdd (req, res, next) {
29   req.checkBody('url', 'Should have an url').notEmpty().isURL({ require_protocol: true })
30   req.checkBody('publicKey', 'Should have a public key').notEmpty()
31
32   // TODO: check we don't have it already
33
34   logger.debug('Checking podsAdd parameters', { parameters: req.body })
35
36   checkErrors(req, res, next)
37 }
38
39 // ---------------------------------------------------------------------------
40
41 module.exports = validatorsPod