]>
Commit | Line | Data |
---|---|---|
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 | } |