monkey-front-core 0.0.196 → 0.0.197
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/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +54 -11
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +5 -1
- package/fesm2015/monkey-front-core.mjs +66 -19
- package/fesm2015/monkey-front-core.mjs.map +1 -1
- package/fesm2020/monkey-front-core.mjs +56 -10
- package/fesm2020/monkey-front-core.mjs.map +1 -1
- package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +7 -3
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +3 -2
- package/monkey-front-core-0.0.197.tgz +0 -0
- package/package.json +1 -1
- package/monkey-front-core-0.0.196.tgz +0 -0
|
@@ -1,17 +1,36 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { throwError } from 'rxjs';
|
|
2
|
+
import { from, throwError } from 'rxjs';
|
|
3
3
|
import { catchError, map, mergeMap, take } from 'rxjs/operators';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../services/auth";
|
|
6
6
|
import * as i2 from "../services/error";
|
|
7
|
+
import * as i3 from "../services";
|
|
7
8
|
export class MonkeyEcxHttpConfigHeaderInterceptor {
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
9
|
+
constructor(authService, errorHandlingService, config) {
|
|
10
|
+
this.authService = authService;
|
|
11
|
+
this.errorHandlingService = errorHandlingService;
|
|
12
|
+
this.config = config;
|
|
11
13
|
// not to do
|
|
12
14
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
async handle(request, next) {
|
|
16
|
+
const { url } = request;
|
|
17
|
+
if (this.authService.isTokenMandatory(url)) {
|
|
18
|
+
try {
|
|
19
|
+
const config = await this.config
|
|
20
|
+
.config()
|
|
21
|
+
.pipe(take(1))
|
|
22
|
+
.toPromise();
|
|
23
|
+
if (!config) {
|
|
24
|
+
await this.onValidateConfig();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// not to do
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return this.authService
|
|
32
|
+
.getRequestWithHeadersOb(request)
|
|
33
|
+
.pipe(take(1), map((event) => {
|
|
15
34
|
return event;
|
|
16
35
|
}), mergeMap((resp) => {
|
|
17
36
|
request = request.clone({
|
|
@@ -19,14 +38,38 @@ export class MonkeyEcxHttpConfigHeaderInterceptor {
|
|
|
19
38
|
});
|
|
20
39
|
return next.handle(request);
|
|
21
40
|
}), catchError((error) => {
|
|
22
|
-
this.
|
|
41
|
+
this.errorHandlingService.handleError(error);
|
|
23
42
|
return throwError(error);
|
|
24
|
-
}))
|
|
43
|
+
}))
|
|
44
|
+
.toPromise();
|
|
45
|
+
}
|
|
46
|
+
onValidateConfig() {
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
let count = 0;
|
|
49
|
+
const interval = setInterval(async () => {
|
|
50
|
+
count += 1;
|
|
51
|
+
if (count > 20) {
|
|
52
|
+
clearInterval(interval);
|
|
53
|
+
resolve(null);
|
|
54
|
+
}
|
|
55
|
+
const config = await this.config
|
|
56
|
+
.config()
|
|
57
|
+
.pipe(take(1))
|
|
58
|
+
.toPromise();
|
|
59
|
+
if (config) {
|
|
60
|
+
clearInterval(interval);
|
|
61
|
+
resolve(null);
|
|
62
|
+
}
|
|
63
|
+
}, 200);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
intercept(request, next) {
|
|
67
|
+
return from(this.handle(request, next));
|
|
25
68
|
}
|
|
26
69
|
}
|
|
27
|
-
MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: i1.MonkeyEcxAuthenticationService }, { token: i2.MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
+
MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: i1.MonkeyEcxAuthenticationService }, { token: i2.MonkeyEcxErrorHandlingService }, { token: i3.MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
71
|
MonkeyEcxHttpConfigHeaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor });
|
|
29
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, decorators: [{
|
|
30
73
|
type: Injectable
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxAuthenticationService }, { type: i2.MonkeyEcxErrorHandlingService }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxAuthenticationService }, { type: i2.MonkeyEcxErrorHandlingService }, { type: i3.MonkeyEcxConfigService }]; } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWh0dHAtY29uZmlnLWhlYWRlci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvbW9ua2V5ZWN4LWh0dHAtY29uZmlnLWhlYWRlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTNDLE9BQU8sRUFBRSxJQUFJLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNakUsTUFBTSxPQUFPLG9DQUFvQztJQUMvQyxZQUNVLFdBQTJDLEVBQzNDLG9CQUFtRCxFQUNuRCxNQUE4QjtRQUY5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0M7UUFDM0MseUJBQW9CLEdBQXBCLG9CQUFvQixDQUErQjtRQUNuRCxXQUFNLEdBQU4sTUFBTSxDQUF3QjtRQUV0QyxZQUFZO0lBQ2QsQ0FBQztJQUVPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUMvRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQyxJQUFJO2dCQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU07cUJBQzdCLE1BQU0sRUFBRTtxQkFDUixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUVmLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDL0I7YUFDRjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLFlBQVk7YUFDYjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQix1QkFBdUIsQ0FBQyxPQUFPLENBQUM7YUFDaEMsSUFBSSxDQUNILElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ3JCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUN0QixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0MsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUU7WUFDdkMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN0QyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNYLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtvQkFDZCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZjtnQkFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNO3FCQUM3QixNQUFNLEVBQUU7cUJBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFFZixJQUFJLE1BQU0sRUFBRTtvQkFDVixhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZjtZQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7aUlBeEVVLG9DQUFvQztxSUFBcEMsb0NBQW9DOzJGQUFwQyxvQ0FBb0M7a0JBRGhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG1lcmdlTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RXJyb3JIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lcnJvcic7XG5pbXBvcnQgeyBNb25rZXlFY3hBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hIdHRwQ29uZmlnSGVhZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBNb25rZXlFY3hBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsaW5nU2VydmljZTogTW9ua2V5RWN4RXJyb3JIYW5kbGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWc6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZShyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGNvbnN0IHsgdXJsIH0gPSByZXF1ZXN0O1xuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzVG9rZW5NYW5kYXRvcnkodXJsKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5jb25maWdcbiAgICAgICAgICAuY29uZmlnKClcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC50b1Byb21pc2UoKTtcblxuICAgICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICAgIGF3YWl0IHRoaXMub25WYWxpZGF0ZUNvbmZpZygpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBub3QgdG8gZG9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZVxuICAgICAgLmdldFJlcXVlc3RXaXRoSGVhZGVyc09iKHJlcXVlc3QpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICB9KSxcbiAgICAgICAgbWVyZ2VNYXAoKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHJlc3BcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwcml2YXRlIG9uVmFsaWRhdGVDb25maWcoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbikgPT4ge1xuICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb3VudCArPSAxO1xuICAgICAgICBpZiAoY291bnQgPiAyMCkge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb25maWcgPSBhd2FpdCB0aGlzLmNvbmZpZ1xuICAgICAgICAgIC5jb25maWcoKVxuICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9LCAyMDApO1xuICAgIH0pO1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaGFuZGxlKHJlcXVlc3QsIG5leHQpKTtcbiAgfVxufVxuIl19
|
|
@@ -23,6 +23,10 @@ export class MonkeyEcxAuthenticationService {
|
|
|
23
23
|
console.error('isCompanyAuthorized needs to be declared!');
|
|
24
24
|
return false;
|
|
25
25
|
};
|
|
26
|
+
this.isTokenMandatory = (url) => {
|
|
27
|
+
console.error('isTokenMandatory needs to be declared!');
|
|
28
|
+
return false;
|
|
29
|
+
};
|
|
26
30
|
this.getRequestWithHeaders = (request) => {
|
|
27
31
|
console.error('getRequestWithHeaders needs to be declared!');
|
|
28
32
|
return null;
|
|
@@ -61,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
61
65
|
type: Injectable,
|
|
62
66
|
args: [{ providedIn: 'root' }]
|
|
63
67
|
}], ctorParameters: function () { return []; } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9tb25rZXllY3gtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QztRQUlBLHVCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw2QkFBd0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUFZLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsd0JBQW1CLEdBQUcsR0FBWSxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUMzRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLHFCQUFnQixHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsMEJBQXFCLEdBQUcsQ0FBQyxPQUF5QixFQUEwQixFQUFFO1lBQzVFLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztZQUM3RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLDRCQUF1QixHQUFHLENBQUMsT0FBeUIsRUFBeUIsRUFBRTtZQUM3RSxPQUFPLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRix3QkFBbUIsR0FBRyxDQUFDLFFBQTJCLEVBQVcsRUFBRTtZQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFRixpQkFBWSxHQUFHLEdBQTJCLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBbkRBLFlBQVk7SUFDZCxDQUFDO0lBb0RELElBQUksQ0FBQyxJQVVKO1FBQ0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsd0JBQXdCO1lBQzNCLElBQUksRUFBRSx3QkFBd0IsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLHFCQUFxQjtZQUN4QixJQUFJLEVBQUUscUJBQXFCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OzJIQTdFVSw4QkFBOEI7K0hBQTlCLDhCQUE4QixjQURqQixNQUFNOzJGQUNuQiw4QkFBOEI7a0JBRDFDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEF1dGhlbnRpY2F0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgaGFkQXRMZWFzdE9uZUxvZ2luID0gKCkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2hhZEF0TGVhc3RPbmVMb2dpbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZWRpcmVjdEFwcCA9ICgpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWRpcmVjdEFwcCBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgPSAoKSA9PiB7XG4gICAgY29uc29sZS5lcnJvcigncmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGlzQXV0aG9yaXplZCA9ICgpOiBib29sZWFuID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdpc0F1dGhvcml6ZWQgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGlzQ29tcGFueUF1dGhvcml6ZWQgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5lcnJvcignaXNDb21wYW55QXV0aG9yaXplZCBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgaXNUb2tlbk1hbmRhdG9yeSA9ICh1cmw6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2lzVG9rZW5NYW5kYXRvcnkgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGdldFJlcXVlc3RXaXRoSGVhZGVycyA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB8IGFueSA9PiB7XG4gICAgY29uc29sZS5lcnJvcignZ2V0UmVxdWVzdFdpdGhIZWFkZXJzIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGdldFJlcXVlc3RXaXRoSGVhZGVyc09iID0gKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPGFueT4gfCBhbnkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2dldFJlcXVlc3RXaXRoSGVhZGVyc09iIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZnJlc2hTaG91bGRIYXBwZW4gPSAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5lcnJvcigncmVmcmVzaFNob3VsZEhhcHBlbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgcmVmcmVzaFRva2VuID0gKCk6IE9ic2VydmFibGU8YW55PiB8IG51bGwgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZnJlc2hUb2tlbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBpbml0KGFyZ3M6IHtcbiAgICBoYWRBdExlYXN0T25lTG9naW4/OiBhbnk7XG4gICAgcmVkaXJlY3RBcHA/OiBhbnk7XG4gICAgcmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrPzogYW55O1xuICAgIGlzQXV0aG9yaXplZD86IGFueTtcbiAgICBpc0NvbXBhbnlBdXRob3JpemVkPzogYW55O1xuICAgIGdldFJlcXVlc3RXaXRoSGVhZGVycz86IGFueTtcbiAgICBnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYj86IGFueTtcbiAgICByZWZyZXNoU2hvdWxkSGFwcGVuPzogYW55O1xuICAgIHJlZnJlc2hUb2tlbj86IGFueTtcbiAgfSkge1xuICAgIHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luID0gYXJncz8uaGFkQXRMZWFzdE9uZUxvZ2luIHx8IHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWRpcmVjdEFwcCA9IGFyZ3M/LnJlZGlyZWN0QXBwIHx8IHRoaXMucmVkaXJlY3RBcHAuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjayA9XG4gICAgICBhcmdzPy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgfHwgdGhpcy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLmlzQXV0aG9yaXplZCA9IGFyZ3M/LmlzQXV0aG9yaXplZCB8fCB0aGlzLmlzQXV0aG9yaXplZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNDb21wYW55QXV0aG9yaXplZCA9IGFyZ3M/LmlzQ29tcGFueUF1dGhvcml6ZWQgfHwgdGhpcy5pc0NvbXBhbnlBdXRob3JpemVkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnMgPVxuICAgICAgYXJncz8uZ2V0UmVxdWVzdFdpdGhIZWFkZXJzIHx8IHRoaXMuZ2V0UmVxdWVzdFdpdGhIZWFkZXJzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiA9IGFyZ3M/LmdldFJlcXVlc3RXaXRoSGVhZGVyc09iLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWZyZXNoU2hvdWxkSGFwcGVuID0gYXJncz8ucmVmcmVzaFNob3VsZEhhcHBlbiB8fCB0aGlzLnJlZnJlc2hTaG91bGRIYXBwZW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlbiA9IGFyZ3M/LnJlZnJlc2hUb2tlbiB8fCB0aGlzLnJlZnJlc2hUb2tlbi5iaW5kKHRoaXMpO1xuICB9XG59XG4iXX0=
|
|
@@ -10,13 +10,13 @@ import * as moment_ from 'moment';
|
|
|
10
10
|
import * as i1$2 from 'ngx-cookie-service';
|
|
11
11
|
import * as i1$3 from '@angular/router';
|
|
12
12
|
import { NavigationStart, NavigationEnd, NavigationError, NavigationCancel } from '@angular/router';
|
|
13
|
-
import { BehaviorSubject, Subscription, throwError, interval, concat, of, Subject } from 'rxjs';
|
|
13
|
+
import { BehaviorSubject, Subscription, throwError, interval, concat, of, Subject, from } from 'rxjs';
|
|
14
14
|
import { filter, take, takeWhile, map, catchError, first, takeUntil, mergeMap, finalize } from 'rxjs/operators';
|
|
15
15
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
16
16
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
17
17
|
import * as i1$4 from '@angular/cdk/overlay';
|
|
18
18
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
19
|
-
import { __decorate } from 'tslib';
|
|
19
|
+
import { __decorate, __awaiter } from 'tslib';
|
|
20
20
|
import * as i1$5 from '@angular/common/http';
|
|
21
21
|
import { HttpParams, HttpErrorResponse, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
22
22
|
import { datadogRum } from '@datadog/browser-rum';
|
|
@@ -3467,6 +3467,10 @@ class MonkeyEcxAuthenticationService {
|
|
|
3467
3467
|
console.error('isCompanyAuthorized needs to be declared!');
|
|
3468
3468
|
return false;
|
|
3469
3469
|
};
|
|
3470
|
+
this.isTokenMandatory = (url) => {
|
|
3471
|
+
console.error('isTokenMandatory needs to be declared!');
|
|
3472
|
+
return false;
|
|
3473
|
+
};
|
|
3470
3474
|
this.getRequestWithHeaders = (request) => {
|
|
3471
3475
|
console.error('getRequestWithHeaders needs to be declared!');
|
|
3472
3476
|
return null;
|
|
@@ -4601,31 +4605,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
4601
4605
|
}], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
|
|
4602
4606
|
|
|
4603
4607
|
class MonkeyEcxHttpConfigHeaderInterceptor {
|
|
4604
|
-
constructor(
|
|
4605
|
-
this.
|
|
4606
|
-
this.
|
|
4608
|
+
constructor(authService, errorHandlingService, config) {
|
|
4609
|
+
this.authService = authService;
|
|
4610
|
+
this.errorHandlingService = errorHandlingService;
|
|
4611
|
+
this.config = config;
|
|
4607
4612
|
// not to do
|
|
4608
4613
|
}
|
|
4614
|
+
handle(request, next) {
|
|
4615
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
4616
|
+
const { url } = request;
|
|
4617
|
+
if (this.authService.isTokenMandatory(url)) {
|
|
4618
|
+
try {
|
|
4619
|
+
const config = yield this.config
|
|
4620
|
+
.config()
|
|
4621
|
+
.pipe(take(1))
|
|
4622
|
+
.toPromise();
|
|
4623
|
+
if (!config) {
|
|
4624
|
+
yield this.onValidateConfig();
|
|
4625
|
+
}
|
|
4626
|
+
}
|
|
4627
|
+
catch (error) {
|
|
4628
|
+
// not to do
|
|
4629
|
+
}
|
|
4630
|
+
}
|
|
4631
|
+
return this.authService
|
|
4632
|
+
.getRequestWithHeadersOb(request)
|
|
4633
|
+
.pipe(take(1), map((event) => {
|
|
4634
|
+
return event;
|
|
4635
|
+
}), mergeMap((resp) => {
|
|
4636
|
+
request = request.clone({
|
|
4637
|
+
setHeaders: resp
|
|
4638
|
+
});
|
|
4639
|
+
return next.handle(request);
|
|
4640
|
+
}), catchError((error) => {
|
|
4641
|
+
this.errorHandlingService.handleError(error);
|
|
4642
|
+
return throwError(error);
|
|
4643
|
+
}))
|
|
4644
|
+
.toPromise();
|
|
4645
|
+
});
|
|
4646
|
+
}
|
|
4647
|
+
onValidateConfig() {
|
|
4648
|
+
return new Promise((resolve) => {
|
|
4649
|
+
let count = 0;
|
|
4650
|
+
const interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
4651
|
+
count += 1;
|
|
4652
|
+
if (count > 20) {
|
|
4653
|
+
clearInterval(interval);
|
|
4654
|
+
resolve(null);
|
|
4655
|
+
}
|
|
4656
|
+
const config = yield this.config
|
|
4657
|
+
.config()
|
|
4658
|
+
.pipe(take(1))
|
|
4659
|
+
.toPromise();
|
|
4660
|
+
if (config) {
|
|
4661
|
+
clearInterval(interval);
|
|
4662
|
+
resolve(null);
|
|
4663
|
+
}
|
|
4664
|
+
}), 200);
|
|
4665
|
+
});
|
|
4666
|
+
}
|
|
4609
4667
|
intercept(request, next) {
|
|
4610
|
-
|
|
4611
|
-
return ((_b = (_a = this.monkeyecxAuthenticationService) === null || _a === void 0 ? void 0 : _a.getRequestWithHeadersOb(request)) === null || _b === void 0 ? void 0 : _b.pipe(take(1), map((event) => {
|
|
4612
|
-
return event;
|
|
4613
|
-
}), mergeMap((resp) => {
|
|
4614
|
-
request = request.clone({
|
|
4615
|
-
setHeaders: resp
|
|
4616
|
-
});
|
|
4617
|
-
return next.handle(request);
|
|
4618
|
-
}), catchError((error) => {
|
|
4619
|
-
this.monkeyecxErrorHandlingService.handleError(error);
|
|
4620
|
-
return throwError(error);
|
|
4621
|
-
}))) || throwError('getRequestWithHeadersOb undefined');
|
|
4668
|
+
return from(this.handle(request, next));
|
|
4622
4669
|
}
|
|
4623
4670
|
}
|
|
4624
|
-
MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4671
|
+
MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }, { token: MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4625
4672
|
MonkeyEcxHttpConfigHeaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor });
|
|
4626
4673
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, decorators: [{
|
|
4627
4674
|
type: Injectable
|
|
4628
|
-
}], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
|
|
4675
|
+
}], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }, { type: MonkeyEcxConfigService }]; } });
|
|
4629
4676
|
|
|
4630
4677
|
/* eslint-disable max-len */
|
|
4631
4678
|
class MonkeyEcxHttpConfigQueueInterceptor {
|