From f0c1725b44042559f6ae0667788cefdc3e42d7a9 Mon Sep 17 00:00:00 2001 From: Aaron Dalton Date: Tue, 7 Nov 2023 08:32:36 -0500 Subject: [PATCH] Fix allow logic --- src/utils/auth/auth-helpers.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/utils/auth/auth-helpers.js b/src/utils/auth/auth-helpers.js index a6c2ccbb..e04b5365 100644 --- a/src/utils/auth/auth-helpers.js +++ b/src/utils/auth/auth-helpers.js @@ -31,13 +31,14 @@ function filterAllowedItems({user, groups}, itemGroups, groupKey) { return itemGroups.map((group) => ({ name: group.name, [groupKey]: group[groupKey].filter((item) => authItemFilter({user, groups}, item)) - })).filter((group) => !group[groupKey].length); + })).filter((group) => group[groupKey].length); } function authItemFilter({user, groups}, item) { - const groupAllow = (!('allowGroups' in item)) || groups.some(group => item.allowGroups.includes(group)); - const userAllow = (!('allowUsers' in item)) || item.allowUsers.includes(user); + const groupAllow = (('allowGroups' in item)) && groups.some(group => item.allowGroups.includes(group)); + const userAllow = (('allowUsers' in item)) && item.allowUsers.includes(user); + const allowAll = (!('allowGroups' in item)) && (!('allowUsers' in item)); - return userAllow || groupAllow; + return userAllow || groupAllow || allowAll; }