more async in categories

v1.18.x
Baris Usakli 12 years ago
parent ff9990701b
commit e5301deea2

@ -16,12 +16,19 @@ var RDB = require('./redis.js'),
return; return;
} }
RDB.smembers('categories:' + category_id + ':tid', function(err, tids) { var category_name = categoryData.name,
var category_name = categoryData.name;
category_slug = categoryData.slug; category_slug = categoryData.slug;
RDB.smembers('cid:' + category_id + ':active_users', function(err, active_users) { function getTopicIds(next) {
Categories.getTopicIds(category_id, next);
}
function getActiveUsers(next) {
Categories.getActiveUsers(category_id, next);
}
async.parallel([getTopicIds, getActiveUsers], function(err, results) {
var tids = results[0],
active_users = results[1];
var categoryData = { var categoryData = {
'category_name' : category_name, 'category_name' : category_name,
@ -52,9 +59,7 @@ var RDB = require('./redis.js'),
} }
function getModerators(next) { function getModerators(next) {
Categories.getModerators(category_id, function(moderators) { Categories.getModerators(category_id, next);
next(null, moderators);
});
} }
function getActiveUsers(next) { function getActiveUsers(next) {
@ -81,9 +86,17 @@ var RDB = require('./redis.js'),
callback(categoryData); callback(categoryData);
}); });
} }
}); });
}); });
}); }
Categories.getTopicIds = function(cid, callback) {
RDB.smembers('categories:' + cid + ':tid', callback);
}
Categories.getActiveUsers = function(cid, callback) {
RDB.smembers('cid:' + cid + ':active_users', callback);
} }
// not the permanent location for this function // not the permanent location for this function
@ -204,16 +217,20 @@ var RDB = require('./redis.js'),
}); });
} }
Categories.getModerators = function(cid, callback) { Categories.getModerators = function(cid, callback) {
RDB.smembers('cid:' + cid + ':moderators', function(err, mods) { RDB.smembers('cid:' + cid + ':moderators', function(err, mods) {
if (mods.length === 0) if(!err) {
return callback([]); if(mods && mods.length) {
user.getMultipleUserFields(mods, ['username'], function(moderators) { user.getMultipleUserFields(mods, ['username'], function(moderators) {
callback(moderators); callback(null, moderators);
}); });
} else {
callback(null, []);
}
} else {
callback(err, null);
}
}); });
} }

Loading…
Cancel
Save