return offine status if user isnt online

v1.18.x
Baris Soner Usakli
parent 214b74abc9
commit d788ad7cdf

@ -413,28 +413,39 @@ var bcrypt = require('bcryptjs'),
}; };
User.getUsers = function(set, start, stop, callback) { User.getUsers = function(set, start, stop, callback) {
var data = [];
db.getSortedSetRevRange(set, start, stop, function(err, uids) { db.getSortedSetRevRange(set, start, stop, function(err, uids) {
if (err) { if (err) {
return callback(err, null); return callback(err, null);
} }
function iterator(uid, callback) { function getUserData(uid, callback) {
User.getUserData(uid, function(err, userData) { User.getUserData(uid, function(err, userData) {
if(!userData.status) {
userData.status = 'offline';
}
User.isAdministrator(uid, function(err, isAdmin) { User.isAdministrator(uid, function(err, isAdmin) {
if (userData) { if (userData) {
userData.administrator = isAdmin?"1":"0"; userData.administrator = isAdmin ? '1':'0';
data.push(userData);
} }
callback(null);
if(set === 'users:online') {
return callback(null, userData);
}
db.sortedSetScore('users:online', uid, function(err, score) {
if(!score) {
userData.status = 'offline';
}
callback(null, userData);
});
}); });
}); });
} }
async.eachSeries(uids, iterator, function(err) { async.map(uids, getUserData, callback);
callback(err, data);
});
}); });
}; };

Loading…
Cancel
Save