RED-4006: Fixed config loader

This commit is contained in:
Adina Țeudan 2022-05-17 13:45:05 +03:00
parent 6dd41209e8
commit 89ebc1fa17
2 changed files with 18 additions and 8 deletions

View File

@ -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<void> {
return () =>
keycloakService
.init(getKeycloakOptions(configService, baseUrl))
.then(() => configureAutomaticRedirectToLoginScreen(keycloakService));
firstValueFrom(configService.loadLocalConfig()).then(() =>
keycloakService
.init(getKeycloakOptions(configService, baseUrl))
.then(() => configureAutomaticRedirectToLoginScreen(keycloakService)),
);
}
@NgModule({

View File

@ -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<any> {
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<any> {
return this._httpClient.get<any>('/assets/config/config.json').pipe(
tap(config => {
console.log('[REDACTION] Started with local config: ', config);
this._values = config;
}),
);
}