1 import * as express from 'express'
2 import { waterfall } from 'async'
4 import { database as db } from '../../initializers/database'
5 import { CONFIG } from '../../initializers'
10 } from '../../helpers'
23 } from '../../middlewares'
25 const podsRouter = express.Router()
27 podsRouter.get('/', listPods)
29 setBodyHostPort, // We need to modify the host before running the validator!
33 podsRouter.post('/makefriends',
40 podsRouter.get('/quitfriends',
46 // ---------------------------------------------------------------------------
52 // ---------------------------------------------------------------------------
54 function addPods (req, res, next) {
55 const informations = req.body
58 function addPod (callback) {
59 const pod = db.Pod.build(informations)
60 pod.save().asCallback(function (err, podCreated) {
61 // Be sure about the number of parameters for the callback
62 return callback(err, podCreated)
66 function sendMyVideos (podCreated, callback) {
67 sendOwnedVideosToPod(podCreated.id)
72 function fetchMyCertificate (callback) {
73 getMyPublicCert(function (err, cert) {
75 logger.error('Cannot read cert file.')
79 return callback(null, cert)
82 ], function (err, cert) {
83 if (err) return next(err)
85 return res.json({ cert: cert, email: CONFIG.ADMIN.EMAIL })
89 function listPods (req, res, next) {
90 db.Pod.list(function (err, podsList) {
91 if (err) return next(err)
93 res.json(getFormatedObjects(podsList, podsList.length))
97 function makeFriendsController (req, res, next) {
98 const hosts = req.body.hosts
100 makeFriends(hosts, function (err) {
102 logger.error('Could not make friends.', { error: err })
106 logger.info('Made friends!')
109 res.type('json').status(204).end()
112 function quitFriendsController (req, res, next) {
113 quitFriends(function (err) {
114 if (err) return next(err)
116 res.type('json').status(204).end()