fix: uniqCids

This commit is contained in:
Barış Soner Uşaklı
2024-04-15 12:10:36 -04:00
parent 5af69dbcef
commit de0176ef8a

View File

@@ -81,16 +81,17 @@ module.exports = function (SocketPosts) {
if (!isArray) {
cids = [cids];
}
const uniqCids = _.uniq(cids);
const [canRead, isAdmin, isMod] = await Promise.all([
privileges.categories.isUserAllowedTo(
'topics:read', _.uniq(cids), uid
'topics:read', uniqCids, uid
),
privileges.users.isAdministrator(uid),
privileges.users.isModerator(uid, cids),
]);
const cidToAllowed = _.zip(uniqCids, canRead);
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];
}