From 34831b4843c161248109fb10876c1600578491de Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Sun, 19 Mar 2017 18:56:10 +0100 Subject: Server: move pod remove to remote path --- server/controllers/api/remote/pods.js | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 server/controllers/api/remote/pods.js (limited to 'server/controllers/api/remote/pods.js') 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 @@ +'use strict' + +const express = require('express') +const waterfall = require('async/waterfall') + +const db = require('../../../initializers/database') +const middlewares = require('../../../middlewares') +const checkSignature = middlewares.secure.checkSignature +const signatureValidator = middlewares.validators.remote.signature + +const router = express.Router() + +// Post because this is a secured request +router.post('/remove', + signatureValidator.signature, + checkSignature, + removePods +) + +// --------------------------------------------------------------------------- + +module.exports = router + +// --------------------------------------------------------------------------- + +function removePods (req, res, next) { + const host = req.body.signature.host + + waterfall([ + function loadPod (callback) { + db.Pod.loadByHost(host, callback) + }, + + function deletePod (pod, callback) { + pod.destroy().asCallback(callback) + } + ], function (err) { + if (err) return next(err) + + return res.type('json').status(204).end() + }) +} -- cgit v1.2.3