From 96c3e1be3c203ef935f6d613c284b3de8b5b4dd2 Mon Sep 17 00:00:00 2001 From: masum-ulu Date: Tue, 8 Oct 2024 11:39:32 +0300 Subject: [PATCH] policy function renamed --- .../extensible/src/lib/utils/props.util.ts | 27 ++++++++----------- .../extensible/src/lib/utils/state.util.ts | 4 +-- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts index fa6f60eec1..7f06a9b1de 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts @@ -51,22 +51,13 @@ export function mergeWithDefaultProps>( }); } -function isPolicyMet( - checkFunction: (item: string) => boolean, - requiresAll: boolean, - items?: string[], -): boolean { - if (!items?.length) { - return true; - } - return requiresAll ? items.every(checkFunction) : items.some(checkFunction); -} - -export function checkPolicyProperties( +export function checkPolicies( properties: ObjectExtensions.EntityExtensionProperties, configState: ConfigStateService, permissionService: PermissionService, ) { + const props = Object.entries(properties); + const checkPolicy = (policy: Policy): boolean => { const { permissions, globalFeatures, features } = policy; @@ -88,12 +79,16 @@ export function checkPolicyProperties( }, ]; - return checks.every(({ items, requiresAll, check }) => - isPolicyMet(check, requiresAll ?? false, items), - ); + return checks.every(({ items, requiresAll, check }) => { + if (!items?.length) { + return true; + } + + return requiresAll ? items.every(check) : items.some(check); + }); }; - Object.entries(properties).forEach(([name, property]) => { + props.forEach(([name, property]) => { if (property.policy && !checkPolicy(property.policy)) { delete properties[name]; } diff --git a/npm/ng-packs/packages/components/extensible/src/lib/utils/state.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/state.util.ts index f6bbdf5b2d..68a97e844c 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/utils/state.util.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/utils/state.util.ts @@ -16,7 +16,7 @@ import { ObjectExtensions } from '../models/object-extensions'; import { PropCallback } from '../models/props'; import { createEnum, createEnumOptions, createEnumValueResolver } from './enum.util'; import { createDisplayNameLocalizationPipeKeyGenerator } from './localization.util'; -import { checkPolicyProperties, createExtraPropertyValueResolver } from './props.util'; +import { checkPolicies, createExtraPropertyValueResolver } from './props.util'; import { createTypeaheadDisplayNameGenerator, createTypeaheadOptions, @@ -100,7 +100,7 @@ export function mapEntitiesToContributors( return acc; } - checkPolicyProperties(properties, configState, permissionService); + checkPolicies(properties, configState, permissionService); const mapPropertiesToContributors = createPropertiesToContributorsMapper( generateDisplayName,