@progress-chef/platform-http-interceptor 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { catchError, throwError } from 'rxjs';
|
|
3
2
|
import { LocalStorageService, StorageKeys } from '@progress-chef/platform-storage-service';
|
|
3
|
+
import { catchError, throwError } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@progress-chef/platform-shared-components";
|
|
6
|
+
import * as i2 from "@progress-chef/platform-shared-store";
|
|
6
7
|
export class HttpAuthInterceptor {
|
|
7
|
-
constructor(toastNotificationService) {
|
|
8
|
+
constructor(toastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService) {
|
|
8
9
|
this.toastNotificationService = toastNotificationService;
|
|
10
|
+
this.chefPlatformUserAccountsIdentitySharedFacadeService = chefPlatformUserAccountsIdentitySharedFacadeService;
|
|
9
11
|
}
|
|
10
12
|
intercept(request, next) {
|
|
11
13
|
let authToken = LocalStorageService.getItem(StorageKeys.AUTH_TOKEN);
|
|
@@ -28,13 +30,14 @@ export class HttpAuthInterceptor {
|
|
|
28
30
|
LocalStorageService.removeItem(StorageKeys.LOGIN_TYPE);
|
|
29
31
|
LocalStorageService.removeItem(StorageKeys.IDENTITY_TOKEN);
|
|
30
32
|
LocalStorageService.removeItem(StorageKeys.USER_ORG_AND_ROLE_TOKEN);
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
+
// call logout action
|
|
34
|
+
this.chefPlatformUserAccountsIdentitySharedFacadeService.identityLogoutIdentity({
|
|
35
|
+
baseUrl: (window["env"]["API_END_POINT"] || process.env["API_END_POINT"]) + (window["env"]["USER_ACCOUNTS_URL"] || process.env["USER_ACCOUNTS_URL"])
|
|
36
|
+
});
|
|
33
37
|
}
|
|
34
|
-
|
|
35
|
-
const err = error?.error;
|
|
38
|
+
if (error.status === 0) {
|
|
36
39
|
this.toastNotificationService.showToastNotification({
|
|
37
|
-
content:
|
|
40
|
+
content: `Unable to reach server. Please try again.`,
|
|
38
41
|
type: { style: 'error', icon: true },
|
|
39
42
|
closable: true
|
|
40
43
|
});
|
|
@@ -44,10 +47,10 @@ export class HttpAuthInterceptor {
|
|
|
44
47
|
}
|
|
45
48
|
return next.handle(request);
|
|
46
49
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: i1.ToastNotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: i1.ToastNotificationService }, { token: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
51
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor }); }
|
|
49
52
|
}
|
|
50
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, decorators: [{
|
|
51
54
|
type: Injectable
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i1.ToastNotificationService }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
}], ctorParameters: function () { return [{ type: i1.ToastNotificationService }, { type: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }]; } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hdXRoLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0taHR0cC1pbnRlcmNlcHRvci9zcmMvbGliL2h0dHAtYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRixPQUFPLEVBQWMsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUcxRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLHdCQUFrRCxFQUFVLG1EQUF3RztRQUFwSyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQVUsd0RBQW1ELEdBQW5ELG1EQUFtRCxDQUFxRDtJQUFJLENBQUM7SUFFN0wsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDeEQsSUFBSSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwRSxJQUFJLFNBQVMsRUFBRTtZQUNiLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsRUFBRTtvQkFDVixhQUFhLEVBQUUsVUFBVSxTQUFTLEVBQUU7aUJBQ3JDO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUN4QixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUN0RSxJQUFJLFNBQVMsS0FBSyxNQUFNLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRTt3QkFDakQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDdEQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDNUQ7b0JBQ0QsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDekUsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDdEUsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDM0QsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNwRSxxQkFBcUI7b0JBQ3JCLElBQUksQ0FBQyxtREFBbUQsQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDOUUsT0FBTyxFQUFFLENBQUUsTUFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFFLE1BQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDdkssQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQzt3QkFDbEQsT0FBTyxFQUFFLDJDQUEyQzt3QkFDcEQsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO3dCQUNwQyxRQUFRLEVBQUUsSUFBSTtxQkFDZixDQUFDLENBQUE7aUJBQ0g7Z0JBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDaEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLENBQUM7K0dBNUNVLG1CQUFtQjttSEFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3ROb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvcGxhdGZvcm0tc2hhcmVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ2hlZlBsYXRmb3JtVXNlckFjY291bnRzSWRlbnRpdHlTaGFyZWRGYWNhZGVTZXJ2aWNlIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvcGxhdGZvcm0tc2hhcmVkLXN0b3JlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFN0b3JhZ2VLZXlzIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvcGxhdGZvcm0tc3RvcmFnZS1zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0Tm90aWZpY2F0aW9uU2VydmljZTogVG9hc3ROb3RpZmljYXRpb25TZXJ2aWNlLCBwcml2YXRlIGNoZWZQbGF0Zm9ybVVzZXJBY2NvdW50c0lkZW50aXR5U2hhcmVkRmFjYWRlU2VydmljZTogQ2hlZlBsYXRmb3JtVXNlckFjY291bnRzSWRlbnRpdHlTaGFyZWRGYWNhZGVTZXJ2aWNlKSB7IH1cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBsZXQgYXV0aFRva2VuID0gTG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtKFN0b3JhZ2VLZXlzLkFVVEhfVE9LRU4pO1xuXG4gICAgaWYgKGF1dGhUb2tlbikge1xuICAgICAgY29uc3QgYXV0aFJlcSA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2F1dGhUb2tlbn1gXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShhdXRoUmVxKS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ2luVHlwZSA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShTdG9yYWdlS2V5cy5MT0dJTl9UWVBFKTtcbiAgICAgICAgICAgIGlmIChsb2dpblR5cGUgPT09ICdzYW1sJyB8fCBsb2dpblR5cGUgPT09ICdvYXV0aCcpIHtcbiAgICAgICAgICAgICAgTG9jYWxTdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKFN0b3JhZ2VLZXlzLlVTRVJfTkFNRSk7XG4gICAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbShTdG9yYWdlS2V5cy5JU19SRU1FTUJFUl9NRSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oU3RvcmFnZUtleXMuSVNfVVNFUl9PUkdfQU5EX1JPTEVfU0VULCBmYWxzZSk7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oU3RvcmFnZUtleXMuSVNfVVNFUl9BVVRIRU5USUNBVEVELCBmYWxzZSk7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuQVVUSF9UT0tFTik7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuTE9HSU5fVFlQRSk7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuSURFTlRJVFlfVE9LRU4pO1xuICAgICAgICAgICAgTG9jYWxTdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKFN0b3JhZ2VLZXlzLlVTRVJfT1JHX0FORF9ST0xFX1RPS0VOKTtcbiAgICAgICAgICAgIC8vIGNhbGwgbG9nb3V0IGFjdGlvblxuICAgICAgICAgICAgdGhpcy5jaGVmUGxhdGZvcm1Vc2VyQWNjb3VudHNJZGVudGl0eVNoYXJlZEZhY2FkZVNlcnZpY2UuaWRlbnRpdHlMb2dvdXRJZGVudGl0eSh7XG4gICAgICAgICAgICAgIGJhc2VVcmw6ICgod2luZG93IGFzIGFueSlbXCJlbnZcIl1bXCJBUElfRU5EX1BPSU5UXCJdIHx8IHByb2Nlc3MuZW52W1wiQVBJX0VORF9QT0lOVFwiXSkgKyAoKHdpbmRvdyBhcyBhbnkpW1wiZW52XCJdW1wiVVNFUl9BQ0NPVU5UU19VUkxcIl0gfHwgcHJvY2Vzcy5lbnZbXCJVU0VSX0FDQ09VTlRTX1VSTFwiXSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0Tm90aWZpY2F0aW9uU2VydmljZS5zaG93VG9hc3ROb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICBjb250ZW50OiBgVW5hYmxlIHRvIHJlYWNoIHNlcnZlci4gUGxlYXNlIHRyeSBhZ2Fpbi5gLFxuICAgICAgICAgICAgICB0eXBlOiB7IHN0eWxlOiAnZXJyb3InLCBpY29uOiB0cnVlIH0sXG4gICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcilcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KVxuICB9XG59XG4iXX0=
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import { catchError, throwError } from 'rxjs';
|
|
4
3
|
import { LocalStorageService, StorageKeys } from '@progress-chef/platform-storage-service';
|
|
4
|
+
import { catchError, throwError } from 'rxjs';
|
|
5
5
|
import * as i1 from '@progress-chef/platform-shared-components';
|
|
6
|
+
import * as i2 from '@progress-chef/platform-shared-store';
|
|
6
7
|
|
|
7
8
|
class HttpAuthInterceptor {
|
|
8
|
-
constructor(toastNotificationService) {
|
|
9
|
+
constructor(toastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService) {
|
|
9
10
|
this.toastNotificationService = toastNotificationService;
|
|
11
|
+
this.chefPlatformUserAccountsIdentitySharedFacadeService = chefPlatformUserAccountsIdentitySharedFacadeService;
|
|
10
12
|
}
|
|
11
13
|
intercept(request, next) {
|
|
12
14
|
let authToken = LocalStorageService.getItem(StorageKeys.AUTH_TOKEN);
|
|
@@ -29,13 +31,14 @@ class HttpAuthInterceptor {
|
|
|
29
31
|
LocalStorageService.removeItem(StorageKeys.LOGIN_TYPE);
|
|
30
32
|
LocalStorageService.removeItem(StorageKeys.IDENTITY_TOKEN);
|
|
31
33
|
LocalStorageService.removeItem(StorageKeys.USER_ORG_AND_ROLE_TOKEN);
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
+
// call logout action
|
|
35
|
+
this.chefPlatformUserAccountsIdentitySharedFacadeService.identityLogoutIdentity({
|
|
36
|
+
baseUrl: (window["env"]["API_END_POINT"] || process.env["API_END_POINT"]) + (window["env"]["USER_ACCOUNTS_URL"] || process.env["USER_ACCOUNTS_URL"])
|
|
37
|
+
});
|
|
34
38
|
}
|
|
35
|
-
|
|
36
|
-
const err = error?.error;
|
|
39
|
+
if (error.status === 0) {
|
|
37
40
|
this.toastNotificationService.showToastNotification({
|
|
38
|
-
content:
|
|
41
|
+
content: `Unable to reach server. Please try again.`,
|
|
39
42
|
type: { style: 'error', icon: true },
|
|
40
43
|
closable: true
|
|
41
44
|
});
|
|
@@ -45,12 +48,12 @@ class HttpAuthInterceptor {
|
|
|
45
48
|
}
|
|
46
49
|
return next.handle(request);
|
|
47
50
|
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: i1.ToastNotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: i1.ToastNotificationService }, { token: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
52
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor }); }
|
|
50
53
|
}
|
|
51
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, decorators: [{
|
|
52
55
|
type: Injectable
|
|
53
|
-
}], ctorParameters: function () { return [{ type: i1.ToastNotificationService }]; } });
|
|
56
|
+
}], ctorParameters: function () { return [{ type: i1.ToastNotificationService }, { type: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }]; } });
|
|
54
57
|
|
|
55
58
|
/*
|
|
56
59
|
* Public API Surface of platform-http-interceptor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-chef-platform-http-interceptor.mjs","sources":["../../../projects/platform-http-interceptor/src/lib/http-auth.interceptor.ts","../../../projects/platform-http-interceptor/src/public-api.ts","../../../projects/platform-http-interceptor/src/progress-chef-platform-http-interceptor.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"progress-chef-platform-http-interceptor.mjs","sources":["../../../projects/platform-http-interceptor/src/lib/http-auth.interceptor.ts","../../../projects/platform-http-interceptor/src/public-api.ts","../../../projects/platform-http-interceptor/src/progress-chef-platform-http-interceptor.ts"],"sourcesContent":["import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ToastNotificationService } from '@progress-chef/platform-shared-components';\nimport { ChefPlatformUserAccountsIdentitySharedFacadeService } from '@progress-chef/platform-shared-store';\nimport { LocalStorageService, StorageKeys } from '@progress-chef/platform-storage-service';\nimport { Observable, catchError, throwError } from 'rxjs';\n\n@Injectable()\nexport class HttpAuthInterceptor implements HttpInterceptor {\n constructor(private toastNotificationService: ToastNotificationService, private chefPlatformUserAccountsIdentitySharedFacadeService: ChefPlatformUserAccountsIdentitySharedFacadeService) { }\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n let authToken = LocalStorageService.getItem(StorageKeys.AUTH_TOKEN);\n\n if (authToken) {\n const authReq = request.clone({\n setHeaders: {\n Authorization: `Bearer ${authToken}`\n }\n })\n\n return next.handle(authReq).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.status === 401) {\n const loginType = LocalStorageService.getItem(StorageKeys.LOGIN_TYPE);\n if (loginType === 'saml' || loginType === 'oauth') {\n LocalStorageService.removeItem(StorageKeys.USER_NAME);\n LocalStorageService.removeItem(StorageKeys.IS_REMEMBER_ME);\n }\n LocalStorageService.setItem(StorageKeys.IS_USER_ORG_AND_ROLE_SET, false);\n LocalStorageService.setItem(StorageKeys.IS_USER_AUTHENTICATED, false);\n LocalStorageService.removeItem(StorageKeys.AUTH_TOKEN);\n LocalStorageService.removeItem(StorageKeys.LOGIN_TYPE);\n LocalStorageService.removeItem(StorageKeys.IDENTITY_TOKEN);\n LocalStorageService.removeItem(StorageKeys.USER_ORG_AND_ROLE_TOKEN);\n // call logout action\n this.chefPlatformUserAccountsIdentitySharedFacadeService.identityLogoutIdentity({\n baseUrl: ((window as any)[\"env\"][\"API_END_POINT\"] || process.env[\"API_END_POINT\"]) + ((window as any)[\"env\"][\"USER_ACCOUNTS_URL\"] || process.env[\"USER_ACCOUNTS_URL\"])\n });\n }\n if (error.status === 0) {\n this.toastNotificationService.showToastNotification({\n content: `Unable to reach server. Please try again.`,\n type: { style: 'error', icon: true },\n closable: true\n })\n }\n return throwError(() => error)\n })\n );\n }\n return next.handle(request)\n }\n}\n","/*\n * Public API Surface of platform-http-interceptor\n */\n\nexport * from './lib/http-auth.interceptor';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
1
|
+
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
|
|
3
2
|
import { ToastNotificationService } from '@progress-chef/platform-shared-components';
|
|
3
|
+
import { ChefPlatformUserAccountsIdentitySharedFacadeService } from '@progress-chef/platform-shared-store';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class HttpAuthInterceptor implements HttpInterceptor {
|
|
6
7
|
private toastNotificationService;
|
|
7
|
-
|
|
8
|
+
private chefPlatformUserAccountsIdentitySharedFacadeService;
|
|
9
|
+
constructor(toastNotificationService: ToastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService: ChefPlatformUserAccountsIdentitySharedFacadeService);
|
|
8
10
|
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
9
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<HttpAuthInterceptor, never>;
|
|
10
12
|
static ɵprov: i0.ɵɵInjectableDeclaration<HttpAuthInterceptor>;
|