]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/remote/pods.ts
9c9d2164d9b8b342aacb5e7aff7d703267cbf54c
[github/Chocobozzz/PeerTube.git] / server / controllers / api / remote / pods.ts
1 import * as express from 'express'
2 import * as waterfall from 'async/waterfall'
3
4 import { database as db } from '../../../initializers/database'
5 import { checkSignature, signatureValidator } from '../../../middlewares'
6
7 const remotePodsRouter = express.Router()
8
9 // Post because this is a secured request
10 remotePodsRouter.post('/remove',
11 signatureValidator,
12 checkSignature,
13 removePods
14 )
15
16 // ---------------------------------------------------------------------------
17
18 export {
19 remotePodsRouter
20 }
21
22 // ---------------------------------------------------------------------------
23
24 function removePods (req, res, next) {
25 const host = req.body.signature.host
26
27 waterfall([
28 function loadPod (callback) {
29 db.Pod.loadByHost(host, callback)
30 },
31
32 function deletePod (pod, callback) {
33 pod.destroy().asCallback(callback)
34 }
35 ], function (err) {
36 if (err) return next(err)
37
38 return res.type('json').status(204).end()
39 })
40 }