]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/remote/pods.js
Server: move pod remove to remote path
[github/Chocobozzz/PeerTube.git] / server / controllers / api / remote / pods.js
1 'use strict'
2
3 const express = require('express')
4 const waterfall = require('async/waterfall')
5
6 const db = require('../../../initializers/database')
7 const middlewares = require('../../../middlewares')
8 const checkSignature = middlewares.secure.checkSignature
9 const signatureValidator = middlewares.validators.remote.signature
10
11 const router = express.Router()
12
13 // Post because this is a secured request
14 router.post('/remove',
15 signatureValidator.signature,
16 checkSignature,
17 removePods
18 )
19
20 // ---------------------------------------------------------------------------
21
22 module.exports = router
23
24 // ---------------------------------------------------------------------------
25
26 function 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 }