send uids to isOnline in messaging

v1.18.x
barisusakli 11 years ago
parent c07d9121df
commit 851d5c0f32

@ -221,32 +221,27 @@ var db = require('./database'),
return callback(err); return callback(err);
} }
async.parallel({ db.isSortedSetMembers('uid:' + uid + ':chats:unread', uids, function(err, unreadUids) {
unreadUids: async.apply(db.isSortedSetMembers, 'uid:' + uid + ':chats:unread', uids),
users: async.apply(user.getMultipleUserFields, uids, ['username', 'picture', 'uid'])
}, function(err, results) {
if (err) { if (err) {
return callback(err); return callback(err);
} }
var users = results.users;
for (var i=0; i<users.length; ++i) { user.isOnline(uids, function(err, users) {
users[i].unread = results.unreadUids[i]; if (err) {
return callback(err);
} }
users = users.filter(function(user, index) { users.forEach(function(user, index) {
return !!user.uid; if (user) {
user.unread = unreadUids[index];
}
}); });
async.map(users, function(userData, next) { users = users.filter(function(user) {
user.isOnline(userData.uid, function(err, data) { return !!user.uid;
if (err) { });
return next(err); callback(null, users);
}
userData.status = data.status;
next(null, userData);
}); });
}, callback);
}); });
}); });
}; };

@ -442,6 +442,10 @@ var bcrypt = require('bcryptjs'),
return user; return user;
}); });
if (uids.length === 1) {
userData = userData[0];
}
callback(null, userData); callback(null, userData);
}); });
}; };

Loading…
Cancel
Save