2016-02-07 11:23:23 +01:00
|
|
|
'use strict'
|
|
|
|
|
2016-03-16 22:29:27 +01:00
|
|
|
const checkErrors = require('./utils').checkErrors
|
|
|
|
const friends = require('../../lib/friends')
|
|
|
|
const logger = require('../../helpers/logger')
|
2016-02-07 11:23:23 +01:00
|
|
|
|
2016-07-01 16:16:40 +02:00
|
|
|
const validatorsPod = {
|
2016-02-07 11:23:23 +01:00
|
|
|
makeFriends: makeFriends,
|
|
|
|
podsAdd: podsAdd
|
|
|
|
}
|
|
|
|
|
|
|
|
function makeFriends (req, res, next) {
|
2016-08-20 16:59:25 +02:00
|
|
|
req.checkBody('urls', 'Should have an array of urls').isArray()
|
|
|
|
req.checkBody('urls', 'Should be an url').isEachUrl()
|
|
|
|
|
|
|
|
logger.debug('Checking makeFriends parameters', { parameters: req.body })
|
|
|
|
|
2016-05-11 21:19:34 +02:00
|
|
|
friends.hasFriends(function (err, hasFriends) {
|
2016-02-07 11:23:23 +01:00
|
|
|
if (err) {
|
|
|
|
logger.error('Cannot know if we have friends.', { error: err })
|
|
|
|
res.sendStatus(500)
|
|
|
|
}
|
|
|
|
|
2016-05-11 21:19:34 +02:00
|
|
|
if (hasFriends === true) {
|
2016-02-07 11:23:23 +01:00
|
|
|
// We need to quit our friends before make new ones
|
|
|
|
res.sendStatus(409)
|
|
|
|
} else {
|
2016-02-07 12:02:26 +01:00
|
|
|
return next()
|
2016-02-07 11:23:23 +01:00
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
function podsAdd (req, res, next) {
|
2016-06-18 16:13:54 +02:00
|
|
|
req.checkBody('url', 'Should have an url').notEmpty().isURL({ require_protocol: true })
|
|
|
|
req.checkBody('publicKey', 'Should have a public key').notEmpty()
|
|
|
|
|
|
|
|
// TODO: check we don't have it already
|
2016-02-07 11:23:23 +01:00
|
|
|
|
|
|
|
logger.debug('Checking podsAdd parameters', { parameters: req.body })
|
|
|
|
|
|
|
|
checkErrors(req, res, next)
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
|
2016-07-01 16:16:40 +02:00
|
|
|
module.exports = validatorsPod
|