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)

This commit is contained in:
Jacob Overgaard
2024-04-03 17:15:25 +02:00
parent 86f68fd325
commit 623019fe6a

View File

@@ -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<never> {
// 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),