From 623019fe6a42ba458ea8172c0905cdc68d74f986 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Wed, 3 Apr 2024 17:15:25 +0200 Subject: [PATCH] improve mfa action condition so it only spins up the observer in the constructor once (it doesn't need to know about the selected user) --- .../conditions/user-allow-mfa-action.condition.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/conditions/user-allow-mfa-action.condition.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/conditions/user-allow-mfa-action.condition.ts index f5a47432b8..4f931a894b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/conditions/user-allow-mfa-action.condition.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/conditions/user-allow-mfa-action.condition.ts @@ -1,10 +1,14 @@ -import { UmbUserActionConditionBase } from './user-allow-action-base.condition.js'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { ManifestCondition } from '@umbraco-cms/backoffice/extension-api'; -import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; +import { UmbConditionBase, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; + +export class UmbUserAllowMfaActionCondition extends UmbConditionBase { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + constructor(host: UmbControllerHost, args: any) { + super(host, args); -export class UmbUserAllowMfaActionCondition extends UmbUserActionConditionBase { - async _onUserDataChange() { // Check if there are any MFA providers available + this.permitted = false; this.observe( umbExtensionsRegistry.byType('mfaLoginProvider'), (exts) => (this.permitted = exts.length > 0),