From 7966b4ea9de6be876737597cf85c00aeaab61ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Varela?= Date: Thu, 2 Dec 2021 19:49:11 +0000 Subject: [PATCH] Fix empty current permissions (#10236) --- api/src/utils/merge-permissions.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/src/utils/merge-permissions.ts b/api/src/utils/merge-permissions.ts index 48c82b6cc5850..1a6b2fd9f99ba 100644 --- a/api/src/utils/merge-permissions.ts +++ b/api/src/utils/merge-permissions.ts @@ -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], };