From 89ebc1fa17b2bd0135aa680f87a729578155e0f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Tue, 17 May 2022 13:45:05 +0300 Subject: [PATCH] RED-4006: Fixed config loader --- apps/red-ui/src/app/modules/auth/auth.module.ts | 9 ++++++--- apps/red-ui/src/app/services/config.service.ts | 17 ++++++++++++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/red-ui/src/app/modules/auth/auth.module.ts b/apps/red-ui/src/app/modules/auth/auth.module.ts index 11bab1020..579141b47 100644 --- a/apps/red-ui/src/app/modules/auth/auth.module.ts +++ b/apps/red-ui/src/app/modules/auth/auth.module.ts @@ -5,6 +5,7 @@ import { HttpClientModule } from '@angular/common/http'; import { KeycloakAngularModule, KeycloakOptions, KeycloakService } from 'keycloak-angular'; import { ConfigService } from '@services/config.service'; import { BASE_HREF } from '../../tokens'; +import { firstValueFrom } from 'rxjs'; function getKeycloakOptions(configService: ConfigService, baseUrl: string) { let url: string = configService.values.OAUTH_URL; @@ -36,9 +37,11 @@ function configureAutomaticRedirectToLoginScreen(keyCloakService: KeycloakServic export function keycloakInitializer(keycloakService: KeycloakService, configService: ConfigService, baseUrl: string): () => Promise { return () => - keycloakService - .init(getKeycloakOptions(configService, baseUrl)) - .then(() => configureAutomaticRedirectToLoginScreen(keycloakService)); + firstValueFrom(configService.loadLocalConfig()).then(() => + keycloakService + .init(getKeycloakOptions(configService, baseUrl)) + .then(() => configureAutomaticRedirectToLoginScreen(keycloakService)), + ); } @NgModule({ diff --git a/apps/red-ui/src/app/services/config.service.ts b/apps/red-ui/src/app/services/config.service.ts index 98c9d80ff..3ba92c7bd 100644 --- a/apps/red-ui/src/app/services/config.service.ts +++ b/apps/red-ui/src/app/services/config.service.ts @@ -20,8 +20,6 @@ export class ConfigService { private readonly _titleService: Title, ) { this._checkFrontendVersion(); - - console.log('[REDACTION] Started with config: ', this._values); } private _values: AppConfig = { ...envConfig, FRONTEND_APP_VERSION: version } as const; @@ -32,9 +30,18 @@ export class ConfigService { loadAppConfig(): Observable { return this._httpClient.get('/app-config').pipe( - tap(appConfig => { - console.log('[REDACTION] Loaded app config: ', appConfig); - this._values = { ...this._values, ...appConfig }; + tap(config => { + console.log('[REDACTION] Loaded config: ', config); + this._values = { ...this._values, ...config }; + }), + ); + } + + loadLocalConfig(): Observable { + return this._httpClient.get('/assets/config/config.json').pipe( + tap(config => { + console.log('[REDACTION] Started with local config: ', config); + this._values = config; }), ); }