diff --git a/lib/core/src/lib/app-config/app-config.loader.ts b/lib/core/src/lib/app-config/app-config.loader.ts index fbea0b24bd..10c17ebb48 100644 --- a/lib/core/src/lib/app-config/app-config.loader.ts +++ b/lib/core/src/lib/app-config/app-config.loader.ts @@ -20,9 +20,14 @@ import { StorageService } from '../common/services/storage.service'; import { AdfHttpClient } from '@alfresco/adf-core/api'; export function loadAppConfig(appConfigService: AppConfigService, storageService: StorageService, adfHttpClient: AdfHttpClient) { + const init = () => { adfHttpClient.disableCsrf = appConfigService.get(AppConfigValues.DISABLECSRF, true); storageService.prefix = appConfigService.get(AppConfigValues.STORAGE_PREFIX, ''); + + appConfigService.select(AppConfigValues.STORAGE_PREFIX).subscribe((property) => { + storageService.prefix = property + }); }; return () => appConfigService.load(init); }; diff --git a/lib/core/src/lib/app-config/app-config.service.ts b/lib/core/src/lib/app-config/app-config.service.ts index e8ce94ab08..497926fd9b 100644 --- a/lib/core/src/lib/app-config/app-config.service.ts +++ b/lib/core/src/lib/app-config/app-config.service.ts @@ -99,7 +99,7 @@ export class AppConfigService { select(property: string): Observable { return this.onLoadSubject .pipe( - map((config) => config[property]), + map((config) => ObjectUtils.getValue(config, property)), distinctUntilChanged() ); } diff --git a/lib/core/src/lib/common/mock/app-config.service.mock.ts b/lib/core/src/lib/common/mock/app-config.service.mock.ts index ca88d1be65..6dbb6c22de 100644 --- a/lib/core/src/lib/common/mock/app-config.service.mock.ts +++ b/lib/core/src/lib/common/mock/app-config.service.mock.ts @@ -19,12 +19,14 @@ import { Injectable } from '@angular/core'; import { AppConfigService, Status } from '../../app-config/app-config.service'; import { HttpClient } from '@angular/common/http'; import { ExtensionService } from '@alfresco/adf-extensions'; + @Injectable() export class AppConfigServiceMock extends AppConfigService { config: any = { application: { - name: 'Alfresco ADF Application' + name: 'Alfresco ADF Application', + storagePrefix: 'ADF_APP' }, ecmHost: 'http://{hostname}{:port}/ecm', bpmHost: 'http://{hostname}{:port}/bpm', @@ -35,11 +37,12 @@ export class AppConfigServiceMock extends AppConfigService { super(http, extensionService); } - load(): Promise { + load(callback?: (...args: any[]) => any): Promise { return new Promise((resolve) => { this.status = Status.LOADED; - this.onDataLoaded(); + callback?.(); resolve(this.config); + this.onDataLoaded(); }); } } diff --git a/lib/core/src/lib/common/services/storage.service.spec.ts b/lib/core/src/lib/common/services/storage.service.spec.ts index a20f29e6e0..755c8f1d56 100644 --- a/lib/core/src/lib/common/services/storage.service.spec.ts +++ b/lib/core/src/lib/common/services/storage.service.spec.ts @@ -21,7 +21,6 @@ import { StorageService } from '../../common/services/storage.service'; import { CoreTestingModule } from '../../testing/core.testing.module'; import { AppConfigServiceMock } from '../mock/app-config.service.mock'; import { TranslateModule } from '@ngx-translate/core'; -import { CoreModule } from '../../core.module'; describe('StorageService', () => { @@ -34,8 +33,6 @@ describe('StorageService', () => { beforeEach(() => { TestBed.configureTestingModule({ imports: [ - TranslateModule.forRoot(), - CoreModule.forRoot(), CoreTestingModule ] }); @@ -87,6 +84,7 @@ describe('StorageService', () => { ] }); appConfig = TestBed.inject(AppConfigService); + appConfig.config = { application: { storagePrefix: ''