Fix allow logic
This commit is contained in:
parent
31feed17d8
commit
ec064c5917
@ -31,13 +31,14 @@ function filterAllowedItems({user, groups}, itemGroups, groupKey) {
|
|||||||
return itemGroups.map((group) => ({
|
return itemGroups.map((group) => ({
|
||||||
name: group.name,
|
name: group.name,
|
||||||
[groupKey]: group[groupKey].filter((item) => authItemFilter({user, groups}, item))
|
[groupKey]: group[groupKey].filter((item) => authItemFilter({user, groups}, item))
|
||||||
})).filter((group) => !group[groupKey].length);
|
})).filter((group) => group[groupKey].length);
|
||||||
}
|
}
|
||||||
|
|
||||||
function authItemFilter({user, groups}, item) {
|
function authItemFilter({user, groups}, item) {
|
||||||
const groupAllow = (!('allowGroups' in item)) || groups.some(group => item.allowGroups.includes(group));
|
const groupAllow = (('allowGroups' in item)) && groups.some(group => item.allowGroups.includes(group));
|
||||||
const userAllow = (!('allowUsers' in item)) || item.allowUsers.includes(user);
|
const userAllow = (('allowUsers' in item)) && item.allowUsers.includes(user);
|
||||||
|
const allowAll = (!('allowGroups' in item)) && (!('allowUsers' in item));
|
||||||
|
|
||||||
return userAllow || groupAllow;
|
return userAllow || groupAllow || allowAll;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user