]>
Commit | Line | Data |
---|---|---|
4d4e5cd4 | 1 | import * as express from 'express' |
e02643f3 | 2 | import * as waterfall from 'async/waterfall' |
34831b48 | 3 | |
e02643f3 | 4 | import { database as db } from '../../../initializers/database' |
65fcc311 | 5 | import { checkSignature, signatureValidator } from '../../../middlewares' |
34831b48 | 6 | |
65fcc311 | 7 | const remotePodsRouter = express.Router() |
34831b48 C |
8 | |
9 | // Post because this is a secured request | |
65fcc311 C |
10 | remotePodsRouter.post('/remove', |
11 | signatureValidator, | |
34831b48 C |
12 | checkSignature, |
13 | removePods | |
14 | ) | |
15 | ||
16 | // --------------------------------------------------------------------------- | |
17 | ||
65fcc311 C |
18 | export { |
19 | remotePodsRouter | |
20 | } | |
34831b48 C |
21 | |
22 | // --------------------------------------------------------------------------- | |
23 | ||
69818c93 | 24 | function removePods (req: express.Request, res: express.Response, next: express.NextFunction) { |
34831b48 C |
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 | } |