]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - controllers/api/v1/pods.js
Infile code reorganization
[github/Chocobozzz/PeerTube.git] / controllers / api / v1 / pods.js
CommitLineData
8c308c2b
C
1;(function () {
2 'use strict'
3
4 var express = require('express')
c45f7f84 5
f5a60a51 6 var middleware = require('../../../middlewares')
b60035d8 7 var miscMiddleware = middleware.misc
c45f7f84 8 var pods = require('../../../models/pods')
b60035d8 9 var reqValidator = middleware.reqValidators.pods
45239549 10 var secureRequest = middleware.reqValidators.remote.secureRequest
8c308c2b 11
c45f7f84 12 var router = express.Router()
8c308c2b 13
c45f7f84
C
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 // ---------------------------------------------------------------------------
8c308c2b
C
26
27 function addPods (req, res, next) {
28 pods.add(req.body.data, function (err, json) {
e63dc45f 29 if (err) return next(err)
8c308c2b
C
30
31 res.json(json)
32 })
33 }
34
c45f7f84
C
35 function listPods (req, res, next) {
36 pods.list(function (err, pods_list) {
45239549
C
37 if (err) return next(err)
38
c45f7f84 39 res.json(pods_list)
45239549
C
40 })
41 }
42
8c308c2b 43 function makeFriends (req, res, next) {
45239549
C
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
c45f7f84
C
60 function removePods (req, res, next) {
61 pods.remove(req.body.signature.url, function (err) {
e63dc45f 62 if (err) return next(err)
8c308c2b
C
63
64 res.sendStatus(204)
65 })
66 }
67
c45f7f84
C
68 function quitFriends (req, res, next) {
69 pods.quitFriends(function (err) {
70 if (err) return next(err)
8c308c2b 71
c45f7f84
C
72 res.sendStatus(204)
73 })
74 }
8c308c2b 75})()