Allow box auto update pattern to be configurable
We just use the current app auto update pattern as the default. There is now only one pattern for box and app updates. Fixes #727
This commit is contained in:
@@ -1,11 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
exports = module.exports = {
|
||||
getAppAutoupdatePattern,
|
||||
setAppAutoupdatePattern,
|
||||
|
||||
getBoxAutoupdatePattern,
|
||||
setBoxAutoupdatePattern,
|
||||
getAutoupdatePattern,
|
||||
setAutoupdatePattern,
|
||||
|
||||
getTimeZone,
|
||||
setTimeZone,
|
||||
@@ -92,8 +89,7 @@ exports = module.exports = {
|
||||
DIRECTORY_CONFIG_KEY: 'directory_config',
|
||||
|
||||
// strings
|
||||
APP_AUTOUPDATE_PATTERN_KEY: 'app_autoupdate_pattern',
|
||||
BOX_AUTOUPDATE_PATTERN_KEY: 'box_autoupdate_pattern',
|
||||
AUTOUPDATE_PATTERN_KEY: 'autoupdate_pattern',
|
||||
TIME_ZONE_KEY: 'time_zone',
|
||||
CLOUDRON_NAME_KEY: 'cloudron_name',
|
||||
LICENSE_KEY: 'license_key',
|
||||
@@ -137,8 +133,7 @@ var addons = require('./addons.js'),
|
||||
|
||||
let gDefaults = (function () {
|
||||
var result = { };
|
||||
result[exports.APP_AUTOUPDATE_PATTERN_KEY] = cron.DEFAULT_APP_AUTOUPDATE_PATTERN;
|
||||
result[exports.BOX_AUTOUPDATE_PATTERN_KEY] = cron.DEFAULT_BOX_AUTOUPDATE_PATTERN;
|
||||
result[exports.AUTOUPDATE_PATTERN_KEY] = cron.DEFAULT_AUTOUPDATE_PATTERN;
|
||||
result[exports.TIME_ZONE_KEY] = 'America/Los_Angeles';
|
||||
result[exports.CLOUDRON_NAME_KEY] = 'Cloudron';
|
||||
result[exports.DYNAMIC_DNS_KEY] = false;
|
||||
@@ -206,7 +201,7 @@ function notifyChange(key, value) {
|
||||
cron.handleSettingsChanged(key, value);
|
||||
}
|
||||
|
||||
function setAppAutoupdatePattern(pattern, callback) {
|
||||
function setAutoupdatePattern(pattern, callback) {
|
||||
assert.strictEqual(typeof pattern, 'string');
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
@@ -215,49 +210,20 @@ function setAppAutoupdatePattern(pattern, callback) {
|
||||
if (!job) return callback(new BoxError(BoxError.BAD_FIELD, 'Invalid pattern', { field: 'pattern' }));
|
||||
}
|
||||
|
||||
settingsdb.set(exports.APP_AUTOUPDATE_PATTERN_KEY, pattern, function (error) {
|
||||
settingsdb.set(exports.AUTOUPDATE_PATTERN_KEY, pattern, function (error) {
|
||||
if (error) return callback(error);
|
||||
|
||||
notifyChange(exports.APP_AUTOUPDATE_PATTERN_KEY, pattern);
|
||||
notifyChange(exports.AUTOUPDATE_PATTERN_KEY, pattern);
|
||||
|
||||
return callback(null);
|
||||
});
|
||||
}
|
||||
|
||||
function getAppAutoupdatePattern(callback) {
|
||||
function getAutoupdatePattern(callback) {
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
settingsdb.get(exports.APP_AUTOUPDATE_PATTERN_KEY, function (error, pattern) {
|
||||
if (error && error.reason === BoxError.NOT_FOUND) return callback(null, gDefaults[exports.APP_AUTOUPDATE_PATTERN_KEY]);
|
||||
if (error) return callback(error);
|
||||
|
||||
callback(null, pattern);
|
||||
});
|
||||
}
|
||||
|
||||
function setBoxAutoupdatePattern(pattern, callback) {
|
||||
assert.strictEqual(typeof pattern, 'string');
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
if (pattern !== constants.AUTOUPDATE_PATTERN_NEVER) { // check if pattern is valid
|
||||
var job = safe.safeCall(function () { return new CronJob(pattern); });
|
||||
if (!job) return callback(new BoxError(BoxError.BAD_FIELD, 'Invalid pattern', { field: 'pattern' }));
|
||||
}
|
||||
|
||||
settingsdb.set(exports.BOX_AUTOUPDATE_PATTERN_KEY, pattern, function (error) {
|
||||
if (error) return callback(error);
|
||||
|
||||
notifyChange(exports.BOX_AUTOUPDATE_PATTERN_KEY, pattern);
|
||||
|
||||
return callback(null);
|
||||
});
|
||||
}
|
||||
|
||||
function getBoxAutoupdatePattern(callback) {
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
settingsdb.get(exports.BOX_AUTOUPDATE_PATTERN_KEY, function (error, pattern) {
|
||||
if (error && error.reason === BoxError.NOT_FOUND) return callback(null, gDefaults[exports.BOX_AUTOUPDATE_PATTERN_KEY]);
|
||||
settingsdb.get(exports.AUTOUPDATE_PATTERN_KEY, function (error, pattern) {
|
||||
if (error && error.reason === BoxError.NOT_FOUND) return callback(null, gDefaults[exports.AUTOUPDATE_PATTERN_KEY]);
|
||||
if (error) return callback(error);
|
||||
|
||||
callback(null, pattern);
|
||||
|
||||
Reference in New Issue
Block a user