diff --git a/app/server/lib/PermissionInfo.ts b/app/server/lib/PermissionInfo.ts index 897dc8d5..164db7ad 100644 --- a/app/server/lib/PermissionInfo.ts +++ b/app/server/lib/PermissionInfo.ts @@ -202,7 +202,8 @@ export class PermissionInfo extends RuleInfo = ['create', 'update', 'delete']; + const changesData = (perm: string) => dataChangePerms.includes(perm as keyof PermissionSet); + pset = mapValues(pset, (val, perm) => val === 'denySome' && changesData(perm) ? "mixed" : val); + } } else { // Unexpected error. Interpret rule pessimistically. // Anything it would explicitly allow, no longer allow through this rule.