From bb64be3a2b9bc1b0c315d280267d8399f08d5365 Mon Sep 17 00:00:00 2001 From: Andrea Barbasso <´andrea.barbasso@4science.com´> Date: Thu, 18 Jan 2024 15:53:31 +0100 Subject: [PATCH] [DURACOM-191] remove provide-render-auth-method, use exported const instead --- src/app/app.module.ts | 4 ++-- src/app/core/provide-render-auth-method.ts | 14 ------------ .../methods/log-in.methods-decorator.ts | 22 +++++++++++-------- 3 files changed, 15 insertions(+), 25 deletions(-) delete mode 100644 src/app/core/provide-render-auth-method.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 304fda45c6..bc52db8063 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -33,10 +33,10 @@ import { ThemedRootComponent } from './root/themed-root.component'; import { workflowTasks } from './core/provide-workflow-tasks'; import { metadataRepresentations } from './core/provide-metadata-representation'; import { renderStartsWith } from './core/provide-render-starts-with'; -import { renderAuthMethod } from './core/provide-render-auth-method'; import { NgxMaskModule } from 'ngx-mask'; import { ListableModule } from './core/shared/listable.module'; import { BROWSE_BY_DECORATOR_MAP } from './browse-by/browse-by-switcher/browse-by-decorator'; +import { AUTH_METHOD_FOR_DECORATOR_MAP } from './shared/log-in/methods/log-in.methods-decorator'; export function getConfig() { return environment; @@ -138,5 +138,5 @@ export class AppModule { metadataRepresentations = metadataRepresentations; renderStartsWith = renderStartsWith; browseByDecoratorMap = BROWSE_BY_DECORATOR_MAP; - renderAuthMethod = renderAuthMethod; + authMethodForDecoratorMap = AUTH_METHOD_FOR_DECORATOR_MAP; } diff --git a/src/app/core/provide-render-auth-method.ts b/src/app/core/provide-render-auth-method.ts deleted file mode 100644 index 5dbacdf4ef..0000000000 --- a/src/app/core/provide-render-auth-method.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { - LogInExternalProviderComponent -} from '../shared/log-in/methods/log-in-external-provider/log-in-external-provider.component'; -import { LogInPasswordComponent } from '../shared/log-in/methods/password/log-in-password.component'; - - -/** - * Declaration needed to make sure all decorator functions are called in time - */ -export const renderAuthMethod = - [ - LogInExternalProviderComponent, - LogInPasswordComponent, - ]; diff --git a/src/app/shared/log-in/methods/log-in.methods-decorator.ts b/src/app/shared/log-in/methods/log-in.methods-decorator.ts index ac9b53379a..ff023f3bab 100644 --- a/src/app/shared/log-in/methods/log-in.methods-decorator.ts +++ b/src/app/shared/log-in/methods/log-in.methods-decorator.ts @@ -1,23 +1,27 @@ -import { Component, Type } from '@angular/core'; import { AuthMethodType } from '../../../core/auth/models/auth.method-type'; import { LogInPasswordComponent } from './password/log-in-password.component'; import { LogInExternalProviderComponent } from './log-in-external-provider/log-in-external-provider.component'; -const authMethodsMap: Map = new Map(); +type AuthMethodTypeComponent = + typeof LogInPasswordComponent | + typeof LogInExternalProviderComponent; + +export const AUTH_METHOD_FOR_DECORATOR_MAP = new Map([ + [AuthMethodType.Password, LogInPasswordComponent], + [AuthMethodType.Shibboleth, LogInExternalProviderComponent], + [AuthMethodType.Oidc, LogInExternalProviderComponent], + [AuthMethodType.Orcid, LogInExternalProviderComponent] +]); -authMethodsMap.set(AuthMethodType.Password, LogInPasswordComponent); -authMethodsMap.set(AuthMethodType.Shibboleth, LogInExternalProviderComponent); -authMethodsMap.set(AuthMethodType.Oidc, LogInExternalProviderComponent); -authMethodsMap.set(AuthMethodType.Orcid, LogInExternalProviderComponent); export function renderAuthMethodFor(authMethodType: AuthMethodType) { return function decorator(objectElement: any) { if (!objectElement) { return; } - authMethodsMap.set(authMethodType, objectElement); + AUTH_METHOD_FOR_DECORATOR_MAP.set(authMethodType, objectElement); }; } -export function rendersAuthMethodType(authMethodType: AuthMethodType): Type | undefined { - return authMethodsMap.get(authMethodType); +export function rendersAuthMethodType(authMethodType: AuthMethodType) { + return AUTH_METHOD_FOR_DECORATOR_MAP.get(authMethodType); }