Files
NodeBB/src/categories/activeusers.js

32 lines
738 B
JavaScript
Raw Normal View History

2014-03-12 21:41:53 -04:00
'use strict';
var async = require('async'),
2014-07-13 14:57:55 -04:00
db = require('../database');
2014-03-12 21:41:53 -04:00
module.exports = function(Categories) {
2014-04-24 18:59:19 -04:00
Categories.getActiveUsers = function(cid, callback) {
2014-07-13 14:57:55 -04:00
async.waterfall([
function(next) {
2014-07-29 00:50:53 -04:00
db.getSortedSetRevRange('categories:recent_posts:cid:' + cid, 0, 49, next);
2014-07-13 14:57:55 -04:00
},
function(pids, next) {
var keys = pids.map(function(pid) {
return 'post:' + pid;
});
2014-03-12 21:41:53 -04:00
2014-07-13 14:57:55 -04:00
db.getObjectsFields(keys, ['uid'], next);
},
function(users, next) {
2014-04-24 18:59:19 -04:00
var uids = users.map(function(user) {
return user.uid;
}).filter(function(value, index, array) {
return parseInt(value, 10) !== 0 && array.indexOf(value) === index;
}).slice(0, 24);
2014-03-12 21:41:53 -04:00
2014-04-24 18:59:19 -04:00
callback(null, uids);
2014-07-13 14:57:55 -04:00
}
], callback);
2014-03-12 21:41:53 -04:00
};
2014-04-10 20:31:57 +01:00
};