]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/middlewares/validators/pods.js
fd3d1e2f243375ab5a2b52ccf07c330614b45d28
[github/Chocobozzz/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,
9 podsAdd
10 }
11
12 function makeFriends (req, res, next) {
13 req.checkBody('urls', 'Should have an array of unique urls').isEachUniqueUrlValid()
14
15 logger.debug('Checking makeFriends parameters', { parameters: req.body })
16
17 checkErrors(req, res, function () {
18 friends.hasFriends(function (err, hasFriends) {
19 if (err) {
20 logger.error('Cannot know if we have friends.', { error: err })
21 res.sendStatus(500)
22 }
23
24 if (hasFriends === true) {
25 // We need to quit our friends before make new ones
26 res.sendStatus(409)
27 } else {
28 return next()
29 }
30 })
31 })
32 }
33
34 function podsAdd (req, res, next) {
35 req.checkBody('url', 'Should have an url').notEmpty().isURL({ require_protocol: true })
36 req.checkBody('publicKey', 'Should have a public key').notEmpty()
37
38 // TODO: check we don't have it already
39
40 logger.debug('Checking podsAdd parameters', { parameters: req.body })
41
42 checkErrors(req, res, next)
43 }
44
45 // ---------------------------------------------------------------------------
46
47 module.exports = validatorsPod