mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 20:16:04 +01:00
closes #1253
This commit is contained in:
@@ -380,25 +380,27 @@ var async = require('async'),
|
||||
};
|
||||
|
||||
Topics.getUids = function(tid, callback) {
|
||||
var uids = {};
|
||||
Topics.getPids(tid, function(err, pids) {
|
||||
|
||||
function getUid(pid, next) {
|
||||
posts.getPostField(pid, 'uid', function(err, uid) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
uids[uid] = 1;
|
||||
next();
|
||||
});
|
||||
}
|
||||
|
||||
async.each(pids, getUid, function(err) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
callback(null, Object.keys(uids));
|
||||
var keys = pids.map(function(pid) {
|
||||
return 'post:' + pid;
|
||||
});
|
||||
|
||||
db.getObjectsFields(keys, ['uid'], function(err, data) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
var uids = data.map(function(data) {
|
||||
return data.uid;
|
||||
}).filter(function(uid, pos, array) {
|
||||
return array.indexOf(uid) === pos;
|
||||
});
|
||||
|
||||
callback(null, uids);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user