aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--server/controllers/api/pods.js26
-rw-r--r--server/controllers/api/remote/index.js2
-rw-r--r--server/controllers/api/remote/pods.js42
-rw-r--r--server/lib/friends.js2
4 files changed, 45 insertions, 27 deletions
diff --git a/server/controllers/api/pods.js b/server/controllers/api/pods.js
index 1c3eefcc1..ab5763cf6 100644
--- a/server/controllers/api/pods.js
+++ b/server/controllers/api/pods.js
@@ -13,9 +13,7 @@ const middlewares = require('../../middlewares')
13const admin = middlewares.admin 13const admin = middlewares.admin
14const oAuth = middlewares.oauth 14const oAuth = middlewares.oauth
15const podsMiddleware = middlewares.pods 15const podsMiddleware = middlewares.pods
16const checkSignature = middlewares.secure.checkSignature
17const validators = middlewares.validators.pods 16const validators = middlewares.validators.pods
18const signatureValidator = middlewares.validators.remote.signature
19 17
20const router = express.Router() 18const router = express.Router()
21 19
@@ -37,12 +35,6 @@ router.get('/quitfriends',
37 admin.ensureIsAdmin, 35 admin.ensureIsAdmin,
38 quitFriends 36 quitFriends
39) 37)
40// Post because this is a secured request
41router.post('/remove',
42 signatureValidator.signature,
43 checkSignature,
44 removePods
45)
46 38
47// --------------------------------------------------------------------------- 39// ---------------------------------------------------------------------------
48 40
@@ -108,24 +100,6 @@ function makeFriends (req, res, next) {
108 res.type('json').status(204).end() 100 res.type('json').status(204).end()
109} 101}
110 102
111function removePods (req, res, next) {
112 const host = req.body.signature.host
113
114 waterfall([
115 function loadPod (callback) {
116 db.Pod.loadByHost(host, callback)
117 },
118
119 function deletePod (pod, callback) {
120 pod.destroy().asCallback(callback)
121 }
122 ], function (err) {
123 if (err) return next(err)
124
125 return res.type('json').status(204).end()
126 })
127}
128
129function quitFriends (req, res, next) { 103function quitFriends (req, res, next) {
130 friends.quitFriends(function (err) { 104 friends.quitFriends(function (err) {
131 if (err) return next(err) 105 if (err) return next(err)
diff --git a/server/controllers/api/remote/index.js b/server/controllers/api/remote/index.js
index 2947632d5..6106850ab 100644
--- a/server/controllers/api/remote/index.js
+++ b/server/controllers/api/remote/index.js
@@ -6,8 +6,10 @@ const utils = require('../../../helpers/utils')
6 6
7const router = express.Router() 7const router = express.Router()
8 8
9const podsRemoteController = require('./pods')
9const videosRemoteController = require('./videos') 10const videosRemoteController = require('./videos')
10 11
12router.use('/pods', podsRemoteController)
11router.use('/videos', videosRemoteController) 13router.use('/videos', videosRemoteController)
12router.use('/*', utils.badRequest) 14router.use('/*', utils.badRequest)
13 15
diff --git a/server/controllers/api/remote/pods.js b/server/controllers/api/remote/pods.js
new file mode 100644
index 000000000..0343bc62e
--- /dev/null
+++ b/server/controllers/api/remote/pods.js
@@ -0,0 +1,42 @@
1'use strict'
2
3const express = require('express')
4const waterfall = require('async/waterfall')
5
6const db = require('../../../initializers/database')
7const middlewares = require('../../../middlewares')
8const checkSignature = middlewares.secure.checkSignature
9const signatureValidator = middlewares.validators.remote.signature
10
11const router = express.Router()
12
13// Post because this is a secured request
14router.post('/remove',
15 signatureValidator.signature,
16 checkSignature,
17 removePods
18)
19
20// ---------------------------------------------------------------------------
21
22module.exports = router
23
24// ---------------------------------------------------------------------------
25
26function removePods (req, res, next) {
27 const host = req.body.signature.host
28
29 waterfall([
30 function loadPod (callback) {
31 db.Pod.loadByHost(host, callback)
32 },
33
34 function deletePod (pod, callback) {
35 pod.destroy().asCallback(callback)
36 }
37 ], function (err) {
38 if (err) return next(err)
39
40 return res.type('json').status(204).end()
41 })
42}
diff --git a/server/lib/friends.js b/server/lib/friends.js
index 23accfa45..1c7567527 100644
--- a/server/lib/friends.js
+++ b/server/lib/friends.js
@@ -186,7 +186,7 @@ function quitFriends (callback) {
186 function announceIQuitMyFriends (pods, callbackAsync) { 186 function announceIQuitMyFriends (pods, callbackAsync) {
187 const requestParams = { 187 const requestParams = {
188 method: 'POST', 188 method: 'POST',
189 path: '/api/' + constants.API_VERSION + '/pods/remove', 189 path: '/api/' + constants.API_VERSION + '/remote/pods/remove',
190 sign: true 190 sign: true
191 } 191 }
192 192