Skip to content

Commit

Permalink
[AAE-16491] Fix session invalidation for Http 401 response (#8909)
Browse files Browse the repository at this point in the history
  • Loading branch information
BSekula committed Sep 15, 2023
1 parent 6df6fd1 commit f20df68
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 2 deletions.
6 changes: 6 additions & 0 deletions lib/core/src/lib/services/alfresco-api.interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 13 additions & 2 deletions lib/core/src/lib/services/alfresco-api.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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;
Expand Down Expand Up @@ -114,6 +122,9 @@ export class AlfrescoApiService {
}

createInstance(config: AlfrescoApiConfig): AlfrescoApi {
if (this.alfrescoApiFactory) {
return this.alfrescoApiFactory.createAlfrescoApi(config);
}
return new AlfrescoApi(config);
}

Expand Down
1 change: 1 addition & 0 deletions lib/core/src/lib/services/public-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@
*/

export * from './alfresco-api.service';
export { AlfrescoApiFactory } from './alfresco-api.interface';

0 comments on commit f20df68

Please sign in to comment.