@lenne.tech/ng-base 14.34.0 → 14.36.0
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/base-components/components/model-table/model-table.component.d.ts +16 -4
- package/esm2020/base-components/components/model-table/model-table.component.mjs +77 -18
- package/esm2020/base-prototype/pages/profile/profile.component.mjs +4 -1
- package/esm2020/shared/classes/auth.class.mjs +2 -1
- package/esm2020/shared/services/auth.service.mjs +76 -13
- package/esm2020/shared/services/user.service.mjs +9 -7
- package/esm2020/src/factories/apollo-options.factory.mjs +45 -4
- package/fesm2015/lenne.tech-ng-base-base-components.mjs +69 -13
- package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
- package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +3 -0
- package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
- package/fesm2015/lenne.tech-ng-base-shared.mjs +309 -246
- package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
- package/fesm2015/lenne.tech-ng-base.mjs +42 -4
- package/fesm2015/lenne.tech-ng-base.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base-base-components.mjs +69 -13
- package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +3 -0
- package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base-shared.mjs +306 -241
- package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base.mjs +44 -4
- package/fesm2020/lenne.tech-ng-base.mjs.map +1 -1
- package/package.json +1 -1
- package/shared/classes/auth.class.d.ts +1 -0
- package/shared/services/auth.service.d.ts +15 -4
|
@@ -4,6 +4,7 @@ import { Standard } from './standard.class';
|
|
|
4
4
|
export class Auth extends Standard {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
|
+
this.refreshToken = undefined;
|
|
7
8
|
this.token = undefined;
|
|
8
9
|
this.user = undefined;
|
|
9
10
|
}
|
|
@@ -13,4 +14,4 @@ export class Auth extends Standard {
|
|
|
13
14
|
return this;
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2NsYXNzZXMvYXV0aC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sSUFBSyxTQUFRLFFBQVE7SUFBbEM7O1FBQ0UsaUJBQVksR0FBVyxTQUFTLENBQUM7UUFDakMsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUMxQixTQUFJLEdBQWMsU0FBUyxDQUFDO0lBTzlCLENBQUM7SUFMUSxHQUFHLENBQUMsSUFBNEM7UUFDckQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2ljVXNlciB9IGZyb20gJy4vYmFzaWMtdXNlci5jbGFzcyc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuL2hlbHBlci5jbGFzcyc7XG5pbXBvcnQgeyBTdGFuZGFyZCB9IGZyb20gJy4vc3RhbmRhcmQuY2xhc3MnO1xuXG5leHBvcnQgY2xhc3MgQXV0aCBleHRlbmRzIFN0YW5kYXJkIHtcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIHRva2VuOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIHVzZXI6IEJhc2ljVXNlciA9IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgbWFwKGRhdGE6IFBhcnRpYWw8dGhpcz4gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogdGhpcyB7XG4gICAgSGVscGVyLm1hcChkYXRhLCB0aGlzKTtcbiAgICB0aGlzLnVzZXIgPSBkYXRhPy51c2VyID8gQmFzaWNVc2VyLm1hcChkYXRhLnVzZXIpIDogdGhpcy51c2VyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import {
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
|
+
import { GraphQLService } from './graphql.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./storage.service";
|
|
6
6
|
import * as i2 from "./ws.service";
|
|
7
|
+
import * as i3 from "@angular/router";
|
|
7
8
|
/**
|
|
8
9
|
* Authentication service
|
|
9
10
|
*/
|
|
@@ -11,28 +12,74 @@ export class AuthService {
|
|
|
11
12
|
/**
|
|
12
13
|
* Constructor
|
|
13
14
|
*/
|
|
14
|
-
constructor(
|
|
15
|
-
this.moduleConfig = moduleConfig;
|
|
15
|
+
constructor(storageService, wsService, injector, router) {
|
|
16
16
|
this.storageService = storageService;
|
|
17
17
|
this.wsService = wsService;
|
|
18
|
+
this.injector = injector;
|
|
19
|
+
this.router = router;
|
|
18
20
|
// Subjects
|
|
19
21
|
this._currentUser = new BehaviorSubject(null);
|
|
20
22
|
this._token = new BehaviorSubject(null);
|
|
23
|
+
this._refreshToken = new BehaviorSubject(null);
|
|
21
24
|
this.loadFromStorage();
|
|
22
25
|
}
|
|
26
|
+
requestNewToken() {
|
|
27
|
+
return new Observable((subscriber) => {
|
|
28
|
+
this.injector
|
|
29
|
+
.get(GraphQLService)
|
|
30
|
+
.graphQl('refreshToken', {
|
|
31
|
+
fields: ['token', 'refreshToken'],
|
|
32
|
+
})
|
|
33
|
+
.subscribe({
|
|
34
|
+
next: (response) => {
|
|
35
|
+
this.token = response.token;
|
|
36
|
+
this.refreshToken = response.refreshToken;
|
|
37
|
+
subscriber.next(response);
|
|
38
|
+
subscriber.complete();
|
|
39
|
+
},
|
|
40
|
+
error: (err) => {
|
|
41
|
+
subscriber.error(err);
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
23
46
|
loadFromStorage() {
|
|
24
47
|
if (localStorage) {
|
|
25
48
|
this.token = this.storageService.load('token');
|
|
49
|
+
this.refreshToken = this.storageService.load('refreshToken');
|
|
26
50
|
this.currentUser = this.storageService.load('currentUser');
|
|
27
51
|
}
|
|
28
52
|
}
|
|
29
53
|
/**
|
|
30
54
|
* Logout
|
|
31
55
|
*/
|
|
32
|
-
logout() {
|
|
33
|
-
|
|
56
|
+
logout(redirect = true) {
|
|
57
|
+
return new Observable((subscriber) => {
|
|
58
|
+
this.injector
|
|
59
|
+
.get(GraphQLService)
|
|
60
|
+
.graphQl('logout', {
|
|
61
|
+
fields: [],
|
|
62
|
+
})
|
|
63
|
+
.subscribe({
|
|
64
|
+
next: () => {
|
|
65
|
+
this.clearSession(redirect);
|
|
66
|
+
subscriber.next(true);
|
|
67
|
+
subscriber.complete();
|
|
68
|
+
},
|
|
69
|
+
error: (err) => {
|
|
70
|
+
subscriber.error(err);
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
clearSession(redirect = true) {
|
|
76
|
+
this.storageService.remove(['token', 'refreshToken', 'currentUser']);
|
|
34
77
|
this.currentUser = null;
|
|
35
78
|
this.token = null;
|
|
79
|
+
this.refreshToken = null;
|
|
80
|
+
if (redirect) {
|
|
81
|
+
this.router.navigate(['/auth']);
|
|
82
|
+
}
|
|
36
83
|
}
|
|
37
84
|
// #################################################################
|
|
38
85
|
// Current User
|
|
@@ -70,16 +117,32 @@ export class AuthService {
|
|
|
70
117
|
}
|
|
71
118
|
return this._token.asObservable();
|
|
72
119
|
}
|
|
120
|
+
// #################################################################
|
|
121
|
+
// refreshToken
|
|
122
|
+
// #################################################################
|
|
123
|
+
get refreshToken() {
|
|
124
|
+
if (!localStorage) {
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
return this._refreshToken.value;
|
|
128
|
+
}
|
|
129
|
+
set refreshToken(refreshToken) {
|
|
130
|
+
this._refreshToken.next(refreshToken);
|
|
131
|
+
this.storageService.save('refreshToken', refreshToken);
|
|
132
|
+
}
|
|
133
|
+
get refreshTokenObservable() {
|
|
134
|
+
if (!this._refreshToken.value) {
|
|
135
|
+
this.loadFromStorage();
|
|
136
|
+
}
|
|
137
|
+
return this._refreshToken.asObservable();
|
|
138
|
+
}
|
|
73
139
|
}
|
|
74
|
-
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AuthService, deps: [{ token:
|
|
140
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AuthService, deps: [{ token: i1.StorageService }, { token: i2.WsService }, { token: i0.Injector }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
141
|
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
76
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AuthService, decorators: [{
|
|
77
143
|
type: Injectable,
|
|
78
144
|
args: [{
|
|
79
145
|
providedIn: 'root',
|
|
80
146
|
}]
|
|
81
|
-
}], ctorParameters: function () { return [{ type:
|
|
82
|
-
type: Inject,
|
|
83
|
-
args: [BASE_MODULE_CONFIG]
|
|
84
|
-
}] }, { type: i1.StorageService }, { type: i2.WsService }]; } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixNQUFNLDRDQUE0QyxDQUFDOzs7O0FBS2xHOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFLdEI7O09BRUc7SUFDSCxZQUNzQyxZQUE4QixFQUMxRCxjQUE4QixFQUM5QixTQUFvQjtRQUZRLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUMxRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQVY5QixXQUFXO1FBQ0gsaUJBQVksR0FBK0IsSUFBSSxlQUFlLENBQVksSUFBSSxDQUFDLENBQUM7UUFDaEYsV0FBTSxHQUE0QixJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQVUxRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLFlBQVksRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBVyxDQUFDO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFjLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsb0VBQW9FO0lBQ3BFLGVBQWU7SUFDZixvRUFBb0U7SUFFcEUsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLElBQWU7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELG9FQUFvRTtJQUNwRSxRQUFRO0lBQ1Isb0VBQW9FO0lBRXBFLElBQUksS0FBSztRQUNQLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzt5R0E3RVUsV0FBVyxrQkFTWixrQkFBa0I7NkdBVGpCLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCQVNFX01PRFVMRV9DT05GSUcsIEJhc2VNb2R1bGVDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2Jhc2UtbW9kdWxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzaWNVc2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy9iYXNpYy11c2VyLmNsYXNzJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV3NTZXJ2aWNlIH0gZnJvbSAnLi93cy5zZXJ2aWNlJztcblxuLyoqXG4gKiBBdXRoZW50aWNhdGlvbiBzZXJ2aWNlXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIC8vIFN1YmplY3RzXG4gIHByaXZhdGUgX2N1cnJlbnRVc2VyOiBCZWhhdmlvclN1YmplY3Q8QmFzaWNVc2VyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmFzaWNVc2VyPihudWxsKTtcbiAgcHJpdmF0ZSBfdG9rZW46IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChCQVNFX01PRFVMRV9DT05GSUcpIHByaXZhdGUgbW9kdWxlQ29uZmlnOiBCYXNlTW9kdWxlQ29uZmlnLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgd3NTZXJ2aWNlOiBXc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5sb2FkRnJvbVN0b3JhZ2UoKTtcbiAgfVxuXG4gIGxvYWRGcm9tU3RvcmFnZSgpIHtcbiAgICBpZiAobG9jYWxTdG9yYWdlKSB7XG4gICAgICB0aGlzLnRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5sb2FkKCd0b2tlbicpIGFzIHN0cmluZztcbiAgICAgIHRoaXMuY3VycmVudFVzZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmxvYWQoJ2N1cnJlbnRVc2VyJykgYXMgQmFzaWNVc2VyO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dvdXRcbiAgICovXG4gIHB1YmxpYyBsb2dvdXQoKSB7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmUoWyd0b2tlbicsICdjdXJyZW50VXNlciddKTtcbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gbnVsbDtcbiAgICB0aGlzLnRva2VuID0gbnVsbDtcbiAgfVxuXG4gIC8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gIC8vIEN1cnJlbnQgVXNlclxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCBjdXJyZW50VXNlcigpOiBCYXNpY1VzZXIge1xuICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VXNlci52YWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VXNlcih1c2VyOiBCYXNpY1VzZXIpIHtcbiAgICB0aGlzLl9jdXJyZW50VXNlci5uZXh0KHVzZXIpO1xuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2F2ZSgnY3VycmVudFVzZXInLCB1c2VyKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VXNlck9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxCYXNpY1VzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFVzZXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuICAvLyBUb2tlblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCB0b2tlbigpOiBzdHJpbmcge1xuICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90b2tlbi52YWx1ZTtcbiAgfVxuXG4gIHNldCB0b2tlbih0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5fdG9rZW4ubmV4dCh0b2tlbik7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zYXZlKCd0b2tlbicsIHRva2VuKTtcbiAgICB0aGlzLndzU2VydmljZS5yZWNvbm5lY3QoKTtcbiAgfVxuXG4gIGdldCB0b2tlbk9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX3Rva2VuLnZhbHVlKSB7XG4gICAgICB0aGlzLmxvYWRGcm9tU3RvcmFnZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90b2tlbi5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19
|
|
147
|
+
}], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i2.WsService }, { type: i0.Injector }, { type: i3.Router }]; } });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUduRDs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBTXRCOztPQUVHO0lBQ0gsWUFDVSxjQUE4QixFQUM5QixTQUFvQixFQUNwQixRQUFrQixFQUNsQixNQUFjO1FBSGQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWnhCLFdBQVc7UUFDSCxpQkFBWSxHQUErQixJQUFJLGVBQWUsQ0FBWSxJQUFJLENBQUMsQ0FBQztRQUNoRixXQUFNLEdBQTRCLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQ3BFLGtCQUFhLEdBQTRCLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBV2pGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxVQUFVLENBQTBDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLFFBQVE7aUJBQ1YsR0FBRyxDQUFDLGNBQWMsQ0FBQztpQkFDbkIsT0FBTyxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQzthQUNsQyxDQUFDO2lCQUNELFNBQVMsQ0FBQztnQkFDVCxJQUFJLEVB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QUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzt5R0F2SlUsV0FBVzs2R0FBWCxXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2ljVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvYmFzaWMtdXNlci5jbGFzcyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdzU2VydmljZSB9IGZyb20gJy4vd3Muc2VydmljZSc7XG5pbXBvcnQgeyBHcmFwaFFMU2VydmljZSB9IGZyb20gJy4vZ3JhcGhxbC5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8qKlxuICogQXV0aGVudGljYXRpb24gc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICAvLyBTdWJqZWN0c1xuICBwcml2YXRlIF9jdXJyZW50VXNlcjogQmVoYXZpb3JTdWJqZWN0PEJhc2ljVXNlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJhc2ljVXNlcj4obnVsbCk7XG4gIHByaXZhdGUgX3Rva2VuOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcbiAgcHJpdmF0ZSBfcmVmcmVzaFRva2VuOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgd3NTZXJ2aWNlOiBXc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLmxvYWRGcm9tU3RvcmFnZSgpO1xuICB9XG5cbiAgcmVxdWVzdE5ld1Rva2VuKCk6IE9ic2VydmFibGU8eyB0b2tlbjogc3RyaW5nOyByZWZyZXNoVG9rZW46IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHsgdG9rZW46IHN0cmluZzsgcmVmcmVzaFRva2VuOiBzdHJpbmcgfT4oKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHRoaXMuaW5qZWN0b3JcbiAgICAgICAgLmdldChHcmFwaFFMU2VydmljZSlcbiAgICAgICAgLmdyYXBoUWwoJ3JlZnJlc2hUb2tlbicsIHtcbiAgICAgICAgICBmaWVsZHM6IFsndG9rZW4nLCAncmVmcmVzaFRva2VuJ10sXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2tlbiA9IHJlc3BvbnNlLnRva2VuO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW4gPSByZXNwb25zZS5yZWZyZXNoVG9rZW47XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRGcm9tU3RvcmFnZSgpIHtcbiAgICBpZiAobG9jYWxTdG9yYWdlKSB7XG4gICAgICB0aGlzLnRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5sb2FkKCd0b2tlbicpIGFzIHN0cmluZztcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5sb2FkKCdyZWZyZXNoVG9rZW4nKSBhcyBzdHJpbmc7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5sb2FkKCdjdXJyZW50VXNlcicpIGFzIEJhc2ljVXNlcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9nb3V0XG4gICAqL1xuICBwdWJsaWMgbG9nb3V0KHJlZGlyZWN0ID0gdHJ1ZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgdGhpcy5pbmplY3RvclxuICAgICAgICAuZ2V0KEdyYXBoUUxTZXJ2aWNlKVxuICAgICAgICAuZ3JhcGhRbCgnbG9nb3V0Jywge1xuICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZXNzaW9uKHJlZGlyZWN0KTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjbGVhclNlc3Npb24ocmVkaXJlY3QgPSB0cnVlKSB7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmUoWyd0b2tlbicsICdyZWZyZXNoVG9rZW4nLCAnY3VycmVudFVzZXInXSk7XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IG51bGw7XG4gICAgdGhpcy50b2tlbiA9IG51bGw7XG4gICAgdGhpcy5yZWZyZXNoVG9rZW4gPSBudWxsO1xuXG4gICAgaWYgKHJlZGlyZWN0KSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hdXRoJ10pO1xuICAgIH1cbiAgfVxuXG4gIC8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gIC8vIEN1cnJlbnQgVXNlclxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCBjdXJyZW50VXNlcigpOiBCYXNpY1VzZXIge1xuICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VXNlci52YWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VXNlcih1c2VyOiBCYXNpY1VzZXIpIHtcbiAgICB0aGlzLl9jdXJyZW50VXNlci5uZXh0KHVzZXIpO1xuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2F2ZSgnY3VycmVudFVzZXInLCB1c2VyKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VXNlck9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxCYXNpY1VzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFVzZXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuICAvLyBUb2tlblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCB0b2tlbigpOiBzdHJpbmcge1xuICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90b2tlbi52YWx1ZTtcbiAgfVxuXG4gIHNldCB0b2tlbih0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5fdG9rZW4ubmV4dCh0b2tlbik7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zYXZlKCd0b2tlbicsIHRva2VuKTtcbiAgICB0aGlzLndzU2VydmljZS5yZWNvbm5lY3QoKTtcbiAgfVxuXG4gIGdldCB0b2tlbk9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX3Rva2VuLnZhbHVlKSB7XG4gICAgICB0aGlzLmxvYWRGcm9tU3RvcmFnZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90b2tlbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gIC8vIHJlZnJlc2hUb2tlblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCByZWZyZXNoVG9rZW4oKTogc3RyaW5nIHtcbiAgICBpZiAoIWxvY2FsU3RvcmFnZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaFRva2VuLnZhbHVlO1xuICB9XG5cbiAgc2V0IHJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW46IHN0cmluZykge1xuICAgIHRoaXMuX3JlZnJlc2hUb2tlbi5uZXh0KHJlZnJlc2hUb2tlbik7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zYXZlKCdyZWZyZXNoVG9rZW4nLCByZWZyZXNoVG9rZW4pO1xuICB9XG5cbiAgZ2V0IHJlZnJlc2hUb2tlbk9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX3JlZnJlc2hUb2tlbi52YWx1ZSkge1xuICAgICAgdGhpcy5sb2FkRnJvbVN0b3JhZ2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaFRva2VuLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -26,15 +26,16 @@ export class UserService extends GraphQLPlusService {
|
|
|
26
26
|
*/
|
|
27
27
|
login(input) {
|
|
28
28
|
return this.graphQl('signIn', {
|
|
29
|
-
arguments: { input },
|
|
30
|
-
fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
|
|
31
|
-
type: GraphQLRequestType.QUERY,
|
|
29
|
+
arguments: { input: { ...input, deviceDescription: navigator?.userAgent } },
|
|
30
|
+
fields: ['refreshToken', 'token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
|
|
32
31
|
loading: true,
|
|
33
32
|
}).pipe(map((response) => {
|
|
34
33
|
this.authService.token = response.token;
|
|
34
|
+
this.authService.refreshToken = response.refreshToken;
|
|
35
35
|
this.authService.currentUser = response.user;
|
|
36
36
|
return Auth.map({
|
|
37
37
|
token: response.token,
|
|
38
|
+
refreshToken: response.refreshToken,
|
|
38
39
|
user: BasicUser.map(response.user),
|
|
39
40
|
});
|
|
40
41
|
}));
|
|
@@ -46,15 +47,16 @@ export class UserService extends GraphQLPlusService {
|
|
|
46
47
|
*/
|
|
47
48
|
register(input) {
|
|
48
49
|
return this.graphQl('signUp', {
|
|
49
|
-
arguments: { input },
|
|
50
|
-
fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
|
|
51
|
-
type: GraphQLRequestType.MUTATION,
|
|
50
|
+
arguments: { input: { ...input, deviceDescription: navigator?.userAgent } },
|
|
51
|
+
fields: ['refreshToken', 'token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
|
|
52
52
|
loading: true,
|
|
53
53
|
}).pipe(map((response) => {
|
|
54
54
|
this.authService.token = response.token;
|
|
55
|
+
this.authService.refreshToken = response.refreshToken;
|
|
55
56
|
this.authService.currentUser = response.user;
|
|
56
57
|
return Auth.map({
|
|
57
58
|
token: response.token,
|
|
59
|
+
refreshToken: response.refreshToken,
|
|
58
60
|
user: BasicUser.map(response.user),
|
|
59
61
|
});
|
|
60
62
|
}));
|
|
@@ -150,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
150
152
|
type: Inject,
|
|
151
153
|
args: [BASE_MODULE_CONFIG]
|
|
152
154
|
}] }]; } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQUtsRyxNQUFNLE9BQU8sV0FBWSxTQUFRLGtCQUFrQjtJQUNqRCxZQUNZLE1BQWMsRUFDZCxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDNUIsV0FBd0IsRUFDSSxZQUE4QjtRQUVwRSxLQUFLLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQU5yRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNJLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUd0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxLQUEwQztRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQzVCLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUNwQixNQUFNLEVB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WUFDakMsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDbkMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUM5QixJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtZQUNqQyxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ2hDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNqQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtZQUNqQyxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNoQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUU7WUFDcEIsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVE7WUFDakMsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDOzt5R0E5SVUsV0FBVyxrSUFNWixrQkFBa0I7NkdBTmpCLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBvbGxvIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoIH0gZnJvbSAnLi4vY2xhc3Nlcy9hdXRoLmNsYXNzJztcbmltcG9ydCB7IEJhc2ljVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvYmFzaWMtdXNlci5jbGFzcyc7XG5pbXBvcnQgeyBHcmFwaFFMUmVxdWVzdFR5cGUgfSBmcm9tICcuLi9lbnVtcy9ncmFwaHFsLXJlcXVlc3QtdHlwZS5lbnVtJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhcGhRTE1ldGFTZXJ2aWNlIH0gZnJvbSAnLi9ncmFwaHFsLW1ldGEuc2VydmljZSc7XG5pbXBvcnQgeyBHcmFwaFFMUGx1c1NlcnZpY2UgfSBmcm9tICcuL2dyYXBocWwtcGx1cy5zZXJ2aWNlJztcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2xvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJBU0VfTU9EVUxFX0NPTkZJRywgQmFzZU1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYmFzZS1tb2R1bGUtY29uZmlnLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBleHRlbmRzIEdyYXBoUUxQbHVzU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBhcG9sbG86IEFwb2xsbyxcbiAgICBwcm90ZWN0ZWQgZ3JhcGhxbE1ldGFTZXJ2aWNlOiBHcmFwaFFMTWV0YVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGxvYWRlclNlcnZpY2U6IExvYWRlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBASW5qZWN0KEJBU0VfTU9EVUxFX0NPTkZJRykgcHJvdGVjdGVkIG1vZHVsZUNvbmZpZzogQmFzZU1vZHVsZUNvbmZpZ1xuICApIHtcbiAgICBzdXBlcihhcG9sbG8sIGdyYXBocWxNZXRhU2VydmljZSwgbG9hZGVyU2VydmljZSwgbW9kdWxlQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dpblxuICAgKlxuICAgKiBAcGFyYW0gaW5wdXRcbiAgICovXG4gIGxvZ2luKGlucHV0OiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB0aGlzLmdyYXBoUWwoJ3NpZ25JbicsIHtcbiAgICAgIGFyZ3VtZW50czogeyBpbnB1dCB9LFxuICAgICAgZmllbGRzOiBbJ3Rva2VuJywgeyB1c2VyOiBbJ2lkJywgJ2ZpcnN0TmFtZScsICdsYXN0TmFtZScsICdlbWFpbCcsICdyb2xlcycsICdhdmF0YXInXSB9XSxcbiAgICAgIHR5cGU6IEdyYXBoUUxSZXF1ZXN0VHlwZS5RVUVSWSxcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IEF1dGgpID0+IHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS50b2tlbiA9IHJlc3BvbnNlLnRva2VuO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyID0gcmVzcG9uc2UudXNlcjtcblxuICAgICAgICByZXR1cm4gQXV0aC5tYXAoe1xuICAgICAgICAgIHRva2VuOiByZXNwb25zZS50b2tlbixcbiAgICAgICAgICB1c2VyOiBCYXNpY1VzZXIubWFwKHJlc3BvbnNlLnVzZXIpLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlclxuICAgKlxuICAgKiBAcGFyYW0gaW5wdXRcbiAgICovXG4gIHJlZ2lzdGVyKGlucHV0OiB7IGZpcnN0TmFtZTogc3RyaW5nOyBsYXN0TmFtZTogc3RyaW5nOyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFFsKCdzaWduVXAnLCB7XG4gICAgICBhcmd1bWVudHM6IHsgaW5wdXQgfSxcbiAgICAgIGZpZWxkczogWyd0b2tlbicsIHsgdXNlcjogWydpZCcsICdmaXJzdE5hbWUnLCAnbGFzdE5hbWUnLCAnZW1haWwnLCAncm9sZXMnLCAnYXZhdGFyJ10gfV0sXG4gICAgICB0eXBlOiBHcmFwaFFMUmVxdWVzdFR5cGUuTVVUQVRJT04sXG4gICAgICBsb2FkaW5nOiB0cnVlLFxuICAgIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBBdXRoKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudG9rZW4gPSByZXNwb25zZS50b2tlbjtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlciA9IHJlc3BvbnNlLnVzZXI7XG5cbiAgICAgICAgcmV0dXJuIEF1dGgubWFwKHtcbiAgICAgICAgICB0b2tlbjogcmVzcG9uc2UudG9rZW4sXG4gICAgICAgICAgdXNlcjogQmFzaWNVc2VyLm1hcChyZXNwb25zZS51c2VyKSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIG1ha2UgYSBHcmFwaFFMIHF1ZXJ5IHRvIHRoZSBzZXJ2ZXIsIGFuZCByZXR1cm4gdGhlIHJlc3VsdFxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWQgb2YgdGhlIHVzZXIgeW91IHdhbnQgdG8gZ2V0XG4gICAqIEByZXR1cm5zIEEgR3JhcGhRTFJlcXVlc3Qgb2JqZWN0LlxuICAgKi9cbiAgZ2V0KGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFFsKCdnZXRVc2VyJywge1xuICAgICAgYXJndW1lbnRzOiB7IGlkIH0sXG4gICAgICBmaWVsZHM6IFsnaWQnLCAnZmlyc3ROYW1lJywgJ2xhc3ROYW1lJywgJ2VtYWlsJywgJ3JvbGVzJywgJ2F2YXRhciddLFxuICAgICAgdHlwZTogR3JhcGhRTFJlcXVlc3RUeXBlLlFVRVJZLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXF1ZXN0IHBhc3N3b3JkIHJlc2V0IG1haWxcbiAgICpcbiAgICogQHBhcmFtIGVtYWlsXG4gICAqL1xuICByZXF1ZXN0UGFzc3dvcmRSZXNldE1haWwoZW1haWw6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdyYXBoUWwoJ3JlcXVlc3RQYXNzd29yZFJlc2V0TWFpbCcsIHtcbiAgICAgIGFyZ3VtZW50czogeyBlbWFpbCB9LFxuICAgICAgZmllbGRzOiBbXSxcbiAgICAgIHR5cGU6IEdyYXBoUUxSZXF1ZXN0VHlwZS5RVUVSWSxcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHBhc3N3b3JkIG9mIGN1cnJlbnQgdXNlclxuICAgKlxuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIHBhc3N3b3JkXG4gICAqL1xuICBjaGFuZ2VQYXNzd29yZChpZDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhcGhRbCgndXBkYXRlVXNlcicsIHtcbiAgICAgIGFyZ3VtZW50czogeyBpZCwgaW5wdXQ6IHsgcGFzc3dvcmQgfSB9LFxuICAgICAgZmllbGRzOiBbJ2lkJ10sXG4gICAgICB0eXBlOiBHcmFwaFFMUmVxdWVzdFR5cGUuTVVUQVRJT04sXG4gICAgICBsb2FkaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBuZXcgcGFzc3dvcmQgYnkgdG9rZW5cbiAgICpcbiAgICogQHBhcmFtIHRva2VuXG4gICAqIEBwYXJhbSBwYXNzd29yZFxuICAgKi9cbiAgcmVzZXRQYXNzd29yZCh0b2tlbjogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhcGhRbCgncmVzZXRQYXNzd29yZCcsIHtcbiAgICAgIGFyZ3VtZW50czogeyB0b2tlbiwgcGFzc3dvcmQgfSxcbiAgICAgIHR5cGU6IEdyYXBoUUxSZXF1ZXN0VHlwZS5NVVRBVElPTixcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHVzZXIgYnkgaWRcbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBkZWxldGUoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdyYXBoUWwoJ2RlbGV0ZVVzZXInLCB7XG4gICAgICBhcmd1bWVudHM6IHsgaWQgfSxcbiAgICAgIGZpZWxkczogWydpZCddLFxuICAgICAgdHlwZTogR3JhcGhRTFJlcXVlc3RUeXBlLk1VVEFUSU9OLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgdXNlciBieSB0b2tlblxuICAgKlxuICAgKiBAcGFyYW0gdG9rZW5cbiAgICovXG4gIHZlcmlmeVVzZXIodG9rZW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdyYXBoUWwoJ3ZlcmlmeVVzZXInLCB7XG4gICAgICBhcmd1bWVudHM6IHsgdG9rZW4gfSxcbiAgICAgIHR5cGU6IEdyYXBoUUxSZXF1ZXN0VHlwZS5NVVRBVElPTixcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQUtsRyxNQUFNLE9BQU8sV0FBWSxTQUFRLGtCQUFrQjtJQUNqRCxZQUNZLE1BQWMsRUFDZCxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDNUIsV0FBd0IsRUFDSSxZQUE4QjtRQUVwRSxLQUFLLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQU5yRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNJLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUd0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxLQUEwQztRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQzVCLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FB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LFdBQVcsa0lBTVosa0JBQWtCOzZHQU5qQixXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aCB9IGZyb20gJy4uL2NsYXNzZXMvYXV0aC5jbGFzcyc7XG5pbXBvcnQgeyBCYXNpY1VzZXIgfSBmcm9tICcuLi9jbGFzc2VzL2Jhc2ljLXVzZXIuY2xhc3MnO1xuaW1wb3J0IHsgR3JhcGhRTFJlcXVlc3RUeXBlIH0gZnJvbSAnLi4vZW51bXMvZ3JhcGhxbC1yZXF1ZXN0LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyYXBoUUxNZXRhU2VydmljZSB9IGZyb20gJy4vZ3JhcGhxbC1tZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhcGhRTFBsdXNTZXJ2aWNlIH0gZnJvbSAnLi9ncmFwaHFsLXBsdXMuc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCQVNFX01PRFVMRV9DT05GSUcsIEJhc2VNb2R1bGVDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2Jhc2UtbW9kdWxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2UgZXh0ZW5kcyBHcmFwaFFMUGx1c1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgYXBvbGxvOiBBcG9sbG8sXG4gICAgcHJvdGVjdGVkIGdyYXBocWxNZXRhU2VydmljZTogR3JhcGhRTE1ldGFTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgQEluamVjdChCQVNFX01PRFVMRV9DT05GSUcpIHByb3RlY3RlZCBtb2R1bGVDb25maWc6IEJhc2VNb2R1bGVDb25maWdcbiAgKSB7XG4gICAgc3VwZXIoYXBvbGxvLCBncmFwaHFsTWV0YVNlcnZpY2UsIGxvYWRlclNlcnZpY2UsIG1vZHVsZUNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogTG9naW5cbiAgICpcbiAgICogQHBhcmFtIGlucHV0XG4gICAqL1xuICBsb2dpbihpbnB1dDogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFFsKCdzaWduSW4nLCB7XG4gICAgICBhcmd1bWVudHM6IHsgaW5wdXQ6IHsgLi4uaW5wdXQsIGRldmljZURlc2NyaXB0aW9uOiBuYXZpZ2F0b3I/LnVzZXJBZ2VudCB9IH0sXG4gICAgICBmaWVsZHM6IFsncmVmcmVzaFRva2VuJywgJ3Rva2VuJywgeyB1c2VyOiBbJ2lkJywgJ2ZpcnN0TmFtZScsICdsYXN0TmFtZScsICdlbWFpbCcsICdyb2xlcycsICdhdmF0YXInXSB9XSxcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IEF1dGgpID0+IHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS50b2tlbiA9IHJlc3BvbnNlLnRva2VuO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbiA9IHJlc3BvbnNlLnJlZnJlc2hUb2tlbjtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlciA9IHJlc3BvbnNlLnVzZXI7XG5cbiAgICAgICAgcmV0dXJuIEF1dGgubWFwKHtcbiAgICAgICAgICB0b2tlbjogcmVzcG9uc2UudG9rZW4sXG4gICAgICAgICAgcmVmcmVzaFRva2VuOiByZXNwb25zZS5yZWZyZXNoVG9rZW4sXG4gICAgICAgICAgdXNlcjogQmFzaWNVc2VyLm1hcChyZXNwb25zZS51c2VyKSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJcbiAgICpcbiAgICogQHBhcmFtIGlucHV0XG4gICAqL1xuICByZWdpc3RlcihpbnB1dDogeyBmaXJzdE5hbWU6IHN0cmluZzsgbGFzdE5hbWU6IHN0cmluZzsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhcGhRbCgnc2lnblVwJywge1xuICAgICAgYXJndW1lbnRzOiB7IGlucHV0OiB7IC4uLmlucHV0LCBkZXZpY2VEZXNjcmlwdGlvbjogbmF2aWdhdG9yPy51c2VyQWdlbnQgfSB9LFxuICAgICAgZmllbGRzOiBbJ3JlZnJlc2hUb2tlbicsICd0b2tlbicsIHsgdXNlcjogWydpZCcsICdmaXJzdE5hbWUnLCAnbGFzdE5hbWUnLCAnZW1haWwnLCAncm9sZXMnLCAnYXZhdGFyJ10gfV0sXG4gICAgICBsb2FkaW5nOiB0cnVlLFxuICAgIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBBdXRoKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudG9rZW4gPSByZXNwb25zZS50b2tlbjtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5yZWZyZXNoVG9rZW4gPSByZXNwb25zZS5yZWZyZXNoVG9rZW47XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXIgPSByZXNwb25zZS51c2VyO1xuXG4gICAgICAgIHJldHVybiBBdXRoLm1hcCh7XG4gICAgICAgICAgdG9rZW46IHJlc3BvbnNlLnRva2VuLFxuICAgICAgICAgIHJlZnJlc2hUb2tlbjogcmVzcG9uc2UucmVmcmVzaFRva2VuLFxuICAgICAgICAgIHVzZXI6IEJhc2ljVXNlci5tYXAocmVzcG9uc2UudXNlciksXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBtYWtlIGEgR3JhcGhRTCBxdWVyeSB0byB0aGUgc2VydmVyLCBhbmQgcmV0dXJuIHRoZSByZXN1bHRcbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIGlkIG9mIHRoZSB1c2VyIHlvdSB3YW50IHRvIGdldFxuICAgKiBAcmV0dXJucyBBIEdyYXBoUUxSZXF1ZXN0IG9iamVjdC5cbiAgICovXG4gIGdldChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhcGhRbCgnZ2V0VXNlcicsIHtcbiAgICAgIGFyZ3VtZW50czogeyBpZCB9LFxuICAgICAgZmllbGRzOiBbJ2lkJywgJ2ZpcnN0TmFtZScsICdsYXN0TmFtZScsICdlbWFpbCcsICdyb2xlcycsICdhdmF0YXInXSxcbiAgICAgIHR5cGU6IEdyYXBoUUxSZXF1ZXN0VHlwZS5RVUVSWSxcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdCBwYXNzd29yZCByZXNldCBtYWlsXG4gICAqXG4gICAqIEBwYXJhbSBlbWFpbFxuICAgKi9cbiAgcmVxdWVzdFBhc3N3b3JkUmVzZXRNYWlsKGVtYWlsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFFsKCdyZXF1ZXN0UGFzc3dvcmRSZXNldE1haWwnLCB7XG4gICAgICBhcmd1bWVudHM6IHsgZW1haWwgfSxcbiAgICAgIGZpZWxkczogW10sXG4gICAgICB0eXBlOiBHcmFwaFFMUmVxdWVzdFR5cGUuUVVFUlksXG4gICAgICBsb2FkaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBwYXNzd29yZCBvZiBjdXJyZW50IHVzZXJcbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSBwYXNzd29yZFxuICAgKi9cbiAgY2hhbmdlUGFzc3dvcmQoaWQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdyYXBoUWwoJ3VwZGF0ZVVzZXInLCB7XG4gICAgICBhcmd1bWVudHM6IHsgaWQsIGlucHV0OiB7IHBhc3N3b3JkIH0gfSxcbiAgICAgIGZpZWxkczogWydpZCddLFxuICAgICAgdHlwZTogR3JhcGhRTFJlcXVlc3RUeXBlLk1VVEFUSU9OLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbmV3IHBhc3N3b3JkIGJ5IHRva2VuXG4gICAqXG4gICAqIEBwYXJhbSB0b2tlblxuICAgKiBAcGFyYW0gcGFzc3dvcmRcbiAgICovXG4gIHJlc2V0UGFzc3dvcmQodG9rZW46IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdyYXBoUWwoJ3Jlc2V0UGFzc3dvcmQnLCB7XG4gICAgICBhcmd1bWVudHM6IHsgdG9rZW4sIHBhc3N3b3JkIH0sXG4gICAgICB0eXBlOiBHcmFwaFFMUmVxdWVzdFR5cGUuTVVUQVRJT04sXG4gICAgICBsb2FkaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSB1c2VyIGJ5IGlkXG4gICAqXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgZGVsZXRlKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFFsKCdkZWxldGVVc2VyJywge1xuICAgICAgYXJndW1lbnRzOiB7IGlkIH0sXG4gICAgICBmaWVsZHM6IFsnaWQnXSxcbiAgICAgIHR5cGU6IEdyYXBoUUxSZXF1ZXN0VHlwZS5NVVRBVElPTixcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZ5IHVzZXIgYnkgdG9rZW5cbiAgICpcbiAgICogQHBhcmFtIHRva2VuXG4gICAqL1xuICB2ZXJpZnlVc2VyKHRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFFsKCd2ZXJpZnlVc2VyJywge1xuICAgICAgYXJndW1lbnRzOiB7IHRva2VuIH0sXG4gICAgICB0eXBlOiBHcmFwaFFMUmVxdWVzdFR5cGUuTVVUQVRJT04sXG4gICAgICBsb2FkaW5nOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { ApolloLink, concat, split } from '@apollo/client/core';
|
|
1
|
+
import { ApolloLink, concat, fromPromise, split } from '@apollo/client/core';
|
|
2
2
|
import { InMemoryCache } from '@apollo/client/cache';
|
|
3
3
|
import { getMainDefinition } from '@apollo/client/utilities';
|
|
4
4
|
import { createRestartableClient, } from '@lenne.tech/ng-base/shared';
|
|
5
5
|
import { GraphQLWsLink } from '@apollo/client/link/subscriptions';
|
|
6
6
|
import extractFiles from '../functions/extract-files.function';
|
|
7
|
+
import { firstValueFrom } from 'rxjs';
|
|
8
|
+
import { onError } from '@apollo/client/link/error';
|
|
7
9
|
/**
|
|
8
10
|
* Factory for apollo-angular options
|
|
9
11
|
*/
|
|
@@ -15,8 +17,15 @@ export function apolloOptionsFactory(baseModuleConfig, httpLink, authService, ws
|
|
|
15
17
|
});
|
|
16
18
|
const authMiddleware = new ApolloLink((operation, forward) => {
|
|
17
19
|
const headers = {};
|
|
20
|
+
const operationName = operation.query.definitions[0]?.selectionSet?.selections[0]?.name?.value;
|
|
18
21
|
if (localStorage) {
|
|
19
|
-
|
|
22
|
+
let token;
|
|
23
|
+
if (operationName === 'refreshToken') {
|
|
24
|
+
token = authService.refreshToken || null;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
token = authService.token || null;
|
|
28
|
+
}
|
|
20
29
|
if (token) {
|
|
21
30
|
headers.Authorization = 'Bearer ' + token;
|
|
22
31
|
}
|
|
@@ -24,6 +33,37 @@ export function apolloOptionsFactory(baseModuleConfig, httpLink, authService, ws
|
|
|
24
33
|
}
|
|
25
34
|
return forward(operation);
|
|
26
35
|
});
|
|
36
|
+
const errorLink = onError(({ graphQLErrors, networkError, operation, forward }) => {
|
|
37
|
+
if (graphQLErrors) {
|
|
38
|
+
for (const err of graphQLErrors) {
|
|
39
|
+
switch (err.extensions.code) {
|
|
40
|
+
case 'UNAUTHENTICATED': {
|
|
41
|
+
if (err.message !== 'Expired refresh token' && err.message !== 'Expired token') {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (err.message === 'Expired refresh token') {
|
|
45
|
+
authService.clearSession();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
return fromPromise(firstValueFrom(authService.requestNewToken()))
|
|
49
|
+
.filter((value) => Boolean(value))
|
|
50
|
+
.flatMap((response) => {
|
|
51
|
+
const oldHeaders = operation.getContext().headers;
|
|
52
|
+
// modify the operation context with a new token
|
|
53
|
+
operation.setContext({
|
|
54
|
+
headers: {
|
|
55
|
+
...oldHeaders,
|
|
56
|
+
Authorization: `Bearer ${response.token}`,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
// retry the request, returning the new observable
|
|
60
|
+
return forward(operation);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
27
67
|
if (baseModuleConfig.logging) {
|
|
28
68
|
console.log(baseModuleConfig);
|
|
29
69
|
}
|
|
@@ -46,10 +86,11 @@ export function apolloOptionsFactory(baseModuleConfig, httpLink, authService, ws
|
|
|
46
86
|
// @ts-ignore
|
|
47
87
|
const { kind, operation } = getMainDefinition(query);
|
|
48
88
|
return kind === 'OperationDefinition' && operation === 'subscription';
|
|
49
|
-
}, wsLink, concat(authMiddleware, http)));
|
|
89
|
+
}, wsLink, concat(concat(authMiddleware, errorLink), http)));
|
|
50
90
|
}
|
|
51
91
|
else {
|
|
52
92
|
links.push(authMiddleware);
|
|
93
|
+
links.push(errorLink);
|
|
53
94
|
links.push(http);
|
|
54
95
|
}
|
|
55
96
|
return {
|
|
@@ -62,4 +103,4 @@ export function apolloOptionsFactory(baseModuleConfig, httpLink, authService, ws
|
|
|
62
103
|
},
|
|
63
104
|
};
|
|
64
105
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLW9wdGlvbnMuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2ZhY3Rvcmllcy9hcG9sbG8tb3B0aW9ucy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUdMLHVCQUF1QixHQUd4QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLFlBQVksTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsZ0JBQWtDLEVBQ2xDLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLFNBQW9CO0lBRXBCLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVqQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzNCLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNO1FBQzVCLFlBQVk7S0FDYixDQUFDLENBQUM7SUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCxNQUFNLE9BQU8sR0FBUSxFQUFFLENBQUM7UUFDeEIsTUFBTSxhQUFhLEdBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMs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QUFLLENBQUMsSUFBSSxDQUNSLEtBQUs7UUFDSCxnQ0FBZ0M7UUFDaEMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDWixhQUFhO1lBQ2IsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRCxPQUFPLElBQUksS0FBSyxxQkFBcUIsSUFBSSxTQUFTLEtBQUssY0FBYyxDQUFDO1FBQ3hFLENBQUMsRUFDRCxNQUFNLEVBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ2hELENBQ0YsQ0FBQztLQUNIO1NBQU07UUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNsQjtJQUVELE9BQU87UUFDTCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDNUIsS0FBSyxFQUFFLElBQUksYUFBYSxFQUFFO1FBQzFCLGNBQWMsRUFBRTtZQUNkLEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUUsY0FBYzthQUM1QjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwTGluayB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyL2h0dHAnO1xuaW1wb3J0IHsgQXBvbGxvTGluaywgY29uY2F0LCBmcm9tUHJvbWlzZSwgc3BsaXQgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IEluTWVtb3J5Q2FjaGUgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jYWNoZSc7XG5pbXBvcnQgeyBnZXRNYWluRGVmaW5pdGlvbiB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L3V0aWxpdGllcyc7XG5pbXBvcnQge1xuICBBdXRoU2VydmljZSxcbiAgQmFzZU1vZHVsZUNvbmZpZyxcbiAgY3JlYXRlUmVzdGFydGFibGVDbGllbnQsXG4gIFJlc3RhcnRhYmxlQ2xpZW50LFxuICBXc1NlcnZpY2UsXG59IGZyb20gJ0BsZW5uZS50ZWNoL25nLWJhc2Uvc2hhcmVkJztcbmltcG9ydCB7IEdyYXBoUUxXc0xpbmsgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL3N1YnNjcmlwdGlvbnMnO1xuaW1wb3J0IGV4dHJhY3RGaWxlcyBmcm9tICcuLi9mdW5jdGlvbnMvZXh0cmFjdC1maWxlcy5mdW5jdGlvbic7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgb25FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvZXJyb3InO1xuXG4vKipcbiAqIEZhY3RvcnkgZm9yIGFwb2xsby1hbmd1bGFyIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwb2xsb09wdGlvbnNGYWN0b3J5KFxuICBiYXNlTW9kdWxlQ29uZmlnOiBCYXNlTW9kdWxlQ29uZmlnLFxuICBodHRwTGluazogSHR0cExpbmssXG4gIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgd3NTZXJ2aWNlOiBXc1NlcnZpY2Vcbikge1xuICBjb25zdCBsaW5rcyA9IFtdO1xuXG4gIGNvbnN0IGh0dHAgPSBodHRwTGluay5jcmVhdGUoe1xuICAgIHVyaTogYmFzZU1vZHVsZUNvbmZpZy5hcGlVcmwsXG4gICAgZXh0cmFjdEZpbGVzLFxuICB9KTtcblxuICBjb25zdCBhdXRoTWlkZGxld2FyZSA9IG5ldyBBcG9sbG9MaW5rKChvcGVyYXRpb24sIGZvcndhcmQpID0+IHtcbiAgICBjb25zdCBoZWFkZXJzOiBhbnkgPSB7fTtcbiAgICBjb25zdCBvcGVyYXRpb25OYW1lID0gKG9wZXJhdGlvbi5xdWVyeS5kZWZpbml0aW9uc1swXSBhcyBhbnkpPy5zZWxlY3Rpb25TZXQ/LnNlbGVjdGlvbnNbMF0/Lm5hbWU/LnZhbHVlO1xuXG4gICAgaWYgKGxvY2FsU3RvcmFnZSkge1xuICAgICAgbGV0IHRva2VuOiBzdHJpbmc7XG5cbiAgICAgIGlmIChvcGVyYXRpb25OYW1lID09PSAncmVmcmVzaFRva2VuJykge1xuICAgICAgICB0b2tlbiA9IGF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbiB8fCBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9rZW4gPSBhdXRoU2VydmljZS50b2tlbiB8fCBudWxsO1xuICAgICAgfVxuXG4gICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgaGVhZGVycy5BdXRob3JpemF0aW9uID0gJ0JlYXJlciAnICsgdG9rZW47XG4gICAgICB9XG5cbiAgICAgIG9wZXJhdGlvbi5zZXRDb250ZXh0KCgpID0+ICh7IGhlYWRlcnMgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gZm9yd2FyZChvcGVyYXRpb24pO1xuICB9KTtcblxuICBjb25zdCBlcnJvckxpbmsgPSBvbkVycm9yKCh7IGdyYXBoUUxFcnJvcnMsIG5ldHdvcmtFcnJvciwgb3BlcmF0aW9uLCBmb3J3YXJkIH0pID0+IHtcbiAgICBpZiAoZ3JhcGhRTEVycm9ycykge1xuICAgICAgZm9yIChjb25zdCBlcnIgb2YgZ3JhcGhRTEVycm9ycykge1xuICAgICAgICBzd2l0Y2ggKGVyci5leHRlbnNpb25zLmNvZGUpIHtcbiAgICAgICAgICBjYXNlICdVTkFVVEhFTlRJQ0FURUQnOiB7XG4gICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UgIT09ICdFeHBpcmVkIHJlZnJlc2ggdG9rZW4nICYmIGVyci5tZXNzYWdlICE9PSAnRXhwaXJlZCB0b2tlbicpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UgPT09ICdFeHBpcmVkIHJlZnJlc2ggdG9rZW4nKSB7XG4gICAgICAgICAgICAgIGF1dGhTZXJ2aWNlLmNsZWFyU2Vzc2lvbigpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmcm9tUHJvbWlzZShmaXJzdFZhbHVlRnJvbShhdXRoU2VydmljZS5yZXF1ZXN0TmV3VG9rZW4oKSkpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHZhbHVlKSA9PiBCb29sZWFuKHZhbHVlKSlcbiAgICAgICAgICAgICAgLmZsYXRNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkSGVhZGVycyA9IG9wZXJhdGlvbi5nZXRDb250ZXh0KCkuaGVhZGVycztcbiAgICAgICAgICAgICAgICAvLyBtb2RpZnkgdGhlIG9wZXJhdGlvbiBjb250ZXh0IHdpdGggYSBuZXcgdG9rZW5cbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uc2V0Q29udGV4dCh7XG4gICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLm9sZEhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtyZXNwb25zZS50b2tlbn1gLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIHJldHJ5IHRoZSByZXF1ZXN0LCByZXR1cm5pbmcgdGhlIG5ldyBvYnNlcnZhYmxlXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcndhcmQob3BlcmF0aW9uKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBpZiAoYmFzZU1vZHVsZUNvbmZpZy5sb2dnaW5nKSB7XG4gICAgY29uc29sZS5sb2coYmFzZU1vZHVsZUNvbmZpZyk7XG4gIH1cblxuICBpZiAoYmFzZU1vZHVsZUNvbmZpZy53c1VybCkge1xuICAgIGNvbnN0IHdzTGluayA9IG5ldyBHcmFwaFFMV3NMaW5rKFxuICAgICAgY3JlYXRlUmVzdGFydGFibGVDbGllbnQoe1xuICAgICAgICB1cmw6IGJhc2VNb2R1bGVDb25maWcud3NVcmwsXG4gICAgICAgIGNvbm5lY3Rpb25QYXJhbXM6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYXV0aFNlcnZpY2UudG9rZW4gPyAnQmVhcmVyICcgKyBhdXRoU2VydmljZS50b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy8gU2V0IGNsaWVudCBmb3IgcmVjb25uZWN0aW9uIG9uIGxvZ291dC9sb2dpblxuICAgIHdzU2VydmljZS5jbGllbnQgPSB3c0xpbmsuY2xpZW50IGFzIFJlc3RhcnRhYmxlQ2xpZW50O1xuXG4gICAgLy8gdXNpbmcgdGhlIGFiaWxpdHkgdG8gc3BsaXQgbGlua3MsIHlvdSBjYW4gc2VuZCBkYXRhIHRvIGVhY2ggbGlua1xuICAgIC8vIGRlcGVuZGluZyBvbiB3aGF0IGtpbmQgb2Ygb3BlcmF0aW9uIGlzIGJlaW5nIHNlbnRcbiAgICBsaW5rcy5wdXNoKFxuICAgICAgc3BsaXQoXG4gICAgICAgIC8vIHNwbGl0IGJhc2VkIG9uIG9wZXJhdGlvbiB0eXBlXG4gICAgICAgICh7IHF1ZXJ5IH0pID0+IHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgY29uc3QgeyBraW5kLCBvcGVyYXRpb24gfSA9IGdldE1haW5EZWZpbml0aW9uKHF1ZXJ5KTtcbiAgICAgICAgICByZXR1cm4ga2luZCA9PT0gJ09wZXJhdGlvbkRlZmluaXRpb24nICYmIG9wZXJhdGlvbiA9PT0gJ3N1YnNjcmlwdGlvbic7XG4gICAgICAgIH0sXG4gICAgICAgIHdzTGluayxcbiAgICAgICAgY29uY2F0KGNvbmNhdChhdXRoTWlkZGxld2FyZSwgZXJyb3JMaW5rKSwgaHR0cClcbiAgICAgIClcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGxpbmtzLnB1c2goYXV0aE1pZGRsZXdhcmUpO1xuICAgIGxpbmtzLnB1c2goZXJyb3JMaW5rKTtcbiAgICBsaW5rcy5wdXNoKGh0dHApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBsaW5rOiBBcG9sbG9MaW5rLmZyb20obGlua3MpLFxuICAgIGNhY2hlOiBuZXcgSW5NZW1vcnlDYWNoZSgpLFxuICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICBxdWVyeToge1xuICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|