@progress-chef/platform-http-interceptor 0.0.2 → 0.0.3-rc1

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,12 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Inject, Injectable } from '@angular/core';
2
2
  import { LocalStorageService, StorageKeys } from '@progress-chef/platform-storage-service';
3
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
6
  import * as i2 from "@progress-chef/platform-shared-store";
7
7
  export class HttpAuthInterceptor {
8
- constructor(toastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService) {
8
+ constructor(getBaseUrl, toastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService) {
9
+ this.getBaseUrl = getBaseUrl;
9
10
  this.toastNotificationService = toastNotificationService;
10
11
  this.chefPlatformUserAccountsIdentitySharedFacadeService = chefPlatformUserAccountsIdentitySharedFacadeService;
11
12
  }
@@ -26,31 +27,40 @@ export class HttpAuthInterceptor {
26
27
  }
27
28
  LocalStorageService.setItem(StorageKeys.IS_USER_ORG_AND_ROLE_SET, false);
28
29
  LocalStorageService.setItem(StorageKeys.IS_USER_AUTHENTICATED, false);
29
- LocalStorageService.removeItem(StorageKeys.AUTH_TOKEN);
30
30
  LocalStorageService.removeItem(StorageKeys.LOGIN_TYPE);
31
31
  LocalStorageService.removeItem(StorageKeys.IDENTITY_TOKEN);
32
32
  LocalStorageService.removeItem(StorageKeys.USER_ORG_AND_ROLE_TOKEN);
33
33
  // call logout action
34
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"])
35
+ baseUrl: this.getBaseUrl
36
36
  });
37
37
  }
38
- if (error.status === 0) {
38
+ if (error.status === 0 || error.status === 504) {
39
39
  this.toastNotificationService.showToastNotification({
40
40
  content: `Unable to reach server. Please try again.`,
41
41
  type: { style: 'error', icon: true },
42
42
  closable: true
43
43
  });
44
44
  }
45
+ if (error.status === 500) {
46
+ this.toastNotificationService.showToastNotification({
47
+ content: `Something went wrong. Please try again.`,
48
+ type: { style: 'error', icon: true },
49
+ closable: true
50
+ });
51
+ }
45
52
  return throwError(() => error);
46
53
  }));
47
54
  }
48
55
  return next.handle(request);
49
56
  }
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 }); }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: 'BASE_URL' }, { token: i1.ToastNotificationService }, { token: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
58
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor }); }
52
59
  }
53
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, decorators: [{
54
61
  type: Injectable
55
- }], ctorParameters: function () { return [{ type: i1.ToastNotificationService }, { type: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hdXRoLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0taHR0cC1pbnRlcmNlcHRvci9zcmMvbGliL2h0dHAtYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRixPQUFPLEVBQWMsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUcxRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLHdCQUFrRCxFQUFVLG1EQUF3RztRQUFwSyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQVUsd0RBQW1ELEdBQW5ELG1EQUFtRCxDQUFxRDtJQUFJLENBQUM7SUFFN0wsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDeEQsSUFBSSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwRSxJQUFJLFNBQVMsRUFBRTtZQUNiLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsRUFBRTtvQkFDVixhQUFhLEVBQUUsVUFBVSxTQUFTLEVBQUU7aUJBQ3JDO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUN4QixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUN0RSxJQUFJLFNBQVMsS0FBSyxNQUFNLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRTt3QkFDakQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDdEQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDNUQ7b0JBQ0QsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDekUsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDdEUsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkQsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDM0QsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNwRSxxQkFBcUI7b0JBQ3JCLElBQUksQ0FBQyxtREFBbUQsQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDOUUsT0FBTyxFQUFFLENBQUUsTUFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFFLE1BQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDdkssQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQzt3QkFDbEQsT0FBTyxFQUFFLDJDQUEyQzt3QkFDcEQsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO3dCQUNwQyxRQUFRLEVBQUUsSUFBSTtxQkFDZixDQUFDLENBQUE7aUJBQ0g7Z0JBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDaEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLENBQUM7K0dBNUNVLG1CQUFtQjttSEFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3ROb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvcGxhdGZvcm0tc2hhcmVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ2hlZlBsYXRmb3JtVXNlckFjY291bnRzSWRlbnRpdHlTaGFyZWRGYWNhZGVTZXJ2aWNlIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvcGxhdGZvcm0tc2hhcmVkLXN0b3JlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFN0b3JhZ2VLZXlzIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvcGxhdGZvcm0tc3RvcmFnZS1zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0Tm90aWZpY2F0aW9uU2VydmljZTogVG9hc3ROb3RpZmljYXRpb25TZXJ2aWNlLCBwcml2YXRlIGNoZWZQbGF0Zm9ybVVzZXJBY2NvdW50c0lkZW50aXR5U2hhcmVkRmFjYWRlU2VydmljZTogQ2hlZlBsYXRmb3JtVXNlckFjY291bnRzSWRlbnRpdHlTaGFyZWRGYWNhZGVTZXJ2aWNlKSB7IH1cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBsZXQgYXV0aFRva2VuID0gTG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtKFN0b3JhZ2VLZXlzLkFVVEhfVE9LRU4pO1xuXG4gICAgaWYgKGF1dGhUb2tlbikge1xuICAgICAgY29uc3QgYXV0aFJlcSA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2F1dGhUb2tlbn1gXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShhdXRoUmVxKS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ2luVHlwZSA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShTdG9yYWdlS2V5cy5MT0dJTl9UWVBFKTtcbiAgICAgICAgICAgIGlmIChsb2dpblR5cGUgPT09ICdzYW1sJyB8fCBsb2dpblR5cGUgPT09ICdvYXV0aCcpIHtcbiAgICAgICAgICAgICAgTG9jYWxTdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKFN0b3JhZ2VLZXlzLlVTRVJfTkFNRSk7XG4gICAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbShTdG9yYWdlS2V5cy5JU19SRU1FTUJFUl9NRSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oU3RvcmFnZUtleXMuSVNfVVNFUl9PUkdfQU5EX1JPTEVfU0VULCBmYWxzZSk7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oU3RvcmFnZUtleXMuSVNfVVNFUl9BVVRIRU5USUNBVEVELCBmYWxzZSk7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuQVVUSF9UT0tFTik7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuTE9HSU5fVFlQRSk7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuSURFTlRJVFlfVE9LRU4pO1xuICAgICAgICAgICAgTG9jYWxTdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKFN0b3JhZ2VLZXlzLlVTRVJfT1JHX0FORF9ST0xFX1RPS0VOKTtcbiAgICAgICAgICAgIC8vIGNhbGwgbG9nb3V0IGFjdGlvblxuICAgICAgICAgICAgdGhpcy5jaGVmUGxhdGZvcm1Vc2VyQWNjb3VudHNJZGVudGl0eVNoYXJlZEZhY2FkZVNlcnZpY2UuaWRlbnRpdHlMb2dvdXRJZGVudGl0eSh7XG4gICAgICAgICAgICAgIGJhc2VVcmw6ICgod2luZG93IGFzIGFueSlbXCJlbnZcIl1bXCJBUElfRU5EX1BPSU5UXCJdIHx8IHByb2Nlc3MuZW52W1wiQVBJX0VORF9QT0lOVFwiXSkgKyAoKHdpbmRvdyBhcyBhbnkpW1wiZW52XCJdW1wiVVNFUl9BQ0NPVU5UU19VUkxcIl0gfHwgcHJvY2Vzcy5lbnZbXCJVU0VSX0FDQ09VTlRTX1VSTFwiXSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0Tm90aWZpY2F0aW9uU2VydmljZS5zaG93VG9hc3ROb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICBjb250ZW50OiBgVW5hYmxlIHRvIHJlYWNoIHNlcnZlci4gUGxlYXNlIHRyeSBhZ2Fpbi5gLFxuICAgICAgICAgICAgICB0eXBlOiB7IHN0eWxlOiAnZXJyb3InLCBpY29uOiB0cnVlIH0sXG4gICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcilcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KVxuICB9XG59XG4iXX0=
62
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
63
+ type: Inject,
64
+ args: ['BASE_URL']
65
+ }] }, { type: i1.ToastNotificationService }, { type: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }]; } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hdXRoLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0taHR0cC1pbnRlcmNlcHRvci9zcmMvbGliL2h0dHAtYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0YsT0FBTyxFQUFjLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFHMUQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUF3QyxVQUFrQixFQUFVLHdCQUFrRCxFQUFVLG1EQUF3RztRQUFoTSxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQVUsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUFVLHdEQUFtRCxHQUFuRCxtREFBbUQsQ0FBcUQ7SUFBSSxDQUFDO0lBRTdPLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELElBQUksU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEUsSUFBSSxTQUFTLEVBQUU7WUFDYixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUM1QixVQUFVLEVBQUU7b0JBQ1YsYUFBYSxFQUFFLFVBQVUsU0FBUyxFQUFFO2lCQUNyQzthQUNGLENBQUMsQ0FBQTtZQUVGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzlCLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDeEIsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdEUsSUFBSSxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxPQUFPLEVBQUU7d0JBQ2pELG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ3RELG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7cUJBQzVEO29CQUNELG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ3pFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ3RFLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3ZELG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQzNELG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQztvQkFDcEUscUJBQXFCO29CQUNyQixJQUFJLENBQUMsbURBQW1ELENBQUMsc0JBQXNCLENBQUM7d0JBQzlFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVTtxQkFDekIsQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7b0JBQzlDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQzt3QkFDbEQsT0FBTyxFQUFFLDJDQUEyQzt3QkFDcEQsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO3dCQUNwQyxRQUFRLEVBQUUsSUFBSTtxQkFDZixDQUFDLENBQUE7aUJBQ0g7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDeEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDO3dCQUNsRCxPQUFPLEVBQUUseUNBQXlDO3dCQUNsRCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7d0JBQ3BDLFFBQVEsRUFBRSxJQUFJO3FCQUNmLENBQUMsQ0FBQTtpQkFDSDtnQkFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDN0IsQ0FBQzsrR0FsRFUsbUJBQW1CLGtCQUNWLFVBQVU7bUhBRG5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAcHJvZ3Jlc3MtY2hlZi9wbGF0Zm9ybS1zaGFyZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDaGVmUGxhdGZvcm1Vc2VyQWNjb3VudHNJZGVudGl0eVNoYXJlZEZhY2FkZVNlcnZpY2UgfSBmcm9tICdAcHJvZ3Jlc3MtY2hlZi9wbGF0Zm9ybS1zaGFyZWQtc3RvcmUnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSwgU3RvcmFnZUtleXMgfSBmcm9tICdAcHJvZ3Jlc3MtY2hlZi9wbGF0Zm9ybS1zdG9yYWdlLXNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ0JBU0VfVVJMJykgcHJpdmF0ZSBnZXRCYXNlVXJsOiBzdHJpbmcsIHByaXZhdGUgdG9hc3ROb3RpZmljYXRpb25TZXJ2aWNlOiBUb2FzdE5vdGlmaWNhdGlvblNlcnZpY2UsIHByaXZhdGUgY2hlZlBsYXRmb3JtVXNlckFjY291bnRzSWRlbnRpdHlTaGFyZWRGYWNhZGVTZXJ2aWNlOiBDaGVmUGxhdGZvcm1Vc2VyQWNjb3VudHNJZGVudGl0eVNoYXJlZEZhY2FkZVNlcnZpY2UpIHsgfVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xuICAgIGxldCBhdXRoVG9rZW4gPSBMb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oU3RvcmFnZUtleXMuQVVUSF9UT0tFTik7XG5cbiAgICBpZiAoYXV0aFRva2VuKSB7XG4gICAgICBjb25zdCBhdXRoUmVxID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7YXV0aFRva2VufWBcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgICAgY29uc3QgbG9naW5UeXBlID0gTG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtKFN0b3JhZ2VLZXlzLkxPR0lOX1RZUEUpO1xuICAgICAgICAgICAgaWYgKGxvZ2luVHlwZSA9PT0gJ3NhbWwnIHx8IGxvZ2luVHlwZSA9PT0gJ29hdXRoJykge1xuICAgICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuVVNFUl9OQU1FKTtcbiAgICAgICAgICAgICAgTG9jYWxTdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKFN0b3JhZ2VLZXlzLklTX1JFTUVNQkVSX01FKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShTdG9yYWdlS2V5cy5JU19VU0VSX09SR19BTkRfUk9MRV9TRVQsIGZhbHNlKTtcbiAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShTdG9yYWdlS2V5cy5JU19VU0VSX0FVVEhFTlRJQ0FURUQsIGZhbHNlKTtcbiAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbShTdG9yYWdlS2V5cy5MT0dJTl9UWVBFKTtcbiAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbShTdG9yYWdlS2V5cy5JREVOVElUWV9UT0tFTik7XG4gICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oU3RvcmFnZUtleXMuVVNFUl9PUkdfQU5EX1JPTEVfVE9LRU4pO1xuICAgICAgICAgICAgLy8gY2FsbCBsb2dvdXQgYWN0aW9uXG4gICAgICAgICAgICB0aGlzLmNoZWZQbGF0Zm9ybVVzZXJBY2NvdW50c0lkZW50aXR5U2hhcmVkRmFjYWRlU2VydmljZS5pZGVudGl0eUxvZ291dElkZW50aXR5KHtcbiAgICAgICAgICAgICAgYmFzZVVybDogdGhpcy5nZXRCYXNlVXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gMCB8fCBlcnJvci5zdGF0dXMgPT09IDUwNCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdE5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd1RvYXN0Tm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgICAgY29udGVudDogYFVuYWJsZSB0byByZWFjaCBzZXJ2ZXIuIFBsZWFzZSB0cnkgYWdhaW4uYCxcbiAgICAgICAgICAgICAgdHlwZTogeyBzdHlsZTogJ2Vycm9yJywgaWNvbjogdHJ1ZSB9LFxuICAgICAgICAgICAgICBjbG9zYWJsZTogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0Tm90aWZpY2F0aW9uU2VydmljZS5zaG93VG9hc3ROb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICBjb250ZW50OiBgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSB0cnkgYWdhaW4uYCxcbiAgICAgICAgICAgICAgdHlwZTogeyBzdHlsZTogJ2Vycm9yJywgaWNvbjogdHJ1ZSB9LFxuICAgICAgICAgICAgICBjbG9zYWJsZTogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdClcbiAgfVxufVxuIl19
@@ -1,12 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
2
+ import { Injectable, Inject } from '@angular/core';
3
3
  import { LocalStorageService, StorageKeys } from '@progress-chef/platform-storage-service';
4
4
  import { catchError, throwError } from 'rxjs';
5
5
  import * as i1 from '@progress-chef/platform-shared-components';
6
6
  import * as i2 from '@progress-chef/platform-shared-store';
7
7
 
8
8
  class HttpAuthInterceptor {
9
- constructor(toastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService) {
9
+ constructor(getBaseUrl, toastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService) {
10
+ this.getBaseUrl = getBaseUrl;
10
11
  this.toastNotificationService = toastNotificationService;
11
12
  this.chefPlatformUserAccountsIdentitySharedFacadeService = chefPlatformUserAccountsIdentitySharedFacadeService;
12
13
  }
@@ -27,33 +28,42 @@ class HttpAuthInterceptor {
27
28
  }
28
29
  LocalStorageService.setItem(StorageKeys.IS_USER_ORG_AND_ROLE_SET, false);
29
30
  LocalStorageService.setItem(StorageKeys.IS_USER_AUTHENTICATED, false);
30
- LocalStorageService.removeItem(StorageKeys.AUTH_TOKEN);
31
31
  LocalStorageService.removeItem(StorageKeys.LOGIN_TYPE);
32
32
  LocalStorageService.removeItem(StorageKeys.IDENTITY_TOKEN);
33
33
  LocalStorageService.removeItem(StorageKeys.USER_ORG_AND_ROLE_TOKEN);
34
34
  // call logout action
35
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"])
36
+ baseUrl: this.getBaseUrl
37
37
  });
38
38
  }
39
- if (error.status === 0) {
39
+ if (error.status === 0 || error.status === 504) {
40
40
  this.toastNotificationService.showToastNotification({
41
41
  content: `Unable to reach server. Please try again.`,
42
42
  type: { style: 'error', icon: true },
43
43
  closable: true
44
44
  });
45
45
  }
46
+ if (error.status === 500) {
47
+ this.toastNotificationService.showToastNotification({
48
+ content: `Something went wrong. Please try again.`,
49
+ type: { style: 'error', icon: true },
50
+ closable: true
51
+ });
52
+ }
46
53
  return throwError(() => error);
47
54
  }));
48
55
  }
49
56
  return next.handle(request);
50
57
  }
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 }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: 'BASE_URL' }, { token: i1.ToastNotificationService }, { token: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
59
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor }); }
53
60
  }
54
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpAuthInterceptor, decorators: [{
55
62
  type: Injectable
56
- }], ctorParameters: function () { return [{ type: i1.ToastNotificationService }, { type: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }]; } });
63
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
64
+ type: Inject,
65
+ args: ['BASE_URL']
66
+ }] }, { type: i1.ToastNotificationService }, { type: i2.ChefPlatformUserAccountsIdentitySharedFacadeService }]; } });
57
67
 
58
68
  /*
59
69
  * 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 {\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
+ {"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 { Inject, 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(@Inject('BASE_URL') private getBaseUrl: string, 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.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: this.getBaseUrl\n });\n }\n if (error.status === 0 || error.status === 504) {\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 if (error.status === 500) {\n this.toastNotificationService.showToastNotification({\n content: `Something went wrong. 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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"}
@@ -4,9 +4,10 @@ import { ChefPlatformUserAccountsIdentitySharedFacadeService } from '@progress-c
4
4
  import { Observable } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class HttpAuthInterceptor implements HttpInterceptor {
7
+ private getBaseUrl;
7
8
  private toastNotificationService;
8
9
  private chefPlatformUserAccountsIdentitySharedFacadeService;
9
- constructor(toastNotificationService: ToastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService: ChefPlatformUserAccountsIdentitySharedFacadeService);
10
+ constructor(getBaseUrl: string, toastNotificationService: ToastNotificationService, chefPlatformUserAccountsIdentitySharedFacadeService: ChefPlatformUserAccountsIdentitySharedFacadeService);
10
11
  intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<HttpAuthInterceptor, never>;
12
13
  static ɵprov: i0.ɵɵInjectableDeclaration<HttpAuthInterceptor>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress-chef/platform-http-interceptor",
3
- "version": "0.0.2",
3
+ "version": "0.0.3-rc1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0"