mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[AAE-16491] Fix session invalidation for Http 401 response (#8909)
This commit is contained in:
@@ -15,6 +15,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiConfig, AlfrescoApi } from '@alfresco/js-api';
|
||||
|
||||
export interface AlfrescoApiInterface {
|
||||
load(): Promise<void> ;
|
||||
}
|
||||
|
||||
export interface AlfrescoApiFactory {
|
||||
createAlfrescoApi(config: AlfrescoApiConfig): AlfrescoApi;
|
||||
}
|
||||
|
@@ -15,13 +15,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
||||
import { AlfrescoApi, AlfrescoApiConfig } from '@alfresco/js-api';
|
||||
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
|
||||
import { ReplaySubject } from 'rxjs';
|
||||
import { OauthConfigModel } from '../auth/models/oauth-config.model';
|
||||
import { StorageService } from '../common/services/storage.service';
|
||||
import { OpenidConfiguration } from '../auth/interfaces/openid-configuration.interface';
|
||||
import { AlfrescoApiFactory } from './alfresco-api.interface';
|
||||
|
||||
export const ALFRESCO_API_FACTORY = new InjectionToken('ALFRESCO_API_FACTORY');
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -43,7 +46,12 @@ export class AlfrescoApiService {
|
||||
return this.alfrescoApi;
|
||||
}
|
||||
|
||||
constructor(protected appConfig: AppConfigService, protected storageService: StorageService) {}
|
||||
constructor(
|
||||
protected appConfig: AppConfigService,
|
||||
protected storageService: StorageService,
|
||||
@Optional()
|
||||
@Inject(ALFRESCO_API_FACTORY) private alfrescoApiFactory?: AlfrescoApiFactory
|
||||
) {}
|
||||
|
||||
async load(config: AlfrescoApiConfig): Promise<void> {
|
||||
this.currentAppConfig = config;
|
||||
@@ -114,6 +122,9 @@ export class AlfrescoApiService {
|
||||
}
|
||||
|
||||
createInstance(config: AlfrescoApiConfig): AlfrescoApi {
|
||||
if (this.alfrescoApiFactory) {
|
||||
return this.alfrescoApiFactory.createAlfrescoApi(config);
|
||||
}
|
||||
return new AlfrescoApi(config);
|
||||
}
|
||||
|
||||
|
@@ -16,3 +16,4 @@
|
||||
*/
|
||||
|
||||
export * from './alfresco-api.service';
|
||||
export { AlfrescoApiFactory } from './alfresco-api.interface';
|
||||
|
Reference in New Issue
Block a user