ng-ipa-library 5.0.12 → 6.0.1

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.
Files changed (42) hide show
  1. package/fesm2022/ng-ipa-library.mjs +103 -102
  2. package/fesm2022/ng-ipa-library.mjs.map +1 -1
  3. package/package.json +16 -13
  4. package/src/lib/assets/ngIPAStyle.scss +6 -14
  5. package/esm2022/lib/core/components/loading/loading.component.mjs +0 -37
  6. package/esm2022/lib/core/interceptors/error.interceptor.mjs +0 -46
  7. package/esm2022/lib/core/interceptors/loading.interceptor.mjs +0 -58
  8. package/esm2022/lib/core/interceptors/myIPAToken.interceptor.mjs +0 -38
  9. package/esm2022/lib/core/interceptors/token.interceptor.mjs +0 -81
  10. package/esm2022/lib/core/services/auth.service.mjs +0 -62
  11. package/esm2022/lib/core/services/error.service.mjs +0 -55
  12. package/esm2022/lib/core/services/loader.service.mjs +0 -24
  13. package/esm2022/lib/core/services/token.service.mjs +0 -22
  14. package/esm2022/lib/generate-form/generate-form.component.mjs +0 -153
  15. package/esm2022/lib/ipa-form/datepicker/datepicker.component.mjs +0 -124
  16. package/esm2022/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.mjs +0 -27
  17. package/esm2022/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.mjs +0 -38
  18. package/esm2022/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.mjs +0 -38
  19. package/esm2022/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.mjs +0 -27
  20. package/esm2022/lib/ipa-form/dropdown-input/dropdown-input.component.mjs +0 -84
  21. package/esm2022/lib/ipa-form/file-upload/file-upload.component.mjs +0 -142
  22. package/esm2022/lib/ipa-form/ipa-form.service.mjs +0 -290
  23. package/esm2022/lib/ipa-form/recaptcha/recaptcha.component.mjs +0 -55
  24. package/esm2022/lib/ipa-form/text-input/text-input.component.mjs +0 -93
  25. package/esm2022/lib/ipa-form/textarea-input/textarea-input.component.mjs +0 -76
  26. package/esm2022/lib/models/apiException.mjs +0 -2
  27. package/esm2022/lib/models/apiResponse.mjs +0 -2
  28. package/esm2022/lib/models/breadcrumbs.model.mjs +0 -2
  29. package/esm2022/lib/models/decodedToken.model.mjs +0 -2
  30. package/esm2022/lib/models/exceptionUrl.model.mjs +0 -2
  31. package/esm2022/lib/models/generateForm.model.mjs +0 -2
  32. package/esm2022/lib/models/pagedResult.mjs +0 -2
  33. package/esm2022/lib/models/user.model.mjs +0 -2
  34. package/esm2022/lib/ng-ipa-library.module.mjs +0 -107
  35. package/esm2022/lib/pipes/hijri-date.pipe.mjs +0 -18
  36. package/esm2022/lib/pipes/pipes.module.mjs +0 -16
  37. package/esm2022/lib/services/breadcrumbs.service.mjs +0 -149
  38. package/esm2022/lib/services/common.service.mjs +0 -74
  39. package/esm2022/lib/share-button/share-button.component.mjs +0 -35
  40. package/esm2022/lib/share-button/share-button.module.mjs +0 -50
  41. package/esm2022/ng-ipa-library.mjs +0 -5
  42. package/esm2022/public-api.mjs +0 -43
package/package.json CHANGED
@@ -1,25 +1,30 @@
1
1
  {
2
2
  "name": "ng-ipa-library",
3
- "version": "5.0.12",
3
+ "version": "6.0.1",
4
4
  "peerDependencies": {
5
- "@angular/common": "<19.0.0",
6
- "@angular/core": "<19.0.0",
7
- "@angular/cdk": "<19.0.0"
5
+ "@angular/common": "<20.0.0",
6
+ "@angular/core": "<20.0.0",
7
+ "@angular/cdk": "<20.0.0"
8
+ },
9
+ "peerDependenciesMeta": {
10
+ "@angular/cdk": {
11
+ "optional": true
12
+ }
8
13
  },
9
14
  "dependencies": {
10
15
  "tslib": "^2.3.1",
11
16
  "ngx-toastr": "^19.0.0",
12
17
  "ngx-captcha": "^13.0.0",
13
18
  "ngx-dropzone-wrapper": "^14.0.0",
14
- "moment-hijri": "^2.1.2",
19
+ "moment-hijri": "^3.0.0",
15
20
  "@types/moment-hijri": "^2.1.4",
16
- "@ng-bootstrap/ng-bootstrap": "^17.0.0",
17
- "@fortawesome/fontawesome-svg-core": "^6.5.2",
18
- "@fortawesome/angular-fontawesome": "^0.15.0",
19
- "@fortawesome/free-brands-svg-icons": "^6.5.2",
20
- "@fortawesome/free-solid-svg-icons": "^6.5.2",
21
+ "@ng-bootstrap/ng-bootstrap": "^18.0.0",
22
+ "@fortawesome/fontawesome-svg-core": "^6.7.1",
23
+ "@fortawesome/angular-fontawesome": "^1.0.0",
24
+ "@fortawesome/free-brands-svg-icons": "^6.7.1",
25
+ "@fortawesome/free-solid-svg-icons": "^6.7.1",
21
26
  "ngx-sharebuttons": "^11.0.0",
22
- "@ng-select/ng-select": "^13.4.1"
27
+ "@ng-select/ng-select": "^14.9.0"
23
28
  },
24
29
  "module": "fesm2022/ng-ipa-library.mjs",
25
30
  "typings": "index.d.ts",
@@ -29,8 +34,6 @@
29
34
  },
30
35
  ".": {
31
36
  "types": "./index.d.ts",
32
- "esm2022": "./esm2022/ng-ipa-library.mjs",
33
- "esm": "./esm2022/ng-ipa-library.mjs",
34
37
  "default": "./fesm2022/ng-ipa-library.mjs"
35
38
  }
36
39
  },
@@ -1,9 +1,7 @@
1
- @import '~@angular/cdk/overlay-prebuilt.css';
2
- @import 'node_modules/ngx-sharebuttons/themes/default.scss';
3
-
1
+ @import "node_modules/@angular/cdk/overlay/index";
2
+ @import "node_modules/ngx-sharebuttons/themes/default.scss";
4
3
  @import "node_modules/@ng-select/ng-select/scss/default.theme.scss";
5
4
 
6
-
7
5
  //ipa share button style --start
8
6
  .cdk-overlay-pane {
9
7
  direction: rtl !important;
@@ -16,7 +14,7 @@
16
14
  }
17
15
 
18
16
  h3::after {
19
- content: 'شارك';
17
+ content: "شارك";
20
18
  display: block;
21
19
  visibility: visible;
22
20
  position: absolute;
@@ -64,14 +62,11 @@ ng-select.ng-invalid.ng-touched .ng-select-container {
64
62
  }
65
63
 
66
64
  ngb-datepicker .ngb-dp-header {
67
-
68
65
  ngb-datepicker-navigation {
69
-
70
66
  .ngb-dp-arrow {
71
-
72
67
  .ngb-dp-arrow-btn {
73
- padding: 0 .25rem;
74
- margin: 0 .5rem;
68
+ padding: 0 0.25rem;
69
+ margin: 0 0.5rem;
75
70
  border: none;
76
71
  background-color: transparent;
77
72
  z-index: 1;
@@ -111,7 +106,6 @@ ngb-datepicker .ngb-dp-header {
111
106
  ngb-datepicker .ngb-dp-content {
112
107
  .ngb-dp-month {
113
108
  ngb-datepicker-month {
114
-
115
109
  .ngb-dp-weekday {
116
110
  color: #5bc0de;
117
111
  }
@@ -140,14 +134,12 @@ ngb-datepicker .ngb-dp-content {
140
134
 
141
135
  .btn-light:not(:disabled):not(.disabled).active,
142
136
  .btn-light:not(:disabled):not(.disabled):active,
143
- .show>.btn-light.dropdown-toggle {
137
+ .show > .btn-light.dropdown-toggle {
144
138
  color: #212529;
145
139
  background-color: #dae0e5;
146
140
  border-color: #d3d9df;
147
141
  }
148
-
149
142
  }
150
-
151
143
  }
152
144
  }
153
145
 
@@ -1,37 +0,0 @@
1
- import { Component, Input, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/loader.service";
4
- import * as i2 from "@angular/common";
5
- export class LoaderComponent {
6
- constructor(loaderService, cdr) {
7
- this.loaderService = loaderService;
8
- this.cdr = cdr;
9
- this.loading = true;
10
- this.isLocal = false;
11
- }
12
- ngAfterViewInit() {
13
- this.loaderService.isLoading.subscribe((v) => {
14
- this.loading = v;
15
- const loader = document.getElementById('cover-spin');
16
- if (loader) {
17
- if (this.loading) {
18
- loader.style.display = 'flex';
19
- }
20
- else {
21
- if (loader.style.display !== 'none')
22
- loader.style.display = 'none';
23
- }
24
- }
25
- this.cdr.detectChanges();
26
- });
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoaderComponent, deps: [{ token: i1.LoaderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: LoaderComponent, selector: "ipa-loader", inputs: { isLocal: "isLocal" }, ngImport: i0, template: "<div id=\"cover-spin\" *ngIf=\"loading && isLocal\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n", styles: ["#cover-spin{display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoaderComponent, decorators: [{
32
- type: Component,
33
- args: [{ selector: 'ipa-loader', template: "<div id=\"cover-spin\" *ngIf=\"loading && isLocal\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n", styles: ["#cover-spin{display:flex}\n"] }]
34
- }], ctorParameters: () => [{ type: i1.LoaderService }, { type: i0.ChangeDetectorRef }], propDecorators: { isLocal: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXZCLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQ1UsYUFBNEIsRUFDNUIsR0FBc0I7UUFEdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFMaEMsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNOLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFLdEIsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFDaEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTTt3QkFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ3JFLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdEJVLGVBQWU7a0dBQWYsZUFBZSxrRkNiNUIsdUdBR0E7OzJGRFVhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTtrSEFNYixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9hZGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpcGEtbG9hZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGluZy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgQElucHV0KCkgaXNMb2NhbCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbG9hZGVyU2VydmljZTogTG9hZGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5zdWJzY3JpYmUoKHYpID0+IHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdjtcclxuICAgICAgY29uc3QgbG9hZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvdmVyLXNwaW4nKTtcclxuICAgICAgaWYgKGxvYWRlcikge1xyXG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgICAgIGxvYWRlci5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAobG9hZGVyLnN0eWxlLmRpc3BsYXkgIT09ICdub25lJykgbG9hZGVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGlkPVwiY292ZXItc3BpblwiICpuZ0lmPVwibG9hZGluZyAmJiBpc0xvY2FsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNwaW5uZXJcIj48L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { throwError } from 'rxjs';
3
- import { catchError } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/error.service";
6
- export class ErrorInterceptor {
7
- constructor(errorService) {
8
- this.errorService = errorService;
9
- }
10
- intercept(req, next) {
11
- if (this.isException(req)) {
12
- return next.handle(req);
13
- }
14
- return next.handle(req).pipe(catchError((error) => {
15
- const response = error.error;
16
- const toastrConfig = {
17
- disableTimeOut: true,
18
- closeButton: true,
19
- tapToDismiss: false,
20
- };
21
- switch (response.statusCode) {
22
- case 500:
23
- this.errorService.show500ErrorMsg(response, toastrConfig);
24
- break;
25
- default:
26
- this.errorService.showErrorMsg(response, toastrConfig);
27
- break;
28
- }
29
- return throwError(() => error);
30
- }));
31
- }
32
- isException(req) {
33
- for (const url of this.errorService.urls) {
34
- if (req.url.includes(url.path) && req.method === url.method) {
35
- return true;
36
- }
37
- }
38
- return false;
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ErrorInterceptor, deps: [{ token: i1.ErrorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ErrorInterceptor }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ErrorInterceptor, decorators: [{
44
- type: Injectable
45
- }], ctorParameters: () => [{ type: i1.ErrorService }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU01QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUVsRCxTQUFTLENBQ1AsR0FBeUIsRUFDekIsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMxQixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBcUIsQ0FBQztZQUM3QyxNQUFNLFlBQVksR0FBOEI7Z0JBQzlDLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixXQUFXLEVBQUUsSUFBSTtnQkFDakIsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQztZQUNGLFFBQVEsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM1QixLQUFLLEdBQUc7b0JBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUMxRCxNQUFNO2dCQUVSO29CQUNFLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDdkQsTUFBTTtZQUNWLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFxQjtRQUN2QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzVELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBeENVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVycm9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Vycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBpRXhjZXB0aW9uJztcclxuaW1wb3J0IHsgSW5kaXZpZHVhbENvbmZpZyB9IGZyb20gJ25neC10b2FzdHInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRXJyb3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlcnJvclNlcnZpY2U6IEVycm9yU2VydmljZSkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPixcclxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcclxuICAgIGlmICh0aGlzLmlzRXhjZXB0aW9uKHJlcSkpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGVycm9yLmVycm9yIGFzIEFwaUV4Y2VwdGlvbjtcclxuICAgICAgICBjb25zdCB0b2FzdHJDb25maWc6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7XHJcbiAgICAgICAgICBkaXNhYmxlVGltZU91dDogdHJ1ZSxcclxuICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgdGFwVG9EaXNtaXNzOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2Uuc3RhdHVzQ29kZSkge1xyXG4gICAgICAgICAgY2FzZSA1MDA6XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNob3c1MDBFcnJvck1zZyhyZXNwb25zZSwgdG9hc3RyQ29uZmlnKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2hvd0Vycm9yTXNnKHJlc3BvbnNlLCB0b2FzdHJDb25maWcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFeGNlcHRpb24ocmVxOiBIdHRwUmVxdWVzdDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IHVybCBvZiB0aGlzLmVycm9yU2VydmljZS51cmxzKSB7XHJcbiAgICAgIGlmIChyZXEudXJsLmluY2x1ZGVzKHVybC5wYXRoKSAmJiByZXEubWV0aG9kID09PSB1cmwubWV0aG9kKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,58 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpResponse, } from '@angular/common/http';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/loader.service";
6
- export class LoadingInterceptor {
7
- constructor(loaderService) {
8
- this.loaderService = loaderService;
9
- this.requests = [];
10
- }
11
- removeRequest(req) {
12
- const i = this.requests.indexOf(req);
13
- if (i >= 0) {
14
- this.requests.splice(i, 1);
15
- }
16
- this.loaderService.isLoading.next(this.requests.length > 0);
17
- }
18
- intercept(req, next) {
19
- if (this.isException(req)) {
20
- return next.handle(req);
21
- }
22
- this.requests.push(req);
23
- this.loaderService.isLoading.next(true);
24
- return new Observable((observer) => {
25
- const subscription = next.handle(req).subscribe((event) => {
26
- if (event instanceof HttpResponse) {
27
- this.removeRequest(req);
28
- observer.next(event);
29
- }
30
- }, (err) => {
31
- this.removeRequest(req);
32
- observer.error(err);
33
- }, () => {
34
- this.removeRequest(req);
35
- observer.complete();
36
- });
37
- // remove request from queue when cancelled
38
- return () => {
39
- this.removeRequest(req);
40
- subscription.unsubscribe();
41
- };
42
- });
43
- }
44
- isException(req) {
45
- for (const url of this.loaderService.urls) {
46
- if (req.url.includes(url.path) && req.method === url.method) {
47
- return true;
48
- }
49
- }
50
- return false;
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoadingInterceptor, deps: [{ token: i1.LoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoadingInterceptor }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoadingInterceptor, decorators: [{
56
- type: Injectable
57
- }], ctorParameters: () => [{ type: i1.LoaderService }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvbG9hZGluZy5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFLTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFJbEMsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZ4QyxhQUFRLEdBQXVCLEVBQUUsQ0FBQztJQUVTLENBQUM7SUFFcEQsYUFBYSxDQUFDLEdBQXFCO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVMsQ0FDUCxHQUF5QixFQUN6QixJQUFpQjtRQUVqQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQzdDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxLQUFLLFlBQVksWUFBWSxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FDRixDQUFDO1lBQ0YsMkNBQTJDO1lBQzNDLE9BQU8sR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBcUI7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM1RCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQXZEVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEludGVyY2VwdG9yLFxyXG4gIEh0dHBSZXNwb25zZSxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExvYWRpbmdJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgcHJpdmF0ZSByZXF1ZXN0czogSHR0cFJlcXVlc3Q8YW55PltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9hZGVyU2VydmljZTogTG9hZGVyU2VydmljZSkge31cclxuXHJcbiAgcmVtb3ZlUmVxdWVzdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGkgPSB0aGlzLnJlcXVlc3RzLmluZGV4T2YocmVxKTtcclxuICAgIGlmIChpID49IDApIHtcclxuICAgICAgdGhpcy5yZXF1ZXN0cy5zcGxpY2UoaSwgMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxvYWRlclNlcnZpY2UuaXNMb2FkaW5nLm5leHQodGhpcy5yZXF1ZXN0cy5sZW5ndGggPiAwKTtcclxuICB9XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBpZiAodGhpcy5pc0V4Y2VwdGlvbihyZXEpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXF1ZXN0cy5wdXNoKHJlcSk7XHJcblxyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5uZXh0KHRydWUpO1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXh0LmhhbmRsZShyZXEpLnN1YnNjcmliZShcclxuICAgICAgICAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZVJlcXVlc3QocmVxKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChldmVudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbW92ZVJlcXVlc3QocmVxKTtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbW92ZVJlcXVlc3QocmVxKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICAvLyByZW1vdmUgcmVxdWVzdCBmcm9tIHF1ZXVlIHdoZW4gY2FuY2VsbGVkXHJcbiAgICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVSZXF1ZXN0KHJlcSk7XHJcbiAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzRXhjZXB0aW9uKHJlcTogSHR0cFJlcXVlc3Q8YW55Pik6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCB1cmwgb2YgdGhpcy5sb2FkZXJTZXJ2aWNlLnVybHMpIHtcclxuICAgICAgaWYgKHJlcS51cmwuaW5jbHVkZXModXJsLnBhdGgpICYmIHJlcS5tZXRob2QgPT09IHVybC5tZXRob2QpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,38 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/auth.service";
4
- import * as i2 from "../services/token.service";
5
- export class myIPATokenInterceptor {
6
- constructor(authService, tokenService) {
7
- this.authService = authService;
8
- this.tokenService = tokenService;
9
- }
10
- intercept(request, next) {
11
- if (this.isException(request)) {
12
- return next.handle(request);
13
- }
14
- const token = this.authService.getTokenFromHidden();
15
- if (token) {
16
- request = request.clone({
17
- setHeaders: {
18
- Authorization: `Bearer ${token}`,
19
- },
20
- });
21
- }
22
- return next.handle(request);
23
- }
24
- isException(req) {
25
- for (const url of this.tokenService.urls) {
26
- if (req.url.includes(url.path) && req.method === url.method) {
27
- return true;
28
- }
29
- }
30
- return false;
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: myIPATokenInterceptor, deps: [{ token: i1.AuthService }, { token: i2.TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: myIPATokenInterceptor }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: myIPATokenInterceptor, decorators: [{
36
- type: Injectable
37
- }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.TokenService }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlJUEFUb2tlbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvbXlJUEFUb2tlbi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFDVSxXQUF3QixFQUN4QixZQUEwQjtRQUQxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNqQyxDQUFDO0lBRUosU0FBUyxDQUNQLE9BQTZCLEVBQzdCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BELElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtpQkFDakM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBcUI7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM1RCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQS9CVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEludGVyY2VwdG9yLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgbXlJUEFUb2tlbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBpZiAodGhpcy5pc0V4Y2VwdGlvbihyZXF1ZXN0KSkge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5Gcm9tSGlkZGVuKCk7XHJcbiAgICBpZiAodG9rZW4pIHtcclxuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgIHNldEhlYWRlcnM6IHtcclxuICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgaXNFeGNlcHRpb24ocmVxOiBIdHRwUmVxdWVzdDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IHVybCBvZiB0aGlzLnRva2VuU2VydmljZS51cmxzKSB7XHJcbiAgICAgIGlmIChyZXEudXJsLmluY2x1ZGVzKHVybC5wYXRoKSAmJiByZXEubWV0aG9kID09PSB1cmwubWV0aG9kKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,81 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/auth.service";
4
- import * as i2 from "@angular/common/http";
5
- import * as i3 from "../services/loader.service";
6
- import * as i4 from "../services/token.service";
7
- export class TokenInterceptor {
8
- constructor(authService, http, loaderService, tokenService) {
9
- this.authService = authService;
10
- this.http = http;
11
- this.loaderService = loaderService;
12
- this.tokenService = tokenService;
13
- this.refresh = true;
14
- this.loaderService.addExceptionUrl({
15
- path: '/api/users?refresh',
16
- method: 'GET',
17
- });
18
- this.tokenService.addExceptionUrl({
19
- path: '/api/users?refresh',
20
- method: 'GET',
21
- });
22
- }
23
- intercept(request, next) {
24
- if (this.isException(request)) {
25
- return next.handle(request);
26
- }
27
- const token = this.authService.getToken();
28
- if (token) {
29
- this.isTokenExpired(token);
30
- request = request.clone({
31
- setHeaders: {
32
- Authorization: `Bearer ${token}`,
33
- },
34
- });
35
- }
36
- return next.handle(request);
37
- }
38
- isTokenExpired(token) {
39
- const redirectPath = location.pathname;
40
- const decodedToken = this.authService.getDecodedToken();
41
- const expDate = new Date((decodedToken.exp ?? 0) * 1000);
42
- if (expDate < new Date()) {
43
- location.replace('/ar/login?redirect=' + redirectPath);
44
- return;
45
- }
46
- else {
47
- if (this.authService.currentUserUrl) {
48
- if (this.refresh) {
49
- this.http
50
- .get(this.authService.currentUserUrl + `users?refresh`, {
51
- headers: { Authorization: `Bearer ${token}` },
52
- })
53
- .subscribe((user) => {
54
- localStorage.setItem('token', user.token);
55
- this.refresh = false;
56
- setTimeout(() => {
57
- this.refresh = true;
58
- }, 60 * 1000);
59
- });
60
- }
61
- }
62
- else {
63
- throw new Error("provide current base user api url using this function authService.setCurrentUserUrl('https://...')");
64
- }
65
- }
66
- }
67
- isException(req) {
68
- for (const url of this.tokenService.urls) {
69
- if (req.url.includes(url.path) && req.method === url.method) {
70
- return true;
71
- }
72
- }
73
- return false;
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TokenInterceptor, deps: [{ token: i1.AuthService }, { token: i2.HttpClient }, { token: i3.LoaderService }, { token: i4.TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TokenInterceptor }); }
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TokenInterceptor, decorators: [{
79
- type: Injectable
80
- }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.HttpClient }, { type: i3.LoaderService }, { type: i4.TokenService }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL3Rva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWdCM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUNVLFdBQXdCLEVBQ3hCLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLFlBQTBCO1FBSDFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFMcEMsWUFBTyxHQUFHLElBQUksQ0FBQztRQU9iLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDO1lBQ2pDLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztZQUNoQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FDUCxPQUE2QixFQUM3QixJQUFpQjtRQUVqQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLFVBQVUsRUFBRTtvQkFDVixhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7aUJBQ2pDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7UUFDbEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBa0IsQ0FBQztRQUN4RSxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLFFBQVEsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLENBQUM7WUFDdkQsT0FBTztRQUNULENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDakIsSUFBSSxDQUFDLElBQUk7eUJBQ04sR0FBRyxDQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLGVBQWUsRUFBRTt3QkFDNUQsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsS0FBSyxFQUFFLEVBQUU7cUJBQzlDLENBQUM7eUJBQ0QsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ2xCLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7NEJBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ3RCLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7b0JBQ2hCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FDYixvR0FBb0csQ0FDckcsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFxQjtRQUMvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzVELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBMUVVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cENsaWVudCxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZWNvZGVkVG9rZW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGVjb2RlZFRva2VuLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLm1vZGVsJztcclxuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdG9rZW4uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUb2tlbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICByZWZyZXNoID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmFkZEV4Y2VwdGlvblVybCh7XHJcbiAgICAgIHBhdGg6ICcvYXBpL3VzZXJzP3JlZnJlc2gnLFxyXG4gICAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRva2VuU2VydmljZS5hZGRFeGNlcHRpb25Vcmwoe1xyXG4gICAgICBwYXRoOiAnL2FwaS91c2Vycz9yZWZyZXNoJyxcclxuICAgICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBpZiAodGhpcy5pc0V4Y2VwdGlvbihyZXF1ZXN0KSkge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKTtcclxuICAgIGlmICh0b2tlbikge1xyXG4gICAgICB0aGlzLmlzVG9rZW5FeHBpcmVkKHRva2VuKTtcclxuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgIHNldEhlYWRlcnM6IHtcclxuICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1Rva2VuRXhwaXJlZCh0b2tlbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZWRpcmVjdFBhdGggPSBsb2NhdGlvbi5wYXRobmFtZTtcclxuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0RGVjb2RlZFRva2VuKCkgYXMgRGVjb2RlZFRva2VuO1xyXG4gICAgY29uc3QgZXhwRGF0ZSA9IG5ldyBEYXRlKChkZWNvZGVkVG9rZW4uZXhwID8/IDApICogMTAwMCk7XHJcbiAgICBpZiAoZXhwRGF0ZSA8IG5ldyBEYXRlKCkpIHtcclxuICAgICAgbG9jYXRpb24ucmVwbGFjZSgnL2FyL2xvZ2luP3JlZGlyZWN0PScgKyByZWRpcmVjdFBhdGgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlclVybCkge1xyXG4gICAgICAgIGlmICh0aGlzLnJlZnJlc2gpIHtcclxuICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PFVzZXI+KHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXJVcmwgKyBgdXNlcnM/cmVmcmVzaGAsIHtcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcclxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB1c2VyLnRva2VuKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlZnJlc2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSwgNjAgKiAxMDAwKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgIFwicHJvdmlkZSBjdXJyZW50IGJhc2UgdXNlciBhcGkgdXJsIHVzaW5nIHRoaXMgZnVuY3Rpb24gYXV0aFNlcnZpY2Uuc2V0Q3VycmVudFVzZXJVcmwoJ2h0dHBzOi8vLi4uJylcIlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRXhjZXB0aW9uKHJlcTogSHR0cFJlcXVlc3Q8YW55Pik6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCB1cmwgb2YgdGhpcy50b2tlblNlcnZpY2UudXJscykge1xyXG4gICAgICBpZiAocmVxLnVybC5pbmNsdWRlcyh1cmwucGF0aCkgJiYgcmVxLm1ldGhvZCA9PT0gdXJsLm1ldGhvZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,62 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class AuthService {
5
- constructor() {
6
- this.currentUser = new BehaviorSubject({ exp: 0 });
7
- this.currentUserUrl = '';
8
- }
9
- getToken() {
10
- return localStorage.getItem('token') ?? '';
11
- }
12
- getDecodedToken() {
13
- return this.decodeJwt(this.getToken());
14
- }
15
- setCurrentUser() {
16
- const decodedToken = this.getDecodedToken();
17
- this.currentUser.next({
18
- nameid: decodedToken.nameid,
19
- email: decodedToken.email,
20
- given_name: decodedToken.given_name,
21
- exp: decodedToken.exp,
22
- });
23
- }
24
- getTokenFromHidden() {
25
- return (document.querySelector('[id$=hfToken]').value ?? '');
26
- }
27
- getDecodedTokenFromHidden() {
28
- return this.decodeJwt(this.getTokenFromHidden());
29
- }
30
- setCurrentUserFromHidden() {
31
- const decodedToken = this.getDecodedTokenFromHidden();
32
- this.currentUser.next({
33
- nameid: decodedToken.nameid?.split('\\')[1],
34
- email: decodedToken.email,
35
- given_name: decodedToken.given_name,
36
- exp: decodedToken.exp,
37
- });
38
- }
39
- setCurrentUserUrl(url) {
40
- this.currentUserUrl = url;
41
- }
42
- decodeJwt(token) {
43
- const base64Url = token.split('.')[1];
44
- const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
45
- const jsonPayload = decodeURIComponent(atob(base64)
46
- .split('')
47
- .map((c) => {
48
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
49
- })
50
- .join(''));
51
- return JSON.parse(jsonPayload);
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
54
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AuthService, providedIn: 'root' }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AuthService, decorators: [{
57
- type: Injectable,
58
- args: [{
59
- providedIn: 'root',
60
- }]
61
- }], ctorParameters: () => [] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxXQUFXO0lBR3RCO1FBRk8sZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0lBQ0wsQ0FBQztJQUVoQixRQUFRO1FBQ04sT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQWtCLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQzNCLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSztZQUN6QixVQUFVLEVBQUUsWUFBWSxDQUFDLFVBQVU7WUFDbkMsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFHO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxDQUNKLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFzQixDQUFDLEtBQUssSUFBSSxFQUFFLENBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQseUJBQXlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFrQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLO1lBQ3pCLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTtZQUNuQyxHQUFHLEVBQUUsWUFBWSxDQUFDLEdBQUc7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFhO1FBQzdCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNULEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNULE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNaLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQzs4R0EzRFUsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEZWNvZGVkVG9rZW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGVjb2RlZFRva2VuLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgcHVibGljIGN1cnJlbnRVc2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEZWNvZGVkVG9rZW4+KHsgZXhwOiAwIH0pO1xyXG4gIGN1cnJlbnRVc2VyVXJsID0gJyc7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBnZXRUb2tlbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVjb2RlZFRva2VuKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNvZGVKd3QodGhpcy5nZXRUb2tlbigpKTtcclxuICB9XHJcblxyXG4gIHNldEN1cnJlbnRVc2VyKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gdGhpcy5nZXREZWNvZGVkVG9rZW4oKSBhcyBEZWNvZGVkVG9rZW47XHJcbiAgICB0aGlzLmN1cnJlbnRVc2VyLm5leHQoe1xyXG4gICAgICBuYW1laWQ6IGRlY29kZWRUb2tlbi5uYW1laWQsXHJcbiAgICAgIGVtYWlsOiBkZWNvZGVkVG9rZW4uZW1haWwsXHJcbiAgICAgIGdpdmVuX25hbWU6IGRlY29kZWRUb2tlbi5naXZlbl9uYW1lLFxyXG4gICAgICBleHA6IGRlY29kZWRUb2tlbi5leHAsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFRva2VuRnJvbUhpZGRlbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tpZCQ9aGZUb2tlbl0nKSBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSA/PyAnJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldERlY29kZWRUb2tlbkZyb21IaWRkZW4oKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmRlY29kZUp3dCh0aGlzLmdldFRva2VuRnJvbUhpZGRlbigpKTtcclxuICB9XHJcblxyXG4gIHNldEN1cnJlbnRVc2VyRnJvbUhpZGRlbigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZ2V0RGVjb2RlZFRva2VuRnJvbUhpZGRlbigpIGFzIERlY29kZWRUb2tlbjtcclxuICAgIHRoaXMuY3VycmVudFVzZXIubmV4dCh7XHJcbiAgICAgIG5hbWVpZDogZGVjb2RlZFRva2VuLm5hbWVpZD8uc3BsaXQoJ1xcXFwnKVsxXSxcclxuICAgICAgZW1haWw6IGRlY29kZWRUb2tlbi5lbWFpbCxcclxuICAgICAgZ2l2ZW5fbmFtZTogZGVjb2RlZFRva2VuLmdpdmVuX25hbWUsXHJcbiAgICAgIGV4cDogZGVjb2RlZFRva2VuLmV4cCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0Q3VycmVudFVzZXJVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY3VycmVudFVzZXJVcmwgPSB1cmw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlY29kZUp3dCh0b2tlbjogc3RyaW5nKTogYW55IHtcclxuICAgIGNvbnN0IGJhc2U2NFVybCA9IHRva2VuLnNwbGl0KCcuJylbMV07XHJcbiAgICBjb25zdCBiYXNlNjQgPSBiYXNlNjRVcmwucmVwbGFjZSgvLS9nLCAnKycpLnJlcGxhY2UoL18vZywgJy8nKTtcclxuICAgIGNvbnN0IGpzb25QYXlsb2FkID0gZGVjb2RlVVJJQ29tcG9uZW50KFxyXG4gICAgICBhdG9iKGJhc2U2NClcclxuICAgICAgICAuc3BsaXQoJycpXHJcbiAgICAgICAgLm1hcCgoYykgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuICclJyArICgnMDAnICsgYy5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmpvaW4oJycpXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoanNvblBheWxvYWQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,55 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "ngx-toastr";
4
- import * as i2 from "../../services/common.service";
5
- export class ErrorService {
6
- constructor(toastrService, commonService) {
7
- this.toastrService = toastrService;
8
- this.commonService = commonService;
9
- this.urls = [];
10
- }
11
- setExceptionUrls(urls) {
12
- this.urls = urls;
13
- }
14
- addExceptionUrl(url) {
15
- this.urls.push(url);
16
- }
17
- showErrorMsg(response, toastrConfig) {
18
- if (response.errors && response.errors.length > 0) {
19
- toastrConfig.enableHtml = true;
20
- let msg = '';
21
- response.errors.forEach((error) => {
22
- msg += `<li>${error}</li>`;
23
- });
24
- this.toastrService.error(`<ul>${msg}</ul>`, response.message, toastrConfig);
25
- }
26
- else {
27
- this.toastrService.error('', response.message, toastrConfig);
28
- }
29
- }
30
- show500ErrorMsg(response, toastrConfig) {
31
- const msg = response.innerException + ' ' + (response.stackTrace ?? '');
32
- const toastr = this.toastrService.error(msg, response.message, toastrConfig);
33
- toastr.onShown.subscribe(() => {
34
- this.addCopyButton(response.message + '\n' + msg);
35
- });
36
- }
37
- addCopyButton(copyText) {
38
- const messageToast = document.getElementsByClassName('toast-message')[0];
39
- const icon = document.createElement('i');
40
- icon.classList.add('ms-2', 'fas', 'fa-copy');
41
- icon.addEventListener('click', () => {
42
- this.commonService.copyToClipboard(copyText, 'تم نسخ الرسالة إلى الحافظة');
43
- });
44
- messageToast.appendChild(icon);
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ErrorService, deps: [{ token: i1.ToastrService }, { token: i2.CommonService }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ErrorService, decorators: [{
50
- type: Injectable,
51
- args: [{
52
- providedIn: 'root',
53
- }]
54
- }], ctorParameters: () => [{ type: i1.ToastrService }, { type: i2.CommonService }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFVM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFDVSxhQUE0QixFQUM1QixhQUE0QjtRQUQ1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUh0QyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQUl2QixDQUFDO0lBRUosZ0JBQWdCLENBQUMsSUFBb0I7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFpQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQXFCLEVBQUUsWUFBdUM7UUFDekUsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xELFlBQVksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQy9CLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2hDLEdBQUcsSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3RCLE9BQU8sR0FBRyxPQUFPLEVBQ2pCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFlBQVksQ0FDYixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FDYixRQUFzQixFQUN0QixZQUF1QztRQUV2QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsY0FBYyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3JDLEdBQUcsRUFDSCxRQUFRLENBQUMsT0FBTyxFQUNoQixZQUFZLENBQ2IsQ0FBQztRQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFnQjtRQUNwQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQ2xELGVBQWUsQ0FDaEIsQ0FBQyxDQUFDLENBQW1CLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUNoQyxRQUFRLEVBQ1IsNEJBQTRCLENBQzdCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQzs4R0E1RFUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcsIFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgQXBpRXhjZXB0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwaUV4Y2VwdGlvbic7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwaVJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXhjZXB0aW9uVXJsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4Y2VwdGlvblVybC5tb2RlbCc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JTZXJ2aWNlIHtcclxuICB1cmxzOiBFeGNlcHRpb25VcmxbXSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBzZXRFeGNlcHRpb25VcmxzKHVybHM6IEV4Y2VwdGlvblVybFtdKSB7XHJcbiAgICB0aGlzLnVybHMgPSB1cmxzO1xyXG4gIH1cclxuXHJcbiAgYWRkRXhjZXB0aW9uVXJsKHVybDogRXhjZXB0aW9uVXJsKSB7XHJcbiAgICB0aGlzLnVybHMucHVzaCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yTXNnKHJlc3BvbnNlOiBBcGlSZXNwb25zZSwgdG9hc3RyQ29uZmlnOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+KSB7XHJcbiAgICBpZiAocmVzcG9uc2UuZXJyb3JzICYmIHJlc3BvbnNlLmVycm9ycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRvYXN0ckNvbmZpZy5lbmFibGVIdG1sID0gdHJ1ZTtcclxuICAgICAgbGV0IG1zZyA9ICcnO1xyXG4gICAgICByZXNwb25zZS5lcnJvcnMuZm9yRWFjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICBtc2cgKz0gYDxsaT4ke2Vycm9yfTwvbGk+YDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcihcclxuICAgICAgICBgPHVsPiR7bXNnfTwvdWw+YCxcclxuICAgICAgICByZXNwb25zZS5tZXNzYWdlLFxyXG4gICAgICAgIHRvYXN0ckNvbmZpZ1xyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCcnLCByZXNwb25zZS5tZXNzYWdlLCB0b2FzdHJDb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdzUwMEVycm9yTXNnKFxyXG4gICAgcmVzcG9uc2U6IEFwaUV4Y2VwdGlvbixcclxuICAgIHRvYXN0ckNvbmZpZzogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPlxyXG4gICkge1xyXG4gICAgY29uc3QgbXNnID0gcmVzcG9uc2UuaW5uZXJFeGNlcHRpb24gKyAnICcgKyAocmVzcG9uc2Uuc3RhY2tUcmFjZSA/PyAnJyk7XHJcbiAgICBjb25zdCB0b2FzdHIgPSB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IoXHJcbiAgICAgIG1zZyxcclxuICAgICAgcmVzcG9uc2UubWVzc2FnZSxcclxuICAgICAgdG9hc3RyQ29uZmlnXHJcbiAgICApO1xyXG4gICAgdG9hc3RyLm9uU2hvd24uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5hZGRDb3B5QnV0dG9uKHJlc3BvbnNlLm1lc3NhZ2UgKyAnXFxuJyArIG1zZyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQ29weUJ1dHRvbihjb3B5VGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBtZXNzYWdlVG9hc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFxyXG4gICAgICAndG9hc3QtbWVzc2FnZSdcclxuICAgIClbMF0gYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICBjb25zdCBpY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaScpO1xyXG4gICAgaWNvbi5jbGFzc0xpc3QuYWRkKCdtcy0yJywgJ2ZhcycsICdmYS1jb3B5Jyk7XHJcbiAgICBpY29uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2UuY29weVRvQ2xpcGJvYXJkKFxyXG4gICAgICAgIGNvcHlUZXh0LFxyXG4gICAgICAgICfYqtmFINmG2LPYriDYp9mE2LHYs9in2YTYqSDYpdmE2Ykg2KfZhNit2KfZgdi42KknXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIG1lc3NhZ2VUb2FzdC5hcHBlbmRDaGlsZChpY29uKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,24 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class LoaderService {
5
- constructor() {
6
- this.isLoading = new BehaviorSubject(false);
7
- this.urls = [];
8
- }
9
- setExceptionUrls(urls) {
10
- this.urls = urls;
11
- }
12
- addExceptionUrl(url) {
13
- this.urls.push(url);
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoaderService, providedIn: 'root' }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LoaderService, decorators: [{
19
- type: Injectable,
20
- args: [{
21
- providedIn: 'root',
22
- }]
23
- }], ctorParameters: () => [] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvc2VydmljZXMvbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU12QyxNQUFNLE9BQU8sYUFBYTtJQUd4QjtRQUZPLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQUNYLENBQUM7SUFFaEIsZ0JBQWdCLENBQUMsSUFBb0I7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFpQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDOzhHQVhVLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEV4Y2VwdGlvblVybCB9IGZyb20gJy4uLy4uL21vZGVscy9leGNlcHRpb25VcmwubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRlclNlcnZpY2Uge1xyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICB1cmxzOiBFeGNlcHRpb25VcmxbXSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgc2V0RXhjZXB0aW9uVXJscyh1cmxzOiBFeGNlcHRpb25VcmxbXSkge1xyXG4gICAgdGhpcy51cmxzID0gdXJscztcclxuICB9XHJcblxyXG4gIGFkZEV4Y2VwdGlvblVybCh1cmw6IEV4Y2VwdGlvblVybCkge1xyXG4gICAgdGhpcy51cmxzLnB1c2godXJsKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,22 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TokenService {
4
- constructor() {
5
- this.urls = [];
6
- }
7
- setExceptionUrls(urls) {
8
- this.urls = urls;
9
- }
10
- addExceptionUrl(url) {
11
- this.urls.push(url);
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TokenService, providedIn: 'root' }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TokenService, decorators: [{
17
- type: Injectable,
18
- args: [{
19
- providedIn: 'root',
20
- }]
21
- }], ctorParameters: () => [] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvY29yZS9zZXJ2aWNlcy90b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxZQUFZO0lBRXZCO1FBREEsU0FBSSxHQUFtQixFQUFFLENBQUM7SUFDWCxDQUFDO0lBRWhCLGdCQUFnQixDQUFDLElBQW9CO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBaUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQzs4R0FWVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV4Y2VwdGlvblVybCB9IGZyb20gJy4uLy4uL21vZGVscy9leGNlcHRpb25VcmwubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5TZXJ2aWNlIHtcbiAgdXJsczogRXhjZXB0aW9uVXJsW10gPSBbXTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHNldEV4Y2VwdGlvblVybHModXJsczogRXhjZXB0aW9uVXJsW10pIHtcbiAgICB0aGlzLnVybHMgPSB1cmxzO1xuICB9XG5cbiAgYWRkRXhjZXB0aW9uVXJsKHVybDogRXhjZXB0aW9uVXJsKSB7XG4gICAgdGhpcy51cmxzLnB1c2godXJsKTtcbiAgfVxufVxuIl19