Move cert upload route to /settings

This commit is contained in:
Johannes Zellner
2015-10-27 18:38:13 +01:00
parent 80b9d4be50
commit 01ead194d8
7 changed files with 118 additions and 142 deletions

View File

@@ -13,7 +13,9 @@ exports = module.exports = {
setCloudronAvatar: setCloudronAvatar,
getDnsConfig: getDnsConfig,
setDnsConfig: setDnsConfig
setDnsConfig: setDnsConfig,
setCertificate: setCertificate
};
var assert = require('assert'),
@@ -109,3 +111,19 @@ function setDnsConfig(req, res, next) {
next(new HttpSuccess(200));
});
}
function setCertificate(req, res, next) {
assert.strictEqual(typeof req.files, 'object');
if (!req.files.certificate) return next(new HttpError(400, 'certificate must be provided'));
var certificate = safe.fs.readFileSync(req.files.certificate.path, 'utf8');
if (!req.files.key) return next(new HttpError(400, 'key must be provided'));
var key = safe.fs.readFileSync(req.files.key.path, 'utf8');
settings.setCertificate(certificate, key, function (error) {
if (error) return next(new HttpError(500, error));
next(new HttpSuccess(202, {}));
});
}