diff --git a/src/backups.js b/src/backups.js index d68833cb3..d5c15214d 100644 --- a/src/backups.js +++ b/src/backups.js @@ -400,7 +400,7 @@ async function setPolicy(policy) { if (error) throw error; await settings.setJson(settings.BACKUP_POLICY_KEY, policy); - await cron.backupPolicyChanged(policy); + await cron.handleBackupPolicyChanged(policy); } async function getConfig() { diff --git a/src/cron.js b/src/cron.js index abb2c1e34..de2f2293f 100644 --- a/src/cron.js +++ b/src/cron.js @@ -11,11 +11,10 @@ exports = module.exports = { stopJobs, - handleSettingsChanged, - backupPolicyChanged, + handleBackupPolicyChanged, handleTimeZoneChanged, - autoupdatePatternChanged, - dynamicDnsChanged, + handleAutoupdatePatternChanged, + handleDynamicDnsChanged, DEFAULT_AUTOUPDATE_PATTERN, }; @@ -36,7 +35,6 @@ const appHealthMonitor = require('./apphealthmonitor.js'), paths = require('./paths.js'), safe = require('safetydance'), scheduler = require('./scheduler.js'), - settings = require('./settings.js'), system = require('./system.js'), updater = require('./updater.js'), updateChecker = require('./updatechecker.js'), @@ -163,30 +161,12 @@ async function startJobs() { start: true }); - await backupPolicyChanged(await backups.getPolicy()); - await autoupdatePatternChanged(await updater.getAutoupdatePattern()); - dynamicDnsChanged(await network.getDynamicDns()); + await handleBackupPolicyChanged(await backups.getPolicy()); + await handleAutoupdatePatternChanged(await updater.getAutoupdatePattern()); + await handleDynamicDnsChanged(await network.getDynamicDns()); } -// eslint-disable-next-line no-unused-vars -async function handleSettingsChanged(key, value) { - assert.strictEqual(typeof key, 'string'); - // value is a variant - - switch (key) { - case settings.TIME_ZONE_KEY: - case settings.BACKUP_CONFIG_KEY: - case settings.AUTOUPDATE_PATTERN_KEY: - debug('handleSettingsChanged: recreating all jobs'); - await stopJobs(); - await startJobs(); - break; - default: - break; - } -} - -async function backupPolicyChanged(value) { +async function handleBackupPolicyChanged(value) { assert.strictEqual(typeof value, 'object'); const tz = await cloudron.getTimeZone(); @@ -211,7 +191,7 @@ async function handleTimeZoneChanged(tz) { await startJobs(); } -async function autoupdatePatternChanged(pattern) { +async function handleAutoupdatePatternChanged(pattern) { assert.strictEqual(typeof pattern, 'string'); const tz = await cloudron.getTimeZone(); @@ -249,7 +229,7 @@ async function autoupdatePatternChanged(pattern) { }); } -function dynamicDnsChanged(enabled) { +function handleDynamicDnsChanged(enabled) { assert.strictEqual(typeof enabled, 'boolean'); debug('Dynamic DNS setting changed to %s', enabled); diff --git a/src/network.js b/src/network.js index dbc4bca10..abc204b10 100644 --- a/src/network.js +++ b/src/network.js @@ -110,7 +110,7 @@ async function setDynamicDns(enabled) { assert.strictEqual(typeof enabled, 'boolean'); await settings.set(settings.DYNAMIC_DNS_KEY, enabled ? 'enabled' : ''); // db holds string values only - cron.dynamicDnsChanged(enabled); + await cron.handleDynamicDnsChanged(enabled); } async function getIPv4Config() { diff --git a/src/settings.js b/src/settings.js index 3cb3a0758..1a3b6bbbf 100644 --- a/src/settings.js +++ b/src/settings.js @@ -4,7 +4,6 @@ exports = module.exports = { getRegistryConfig, setRegistryConfig, - list, initCache, // these values come from the cache @@ -82,11 +81,9 @@ exports = module.exports = { }; const assert = require('assert'), - cron = require('./cron.js'), database = require('./database.js'), debug = require('debug')('box:settings'), docker = require('./docker.js'), - paths = require('./paths.js'), safe = require('safetydance'); const SETTINGS_FIELDS = [ 'name', 'value' ].join(','); @@ -113,12 +110,6 @@ const gDefaults = (function () { let gCache = {}; -function notifyChange(key, value) { - assert.strictEqual(typeof key, 'string'); - // value is a variant - cron.handleSettingsChanged(key, value); -} - async function get(key) { assert.strictEqual(typeof key, 'string'); @@ -184,8 +175,6 @@ async function setRegistryConfig(registryConfig) { await docker.testRegistryConfig(registryConfig); await set(exports.REGISTRY_CONFIG_KEY, JSON.stringify(registryConfig)); - - notifyChange(exports.REGISTRY_CONFIG_KEY, registryConfig); } async function list() { @@ -197,11 +186,6 @@ async function list() { // convert booleans result[exports.DEMO_KEY] = !!result[exports.DEMO_KEY]; - // convert JSON objects - [exports.BACKUP_POLICY_KEY, exports.BACKUP_CONFIG_KEY, exports.REGISTRY_CONFIG_KEY ].forEach(function (key) { - result[key] = typeof result[key] === 'object' ? result[key] : safe.JSON.parse(result[key]); - }); - return result; } @@ -251,7 +235,6 @@ async function setApiServerOrigin(origin) { await set(exports.API_SERVER_ORIGIN_KEY, origin); gCache.apiServerOrigin = origin; - notifyChange(exports.API_SERVER_ORIGIN_KEY, origin); } function apiServerOrigin() { return gCache.apiServerOrigin; } diff --git a/src/updater.js b/src/updater.js index 7b0c5c16c..44f441e94 100644 --- a/src/updater.js +++ b/src/updater.js @@ -45,7 +45,7 @@ async function setAutoupdatePattern(pattern) { } await settings.set(settings.AUTOUPDATE_PATTERN_KEY, pattern); - await cron.autoupdatePatternChanged(pattern); + await cron.handleAutoupdatePatternChanged(pattern); } async function getAutoupdatePattern() {