mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 11:35:55 +01:00
send uids to isOnline in messaging
This commit is contained in:
@@ -221,32 +221,27 @@ var db = require('./database'),
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
async.parallel({
|
||||
unreadUids: async.apply(db.isSortedSetMembers, 'uid:' + uid + ':chats:unread', uids),
|
||||
users: async.apply(user.getMultipleUserFields, uids, ['username', 'picture', 'uid'])
|
||||
}, function(err, results) {
|
||||
db.isSortedSetMembers('uid:' + uid + ':chats:unread', uids, function(err, unreadUids) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
var users = results.users;
|
||||
|
||||
for (var i=0; i<users.length; ++i) {
|
||||
users[i].unread = results.unreadUids[i];
|
||||
}
|
||||
user.isOnline(uids, function(err, users) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
users = users.filter(function(user, index) {
|
||||
return !!user.uid;
|
||||
});
|
||||
|
||||
async.map(users, function(userData, next) {
|
||||
user.isOnline(userData.uid, function(err, data) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
users.forEach(function(user, index) {
|
||||
if (user) {
|
||||
user.unread = unreadUids[index];
|
||||
}
|
||||
userData.status = data.status;
|
||||
next(null, userData);
|
||||
});
|
||||
}, callback);
|
||||
|
||||
users = users.filter(function(user) {
|
||||
return !!user.uid;
|
||||
});
|
||||
callback(null, users);
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -442,6 +442,10 @@ var bcrypt = require('bcryptjs'),
|
||||
return user;
|
||||
});
|
||||
|
||||
if (uids.length === 1) {
|
||||
userData = userData[0];
|
||||
}
|
||||
|
||||
callback(null, userData);
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user