Add addon configure route

This commit is contained in:
Johannes Zellner
2018-11-21 15:47:34 +01:00
parent e04b7b55b0
commit c1183a09a8
3 changed files with 49 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ exports = module.exports = {
getAddons: getAddons,
getAddon: getAddon,
configureAddon: configureAddon,
getLogs: getLogs,
startAddon: startAddon,
stopAddon: stopAddon,
@@ -281,6 +282,34 @@ function getAddon(addonName, callback) {
});
}
function configureAddon(addonName, data, callback) {
assert.strictEqual(typeof addonName, 'string');
assert.strictEqual(typeof data, 'object');
assert.strictEqual(typeof callback, 'function');
if (!KNOWN_ADDONS[addonName]) return callback(new AddonsError(AddonsError.NOT_FOUND));
settings.getPlatformConfig(function (error, platformConfig) {
if (error) return callback(new AddonsError(AddonsError.INTERNAL_ERROR, error));
if (!platformConfig[addonName]) platformConfig[addonName] = {};
// if not specified we clear the entry and use defaults
if (!data.memory || !data.memorySwap) {
delete platformConfig[addonName];
} else {
platformConfig[addonName].memory = data.memory;
platformConfig[addonName].memorySwap = data.memorySwap;
}
settings.setPlatformConfig(platformConfig, function (error) {
if (error) return callback(new AddonsError(AddonsError.INTERNAL_ERROR, error));
callback(null);
});
});
}
function getLogs(addon, options, callback) {
assert.strictEqual(typeof addon, 'string');
assert(options && typeof options === 'object');