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.
- package/fesm2022/ng-ipa-library.mjs +103 -102
- package/fesm2022/ng-ipa-library.mjs.map +1 -1
- package/package.json +16 -13
- package/src/lib/assets/ngIPAStyle.scss +6 -14
- package/esm2022/lib/core/components/loading/loading.component.mjs +0 -37
- package/esm2022/lib/core/interceptors/error.interceptor.mjs +0 -46
- package/esm2022/lib/core/interceptors/loading.interceptor.mjs +0 -58
- package/esm2022/lib/core/interceptors/myIPAToken.interceptor.mjs +0 -38
- package/esm2022/lib/core/interceptors/token.interceptor.mjs +0 -81
- package/esm2022/lib/core/services/auth.service.mjs +0 -62
- package/esm2022/lib/core/services/error.service.mjs +0 -55
- package/esm2022/lib/core/services/loader.service.mjs +0 -24
- package/esm2022/lib/core/services/token.service.mjs +0 -22
- package/esm2022/lib/generate-form/generate-form.component.mjs +0 -153
- package/esm2022/lib/ipa-form/datepicker/datepicker.component.mjs +0 -124
- package/esm2022/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.mjs +0 -27
- package/esm2022/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.mjs +0 -38
- package/esm2022/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.mjs +0 -38
- package/esm2022/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.mjs +0 -27
- package/esm2022/lib/ipa-form/dropdown-input/dropdown-input.component.mjs +0 -84
- package/esm2022/lib/ipa-form/file-upload/file-upload.component.mjs +0 -142
- package/esm2022/lib/ipa-form/ipa-form.service.mjs +0 -290
- package/esm2022/lib/ipa-form/recaptcha/recaptcha.component.mjs +0 -55
- package/esm2022/lib/ipa-form/text-input/text-input.component.mjs +0 -93
- package/esm2022/lib/ipa-form/textarea-input/textarea-input.component.mjs +0 -76
- package/esm2022/lib/models/apiException.mjs +0 -2
- package/esm2022/lib/models/apiResponse.mjs +0 -2
- package/esm2022/lib/models/breadcrumbs.model.mjs +0 -2
- package/esm2022/lib/models/decodedToken.model.mjs +0 -2
- package/esm2022/lib/models/exceptionUrl.model.mjs +0 -2
- package/esm2022/lib/models/generateForm.model.mjs +0 -2
- package/esm2022/lib/models/pagedResult.mjs +0 -2
- package/esm2022/lib/models/user.model.mjs +0 -2
- package/esm2022/lib/ng-ipa-library.module.mjs +0 -107
- package/esm2022/lib/pipes/hijri-date.pipe.mjs +0 -18
- package/esm2022/lib/pipes/pipes.module.mjs +0 -16
- package/esm2022/lib/services/breadcrumbs.service.mjs +0 -149
- package/esm2022/lib/services/common.service.mjs +0 -74
- package/esm2022/lib/share-button/share-button.component.mjs +0 -35
- package/esm2022/lib/share-button/share-button.module.mjs +0 -50
- package/esm2022/ng-ipa-library.mjs +0 -5
- 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": "
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "<
|
|
6
|
-
"@angular/core": "<
|
|
7
|
-
"@angular/cdk": "<
|
|
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": "^
|
|
19
|
+
"moment-hijri": "^3.0.0",
|
|
15
20
|
"@types/moment-hijri": "^2.1.4",
|
|
16
|
-
"@ng-bootstrap/ng-bootstrap": "^
|
|
17
|
-
"@fortawesome/fontawesome-svg-core": "^6.
|
|
18
|
-
"@fortawesome/angular-fontawesome": "^0.
|
|
19
|
-
"@fortawesome/free-brands-svg-icons": "^6.
|
|
20
|
-
"@fortawesome/free-solid-svg-icons": "^6.
|
|
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": "^
|
|
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
|
|
2
|
-
@import
|
|
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
|
|
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
|