v1.18.x
barisusakli 9 years ago
parent 46d2168918
commit 7269d45e84

@ -179,12 +179,10 @@ function completeConfigSetup(err, config, next) {
function setupDefaultConfigs(next) { function setupDefaultConfigs(next) {
process.stdout.write('Populating database with default configs, if not already set...\n'); process.stdout.write('Populating database with default configs, if not already set...\n');
var meta = require('./meta'), var meta = require('./meta');
defaults = require(path.join(__dirname, '../', 'install/data/defaults.json')); var defaults = require(path.join(__dirname, '../', 'install/data/defaults.json'));
async.eachSeries(Object.keys(defaults), function (key, next) { meta.configs.setOnEmpty(key, defaults, function (err) {
meta.configs.setOnEmpty(key, defaults[key], next);
}, function (err) {
if (err) { if (err) {
return next(err); return next(err);
} }

@ -118,14 +118,19 @@ module.exports = function(Meta) {
} }
}); });
Meta.configs.setOnEmpty = function (field, value, callback) { Meta.configs.setOnEmpty = function (values, callback) {
Meta.configs.get(field, function (err, curValue) { db.getObject('config', function(err, data) {
if (err) { if (err) {
return callback(err); return callback(err);
} }
var empty = {};
if (!curValue) { Object.keys(values).forEach(function(key) {
Meta.configs.set(field, value, callback); if (!data.hasOwnProperty(key)) {
empty[key] = values[key];
}
});
if (Object.keys(empty).length) {
db.setObject('config', empty, callback);
} else { } else {
callback(); callback();
} }

@ -38,14 +38,20 @@ module.exports = function(Meta) {
db.setObjectField('settings:' + hash, field, value, callback); db.setObjectField('settings:' + hash, field, value, callback);
}; };
Meta.settings.setOnEmpty = function (hash, field, value, callback) { Meta.settings.setOnEmpty = function (hash, values, callback) {
Meta.settings.getOne(hash, field, function (err, curValue) { db.getObject('settings:' + hash, function(err, settings) {
if (err) { if (err) {
return callback(err); return callback(err);
} }
var empty = {};
Object.keys(values).forEach(function(key) {
if (!settings.hasOwnProperty(key)) {
empty[key] = values[key];
}
});
if (!curValue) { if (Object.keys(empty).length) {
Meta.settings.setOne(hash, field, value, callback); db.setObject('settings:' + hash, empty, callback);
} else { } else {
callback(); callback();
} }

Loading…
Cancel
Save