1 import * as express from 'express'
3 import { database as db } from '../../initializers/database'
4 import { CONFIG } from '../../initializers'
24 } from '../../middlewares'
28 import { Pod as FormattedPod } from '../../../shared'
30 const podsRouter = express.Router()
32 podsRouter.get('/', listPods)
34 setBodyHostPort, // We need to modify the host before running the validator!
38 podsRouter.post('/makefriends',
45 podsRouter.get('/quitfriends',
50 podsRouter.delete('/:id',
54 removeFriendController
57 // ---------------------------------------------------------------------------
63 // ---------------------------------------------------------------------------
65 function addPods (req: express.Request, res: express.Response, next: express.NextFunction) {
66 const informations = req.body
68 const pod = db.Pod.build(informations)
71 return sendOwnedVideosToPod(podCreated.id)
74 return getMyPublicCert()
77 return res.json({ cert: cert, email: CONFIG.ADMIN.EMAIL })
79 .catch(err => next(err))
82 function listPods (req: express.Request, res: express.Response, next: express.NextFunction) {
84 .then(podsList => res.json(getFormattedObjects<FormattedPod, PodInstance>(podsList, podsList.length)))
85 .catch(err => next(err))
88 function makeFriendsController (req: express.Request, res: express.Response, next: express.NextFunction) {
89 const hosts = req.body.hosts as string[]
92 .then(() => logger.info('Made friends!'))
93 .catch(err => logger.error('Could not make friends.', err))
95 // Don't wait the process that could be long
96 res.type('json').status(204).end()
99 function quitFriendsController (req: express.Request, res: express.Response, next: express.NextFunction) {
101 .then(() => res.type('json').status(204).end())
102 .catch(err => next(err))
105 function removeFriendController (req: express.Request, res: express.Response, next: express.NextFunction) {
106 const pod = res.locals.pod as PodInstance
109 .then(() => (res.type('json').status(204).end()))
110 .catch(err => next(err))