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) { 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];
} }