mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
Fix empty current permissions (#10236)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { flatten, merge, omit } from 'lodash';
|
||||
import { flatten, merge, omit, isEmpty } from 'lodash';
|
||||
import { Permission, LogicalFilterOR } from '@directus/shared/types';
|
||||
|
||||
export function mergePermissions(...permissions: Permission[][]): Permission[] {
|
||||
@@ -26,12 +26,12 @@ function mergePerm(currentPerm: Permission, newPerm: Permission) {
|
||||
let fields = currentPerm.fields;
|
||||
let presets = currentPerm.presets;
|
||||
|
||||
if (newPerm.permissions) {
|
||||
if (newPerm.permissions && !isEmpty(newPerm.permissions)) {
|
||||
if (currentPerm.permissions && Object.keys(currentPerm.permissions)[0] === '_or') {
|
||||
permissions = {
|
||||
_or: [...(currentPerm.permissions as LogicalFilterOR)._or, newPerm.permissions],
|
||||
};
|
||||
} else if (currentPerm.permissions) {
|
||||
} else if (currentPerm.permissions && !isEmpty(currentPerm.permissions)) {
|
||||
permissions = {
|
||||
_or: [currentPerm.permissions, newPerm.permissions],
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user