closed #275, refactored configs to use new method "list", which returns error first

This commit is contained in:
Julian Lam
2013-09-11 13:49:17 -04:00
parent ae6f9fc87c
commit cffbc76da1
3 changed files with 37 additions and 21 deletions

View File

@@ -2,30 +2,34 @@ var utils = require('./../public/src/utils.js'),
RDB = require('./redis.js'),
async = require('async'),
path = require('path'),
fs = require('fs');
fs = require('fs'),
winston = require('winston');
(function(Meta) {
Meta.configs = {
init: function(callback) {
Meta.configs.get(function(config) {
Meta.config = config;
callback();
Meta.configs.list(function(err, config) {
if (!err) {
Meta.config = config;
callback();
} else winston.error(err);
});
},
get: function(callback) {
list: function(callback) {
RDB.hgetall('config', function(err, config) {
if (!err) {
config = config || {};
config.status = 'ok';
callback(config);
callback(err, config);
} else {
callback({
status: 'error'
});
callback(new Error('could-not-read-config'));
}
});
},
get: function(field, callback) {
RDB.hget('config', field, callback);
},
getFields: function(fields, callback) {
RDB.hmgetObject('config', fields, callback);
},
@@ -35,6 +39,12 @@ var utils = require('./../public/src/utils.js'),
callback(err, res);
});
},
setOnEmpty: function(field, value, callback) {
this.get(field, function(err, curValue) {
if (!curValue) Meta.configs.set(field, value, callback);
else callback();
});
},
remove: function(field) {
RDB.hdel('config', field);
}