mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-20 07:20:27 +01:00
fix: uniqCids
This commit is contained in:
@@ -81,16 +81,17 @@ module.exports = function (SocketPosts) {
|
|||||||
if (!isArray) {
|
if (!isArray) {
|
||||||
cids = [cids];
|
cids = [cids];
|
||||||
}
|
}
|
||||||
|
const uniqCids = _.uniq(cids);
|
||||||
const [canRead, isAdmin, isMod] = await Promise.all([
|
const [canRead, isAdmin, isMod] = await Promise.all([
|
||||||
privileges.categories.isUserAllowedTo(
|
privileges.categories.isUserAllowedTo(
|
||||||
'topics:read', _.uniq(cids), uid
|
'topics:read', uniqCids, uid
|
||||||
),
|
),
|
||||||
privileges.users.isAdministrator(uid),
|
privileges.users.isAdministrator(uid),
|
||||||
privileges.users.isModerator(uid, cids),
|
privileges.users.isModerator(uid, cids),
|
||||||
]);
|
]);
|
||||||
|
const cidToAllowed = _.zip(uniqCids, canRead);
|
||||||
const checks = cids.map(
|
const checks = cids.map(
|
||||||
(cid, index) => isAdmin || isMod[index] || (canRead[index] && !!meta.config.votesArePublic)
|
(cid, index) => isAdmin || isMod[index] || (cidToAllowed[index] && !!meta.config.votesArePublic)
|
||||||
);
|
);
|
||||||
return isArray ? checks : checks[0];
|
return isArray ? checks : checks[0];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user