]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - controllers/api/v1/pods.js
Infile code reorganization
[github/Chocobozzz/PeerTube.git] / controllers / api / v1 / pods.js
1 ;(function () {
2 'use strict'
3
4 var express = require('express')
5
6 var middleware = require('../../../middlewares')
7 var miscMiddleware = middleware.misc
8 var pods = require('../../../models/pods')
9 var reqValidator = middleware.reqValidators.pods
10 var secureRequest = middleware.reqValidators.remote.secureRequest
11
12 var router = express.Router()
13
14 router.get('/', miscMiddleware.cache(false), listPods)
15 router.post('/', reqValidator.podsAdd, miscMiddleware.cache(false), addPods)
16 router.get('/makefriends', miscMiddleware.cache(false), makeFriends)
17 router.get('/quitfriends', miscMiddleware.cache(false), quitFriends)
18 // Post because this is a secured request
19 router.post('/remove', secureRequest, miscMiddleware.decryptBody, removePods)
20
21 // ---------------------------------------------------------------------------
22
23 module.exports = router
24
25 // ---------------------------------------------------------------------------
26
27 function addPods (req, res, next) {
28 pods.add(req.body.data, function (err, json) {
29 if (err) return next(err)
30
31 res.json(json)
32 })
33 }
34
35 function listPods (req, res, next) {
36 pods.list(function (err, pods_list) {
37 if (err) return next(err)
38
39 res.json(pods_list)
40 })
41 }
42
43 function makeFriends (req, res, next) {
44 pods.hasFriends(function (err, has_friends) {
45 if (err) return next(err)
46
47 if (has_friends === true) {
48 // We need to quit our friends before make new ones
49 res.sendStatus(409)
50 } else {
51 pods.makeFriends(function (err) {
52 if (err) return next(err)
53
54 res.sendStatus(204)
55 })
56 }
57 })
58 }
59
60 function removePods (req, res, next) {
61 pods.remove(req.body.signature.url, function (err) {
62 if (err) return next(err)
63
64 res.sendStatus(204)
65 })
66 }
67
68 function quitFriends (req, res, next) {
69 pods.quitFriends(function (err) {
70 if (err) return next(err)
71
72 res.sendStatus(204)
73 })
74 }
75 })()