mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-12 08:55:47 +01:00
added filterUids method to privileges
used to filter uids on a single category
This commit is contained in:
@@ -173,6 +173,9 @@
|
||||
|
||||
Groups.isMemberOfGroupList = function(uid, groupListKey, callback) {
|
||||
db.getSetMembers('group:' + groupListKey + ':members', function(err, groupNames) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
groupNames = internals.removeEphemeralGroups(groupNames);
|
||||
if (groupNames.length === 0) {
|
||||
return callback(null, null);
|
||||
@@ -180,11 +183,7 @@
|
||||
|
||||
async.some(groupNames, function(groupName, next) {
|
||||
Groups.isMember(uid, groupName, function(err, isMember) {
|
||||
if (!err && isMember) {
|
||||
next(true);
|
||||
} else {
|
||||
next(false);
|
||||
}
|
||||
next(!err && isMember);
|
||||
});
|
||||
}, function(result) {
|
||||
callback(null, result);
|
||||
@@ -192,6 +191,38 @@
|
||||
});
|
||||
};
|
||||
|
||||
Groups.isMembersOfGroupList = function(uids, groupListKey, callback) {
|
||||
db.getSetMembers('group:' + groupListKey + ':members', function(err, groupNames) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
groupNames = internals.removeEphemeralGroups(groupNames);
|
||||
if (groupNames.length === 0) {
|
||||
return callback(null, null);
|
||||
}
|
||||
var results = [];
|
||||
uids.forEach(function() {
|
||||
results.push(false);
|
||||
});
|
||||
|
||||
async.each(groupNames, function(groupName, next) {
|
||||
Groups.isMembers(uids, groupName, function(err, isMembers) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
results.forEach(function(isMember, index) {
|
||||
if (!isMember && isMembers[index]) {
|
||||
results[index] = true;
|
||||
}
|
||||
});
|
||||
next();
|
||||
});
|
||||
}, function(err) {
|
||||
callback(err, results);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
Groups.exists = function(name, callback) {
|
||||
if (Array.isArray(name)) {
|
||||
db.isSetMembers('groups', name, callback);
|
||||
|
||||
Reference in New Issue
Block a user