@igo2/auth 1.15.3 → 16.0.0-rc.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.
Files changed (76) hide show
  1. package/{esm2020 → esm2022}/igo2-auth.mjs +4 -4
  2. package/esm2022/lib/auth-form/auth-facebook.component.mjs +67 -0
  3. package/esm2022/lib/auth-form/auth-form.component.mjs +286 -0
  4. package/esm2022/lib/auth-form/auth-google.component.mjs +108 -0
  5. package/esm2022/lib/auth-form/auth-intern.component.mjs +134 -0
  6. package/esm2022/lib/auth-form/auth-microsoft.component.mjs +107 -0
  7. package/esm2022/lib/auth-form/auth-microsoftb2c.component.mjs +105 -0
  8. package/{esm2020 → esm2022}/lib/auth-form/index.mjs +5 -5
  9. package/{esm2020 → esm2022}/lib/auth-routing.module.mjs +24 -24
  10. package/{esm2020 → esm2022}/lib/auth.module.mjs +91 -91
  11. package/esm2022/lib/shared/admin.guard.mjs +39 -0
  12. package/esm2022/lib/shared/auth-microsoft.provider.mjs +86 -0
  13. package/esm2022/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +47 -0
  14. package/esm2022/lib/shared/auth-msalServiceb2c.service..mjs +85 -0
  15. package/esm2022/lib/shared/auth.guard.mjs +38 -0
  16. package/esm2022/lib/shared/auth.interceptor.mjs +164 -0
  17. package/{esm2020 → esm2022}/lib/shared/auth.interface.mjs +2 -2
  18. package/esm2022/lib/shared/auth.service.mjs +168 -0
  19. package/esm2022/lib/shared/logged.guard.mjs +38 -0
  20. package/esm2022/lib/shared/profils.guard.mjs +43 -0
  21. package/esm2022/lib/shared/protected.directive.mjs +20 -0
  22. package/{esm2020 → esm2022}/lib/shared/storage.interface.mjs +1 -1
  23. package/esm2022/lib/shared/storage.service.mjs +99 -0
  24. package/esm2022/lib/shared/token.service.mjs +48 -0
  25. package/{esm2020 → esm2022}/public_api.mjs +18 -18
  26. package/{fesm2020 → fesm2022}/igo2-auth.mjs +1573 -1477
  27. package/fesm2022/igo2-auth.mjs.map +1 -0
  28. package/index.d.ts +5 -5
  29. package/lib/auth-form/auth-facebook.component.d.ts +18 -18
  30. package/lib/auth-form/auth-form.component.d.ts +42 -42
  31. package/lib/auth-form/auth-google.component.d.ts +24 -24
  32. package/lib/auth-form/auth-intern.component.d.ts +21 -21
  33. package/lib/auth-form/auth-microsoft.component.d.ts +23 -23
  34. package/lib/auth-form/auth-microsoftb2c.component.d.ts +23 -23
  35. package/lib/auth-form/index.d.ts +4 -4
  36. package/lib/auth-routing.module.d.ts +7 -7
  37. package/lib/auth.module.d.ts +23 -23
  38. package/lib/shared/admin.guard.d.ts +13 -13
  39. package/lib/shared/auth-microsoft.provider.d.ts +30 -30
  40. package/lib/shared/auth-msalBroadcastServiceb2c.service.d.ts +15 -15
  41. package/lib/shared/auth-msalServiceb2c.service..d.ts +33 -33
  42. package/lib/shared/auth.guard.d.ts +13 -13
  43. package/lib/shared/auth.interceptor.d.ts +24 -24
  44. package/lib/shared/auth.interface.d.ts +99 -99
  45. package/lib/shared/auth.service.d.ts +44 -44
  46. package/lib/shared/logged.guard.d.ts +13 -13
  47. package/lib/shared/profils.guard.d.ts +13 -13
  48. package/lib/shared/protected.directive.d.ts +8 -8
  49. package/lib/shared/storage.interface.d.ts +4 -4
  50. package/lib/shared/storage.service.d.ts +17 -18
  51. package/lib/shared/token.service.d.ts +15 -15
  52. package/locale/en.auth.json +28 -0
  53. package/locale/fr.auth.json +32 -0
  54. package/package.json +18 -25
  55. package/public_api.d.ts +15 -15
  56. package/esm2020/lib/auth-form/auth-facebook.component.mjs +0 -61
  57. package/esm2020/lib/auth-form/auth-form.component.mjs +0 -277
  58. package/esm2020/lib/auth-form/auth-google.component.mjs +0 -99
  59. package/esm2020/lib/auth-form/auth-intern.component.mjs +0 -119
  60. package/esm2020/lib/auth-form/auth-microsoft.component.mjs +0 -94
  61. package/esm2020/lib/auth-form/auth-microsoftb2c.component.mjs +0 -93
  62. package/esm2020/lib/shared/admin.guard.mjs +0 -33
  63. package/esm2020/lib/shared/auth-microsoft.provider.mjs +0 -84
  64. package/esm2020/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +0 -38
  65. package/esm2020/lib/shared/auth-msalServiceb2c.service..mjs +0 -80
  66. package/esm2020/lib/shared/auth.guard.mjs +0 -32
  67. package/esm2020/lib/shared/auth.interceptor.mjs +0 -155
  68. package/esm2020/lib/shared/auth.service.mjs +0 -158
  69. package/esm2020/lib/shared/logged.guard.mjs +0 -32
  70. package/esm2020/lib/shared/profils.guard.mjs +0 -37
  71. package/esm2020/lib/shared/protected.directive.mjs +0 -19
  72. package/esm2020/lib/shared/storage.service.mjs +0 -91
  73. package/esm2020/lib/shared/token.service.mjs +0 -47
  74. package/fesm2015/igo2-auth.mjs +0 -1655
  75. package/fesm2015/igo2-auth.mjs.map +0 -1
  76. package/fesm2020/igo2-auth.mjs.map +0 -1
@@ -0,0 +1,164 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpClient } from '@angular/common/http';
3
+ import { Md5 } from 'ts-md5';
4
+ import { ConfigService } from '@igo2/core';
5
+ import { TokenService } from './token.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@igo2/core";
8
+ import * as i2 from "./token.service";
9
+ import * as i3 from "@angular/common/http";
10
+ export class AuthInterceptor {
11
+ config;
12
+ tokenService;
13
+ http;
14
+ refreshInProgress = false;
15
+ trustHosts;
16
+ hostsWithCredentials;
17
+ hostsWithAuthByKey;
18
+ constructor(config, tokenService, http) {
19
+ this.config = config;
20
+ this.tokenService = tokenService;
21
+ this.http = http;
22
+ this.trustHosts = this.config.getConfig('auth.trustHosts') || [];
23
+ this.trustHosts.push(window.location.hostname);
24
+ this.hostsWithCredentials =
25
+ this.config.getConfig('auth.hostsWithCredentials') || [];
26
+ this.hostsWithAuthByKey = this.config.getConfig('auth.hostsByKey') || [];
27
+ }
28
+ intercept(originalReq, next) {
29
+ const withCredentials = this.handleHostsWithCredentials(originalReq.url);
30
+ let req = originalReq.clone();
31
+ const hostWithKey = this.handleHostsAuthByKey(originalReq.url);
32
+ if (hostWithKey) {
33
+ req = req.clone({
34
+ params: req.params.set(hostWithKey.key, hostWithKey.value)
35
+ });
36
+ }
37
+ if (withCredentials) {
38
+ req = originalReq.clone({
39
+ withCredentials
40
+ });
41
+ return next.handle(req);
42
+ }
43
+ this.refreshToken();
44
+ const token = this.tokenService.get();
45
+ const element = document.createElement('a');
46
+ element.href = req.url;
47
+ if (element.host === '') {
48
+ element.href = element.href; // FIX IE11, DO NOT REMOVE
49
+ }
50
+ if (!token || this.trustHosts.indexOf(element.hostname) === -1) {
51
+ return next.handle(req);
52
+ }
53
+ const authHeader = `Bearer ${token}`;
54
+ let authReq = req.clone({
55
+ headers: req.headers.set('Authorization', authHeader)
56
+ });
57
+ const tokenDecoded = this.tokenService.decode();
58
+ if (authReq.params.get('_i') === 'true' &&
59
+ tokenDecoded &&
60
+ tokenDecoded.user &&
61
+ tokenDecoded.user.sourceId) {
62
+ const hashUser = Md5.hashStr(tokenDecoded.user.sourceId);
63
+ authReq = authReq.clone({
64
+ params: authReq.params.set('_i', hashUser)
65
+ });
66
+ }
67
+ else if (authReq.params.get('_i') === 'true') {
68
+ authReq = authReq.clone({
69
+ params: authReq.params.delete('_i')
70
+ });
71
+ }
72
+ return next.handle(authReq);
73
+ }
74
+ interceptXhr(xhr, url) {
75
+ const withCredentials = this.handleHostsWithCredentials(url);
76
+ if (withCredentials) {
77
+ xhr.withCredentials = withCredentials;
78
+ return true;
79
+ }
80
+ this.refreshToken();
81
+ const element = document.createElement('a');
82
+ element.href = url;
83
+ const token = this.tokenService.get();
84
+ if (!token || this.trustHosts.indexOf(element.hostname) === -1) {
85
+ return false;
86
+ }
87
+ xhr.setRequestHeader('Authorization', 'Bearer ' + token);
88
+ return true;
89
+ }
90
+ alterUrlWithKeyAuth(url) {
91
+ const hostWithKey = this.handleHostsAuthByKey(url);
92
+ let interceptedUrl = url;
93
+ if (hostWithKey) {
94
+ const urlDecomposed = interceptedUrl.split(/[?&]/);
95
+ let urlWithKeyAdded = urlDecomposed.shift();
96
+ const paramsToKeep = urlDecomposed.filter((p) => p.length !== 0);
97
+ paramsToKeep.push(`${hostWithKey.key}=${hostWithKey.value}`);
98
+ if (paramsToKeep.length) {
99
+ urlWithKeyAdded += '?' + paramsToKeep.join('&');
100
+ }
101
+ return urlWithKeyAdded;
102
+ }
103
+ return;
104
+ }
105
+ handleHostsWithCredentials(reqUrl) {
106
+ let withCredentials = false;
107
+ for (const hostWithCredentials of this.hostsWithCredentials) {
108
+ const domainRegex = new RegExp(hostWithCredentials.domainRegFilters);
109
+ if (domainRegex.test(reqUrl)) {
110
+ withCredentials =
111
+ hostWithCredentials.withCredentials !== undefined
112
+ ? hostWithCredentials.withCredentials
113
+ : undefined;
114
+ break;
115
+ }
116
+ }
117
+ return withCredentials;
118
+ }
119
+ handleHostsAuthByKey(reqUrl) {
120
+ let hostWithKey;
121
+ for (const hostWithAuthByKey of this.hostsWithAuthByKey) {
122
+ const domainRegex = new RegExp(hostWithAuthByKey.domainRegFilters);
123
+ if (domainRegex.test(reqUrl)) {
124
+ var replace = `${hostWithAuthByKey.keyProperty}=${hostWithAuthByKey.keyValue}`;
125
+ var keyAdded = new RegExp(replace, 'gm');
126
+ if (!keyAdded.test(reqUrl)) {
127
+ hostWithKey = {
128
+ key: hostWithAuthByKey.keyProperty,
129
+ value: hostWithAuthByKey.keyValue
130
+ };
131
+ break;
132
+ }
133
+ }
134
+ }
135
+ return hostWithKey;
136
+ }
137
+ refreshToken() {
138
+ const jwt = this.tokenService.decode();
139
+ const currentTime = new Date().getTime() / 1000;
140
+ if (!this.refreshInProgress &&
141
+ jwt &&
142
+ currentTime < jwt.exp &&
143
+ currentTime > jwt.exp - 1800) {
144
+ this.refreshInProgress = true;
145
+ const url = this.config.getConfig('auth.url');
146
+ return this.http.post(`${url}/refresh`, {}).subscribe((data) => {
147
+ this.tokenService.set(data.token);
148
+ this.refreshInProgress = false;
149
+ }, (err) => {
150
+ err.error.caught = true;
151
+ return err;
152
+ });
153
+ }
154
+ }
155
+ static ɵfac = function AuthInterceptor_Factory(t) { return new (t || AuthInterceptor)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.TokenService), i0.ɵɵinject(i3.HttpClient)); };
156
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthInterceptor, factory: AuthInterceptor.ɵfac, providedIn: 'root' });
157
+ }
158
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthInterceptor, [{
159
+ type: Injectable,
160
+ args: [{
161
+ providedIn: 'root'
162
+ }]
163
+ }], function () { return [{ type: i1.ConfigService }, { type: i2.TokenService }, { type: i3.HttpClient }]; }, null); })();
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVFsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQU0vQyxNQUFNLE9BQU8sZUFBZTtJQU9oQjtJQUNBO0lBQ0E7SUFSRixpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsVUFBVSxDQUFXO0lBQ3JCLG9CQUFvQixDQUEyQjtJQUMvQyxrQkFBa0IsQ0FBcUI7SUFFL0MsWUFDVSxNQUFxQixFQUNyQixZQUEwQixFQUMxQixJQUFnQjtRQUZoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFFeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxvQkFBb0I7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FB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Q0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO3lFQXZLVSxlQUFlO2dFQUFmLGVBQWUsV0FBZixlQUFlLG1CQUZkLE1BQU07O3VGQUVQLGVBQWU7Y0FIM0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cFJlcXVlc3RcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi90b2tlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aEJ5S2V5T3B0aW9ucywgV2l0aENyZWRlbnRpYWxzT3B0aW9ucyB9IGZyb20gJy4vYXV0aC5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBwcml2YXRlIHJlZnJlc2hJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSB0cnVzdEhvc3RzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIGhvc3RzV2l0aENyZWRlbnRpYWxzOiBXaXRoQ3JlZGVudGlhbHNPcHRpb25zW107XHJcbiAgcHJpdmF0ZSBob3N0c1dpdGhBdXRoQnlLZXk6IEF1dGhCeUtleU9wdGlvbnNbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBUb2tlblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICApIHtcclxuICAgIHRoaXMudHJ1c3RIb3N0cyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aC50cnVzdEhvc3RzJykgfHwgW107XHJcbiAgICB0aGlzLnRydXN0SG9zdHMucHVzaCh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG5cclxuICAgIHRoaXMuaG9zdHNXaXRoQ3JlZGVudGlhbHMgPVxyXG4gICAgICB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGguaG9zdHNXaXRoQ3JlZGVudGlhbHMnKSB8fCBbXTtcclxuICAgIHRoaXMuaG9zdHNXaXRoQXV0aEJ5S2V5ID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLmhvc3RzQnlLZXknKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIG9yaWdpbmFsUmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBjb25zdCB3aXRoQ3JlZGVudGlhbHMgPSB0aGlzLmhhbmRsZUhvc3RzV2l0aENyZWRlbnRpYWxzKG9yaWdpbmFsUmVxLnVybCk7XHJcbiAgICBsZXQgcmVxID0gb3JpZ2luYWxSZXEuY2xvbmUoKTtcclxuICAgIGNvbnN0IGhvc3RXaXRoS2V5ID0gdGhpcy5oYW5kbGVIb3N0c0F1dGhCeUtleShvcmlnaW5hbFJlcS51cmwpO1xyXG4gICAgaWYgKGhvc3RXaXRoS2V5KSB7XHJcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XHJcbiAgICAgICAgcGFyYW1zOiByZXEucGFyYW1zLnNldChob3N0V2l0aEtleS5rZXksIGhvc3RXaXRoS2V5LnZhbHVlKVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh3aXRoQ3JlZGVudGlhbHMpIHtcclxuICAgICAgcmVxID0gb3JpZ2luYWxSZXEuY2xvbmUoe1xyXG4gICAgICAgIHdpdGhDcmVkZW50aWFsc1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuU2VydmljZS5nZXQoKTtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBlbGVtZW50LmhyZWYgPSByZXEudXJsO1xyXG4gICAgaWYgKGVsZW1lbnQuaG9zdCA9PT0gJycpIHtcclxuICAgICAgZWxlbWVudC5ocmVmID0gZWxlbWVudC5ocmVmOyAvLyBGSVggSUUxMSwgRE8gTk9UIFJFTU9WRVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghdG9rZW4gfHwgdGhpcy50cnVzdEhvc3RzLmluZGV4T2YoZWxlbWVudC5ob3N0bmFtZSkgPT09IC0xKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGF1dGhIZWFkZXIgPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgIGxldCBhdXRoUmVxID0gcmVxLmNsb25lKHtcclxuICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgYXV0aEhlYWRlcilcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHRva2VuRGVjb2RlZDogYW55ID0gdGhpcy50b2tlblNlcnZpY2UuZGVjb2RlKCk7XHJcbiAgICBpZiAoXHJcbiAgICAgIGF1dGhSZXEucGFyYW1zLmdldCgnX2knKSA9PT0gJ3RydWUnICYmXHJcbiAgICAgIHRva2VuRGVjb2RlZCAmJlxyXG4gICAgICB0b2tlbkRlY29kZWQudXNlciAmJlxyXG4gICAgICB0b2tlbkRlY29kZWQudXNlci5zb3VyY2VJZFxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGhhc2hVc2VyID0gTWQ1Lmhhc2hTdHIodG9rZW5EZWNvZGVkLnVzZXIuc291cmNlSWQpIGFzIHN0cmluZztcclxuICAgICAgYXV0aFJlcSA9IGF1dGhSZXEuY2xvbmUoe1xyXG4gICAgICAgIHBhcmFtczogYXV0aFJlcS5wYXJhbXMuc2V0KCdfaScsIGhhc2hVc2VyKVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoYXV0aFJlcS5wYXJhbXMuZ2V0KCdfaScpID09PSAndHJ1ZScpIHtcclxuICAgICAgYXV0aFJlcSA9IGF1dGhSZXEuY2xvbmUoe1xyXG4gICAgICAgIHBhcmFtczogYXV0aFJlcS5wYXJhbXMuZGVsZXRlKCdfaScpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShhdXRoUmVxKTtcclxuICB9XHJcblxyXG4gIGludGVyY2VwdFhocih4aHIsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB3aXRoQ3JlZGVudGlhbHMgPSB0aGlzLmhhbmRsZUhvc3RzV2l0aENyZWRlbnRpYWxzKHVybCk7XHJcbiAgICBpZiAod2l0aENyZWRlbnRpYWxzKSB7XHJcbiAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB3aXRoQ3JlZGVudGlhbHM7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVmcmVzaFRva2VuKCk7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgZWxlbWVudC5ocmVmID0gdXJsO1xyXG5cclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0KCk7XHJcbiAgICBpZiAoIXRva2VuIHx8IHRoaXMudHJ1c3RIb3N0cy5pbmRleE9mKGVsZW1lbnQuaG9zdG5hbWUpID09PSAtMSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIHRva2VuKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWx0ZXJVcmxXaXRoS2V5QXV0aCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBob3N0V2l0aEtleSA9IHRoaXMuaGFuZGxlSG9zdHNBdXRoQnlLZXkodXJsKTtcclxuICAgIGxldCBpbnRlcmNlcHRlZFVybCA9IHVybDtcclxuICAgIGlmIChob3N0V2l0aEtleSkge1xyXG4gICAgICBjb25zdCB1cmxEZWNvbXBvc2VkID0gaW50ZXJjZXB0ZWRVcmwuc3BsaXQoL1s/Jl0vKTtcclxuICAgICAgbGV0IHVybFdpdGhLZXlBZGRlZCA9IHVybERlY29tcG9zZWQuc2hpZnQoKTtcclxuICAgICAgY29uc3QgcGFyYW1zVG9LZWVwID0gdXJsRGVjb21wb3NlZC5maWx0ZXIoKHApID0+IHAubGVuZ3RoICE9PSAwKTtcclxuICAgICAgcGFyYW1zVG9LZWVwLnB1c2goYCR7aG9zdFdpdGhLZXkua2V5fT0ke2hvc3RXaXRoS2V5LnZhbHVlfWApO1xyXG4gICAgICBpZiAocGFyYW1zVG9LZWVwLmxlbmd0aCkge1xyXG4gICAgICAgIHVybFdpdGhLZXlBZGRlZCArPSAnPycgKyBwYXJhbXNUb0tlZXAuam9pbignJicpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB1cmxXaXRoS2V5QWRkZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUhvc3RzV2l0aENyZWRlbnRpYWxzKHJlcVVybDogc3RyaW5nKSB7XHJcbiAgICBsZXQgd2l0aENyZWRlbnRpYWxzID0gZmFsc2U7XHJcbiAgICBmb3IgKGNvbnN0IGhvc3RXaXRoQ3JlZGVudGlhbHMgb2YgdGhpcy5ob3N0c1dpdGhDcmVkZW50aWFscykge1xyXG4gICAgICBjb25zdCBkb21haW5SZWdleCA9IG5ldyBSZWdFeHAoaG9zdFdpdGhDcmVkZW50aWFscy5kb21haW5SZWdGaWx0ZXJzKTtcclxuICAgICAgaWYgKGRvbWFpblJlZ2V4LnRlc3QocmVxVXJsKSkge1xyXG4gICAgICAgIHdpdGhDcmVkZW50aWFscyA9XHJcbiAgICAgICAgICBob3N0V2l0aENyZWRlbnRpYWxzLndpdGhDcmVkZW50aWFscyAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgID8gaG9zdFdpdGhDcmVkZW50aWFscy53aXRoQ3JlZGVudGlhbHNcclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB3aXRoQ3JlZGVudGlhbHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUhvc3RzQXV0aEJ5S2V5KHJlcVVybDogc3RyaW5nKTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9IHtcclxuICAgIGxldCBob3N0V2l0aEtleTtcclxuICAgIGZvciAoY29uc3QgaG9zdFdpdGhBdXRoQnlLZXkgb2YgdGhpcy5ob3N0c1dpdGhBdXRoQnlLZXkpIHtcclxuICAgICAgY29uc3QgZG9tYWluUmVnZXggPSBuZXcgUmVnRXhwKGhvc3RXaXRoQXV0aEJ5S2V5LmRvbWFpblJlZ0ZpbHRlcnMpO1xyXG4gICAgICBpZiAoZG9tYWluUmVnZXgudGVzdChyZXFVcmwpKSB7XHJcbiAgICAgICAgdmFyIHJlcGxhY2UgPSBgJHtob3N0V2l0aEF1dGhCeUtleS5rZXlQcm9wZXJ0eX09JHtob3N0V2l0aEF1dGhCeUtleS5rZXlWYWx1ZX1gO1xyXG4gICAgICAgIHZhciBrZXlBZGRlZCA9IG5ldyBSZWdFeHAocmVwbGFjZSwgJ2dtJyk7XHJcbiAgICAgICAgaWYgKCFrZXlBZGRlZC50ZXN0KHJlcVVybCkpIHtcclxuICAgICAgICAgIGhvc3RXaXRoS2V5ID0ge1xyXG4gICAgICAgICAgICBrZXk6IGhvc3RXaXRoQXV0aEJ5S2V5LmtleVByb3BlcnR5LFxyXG4gICAgICAgICAgICB2YWx1ZTogaG9zdFdpdGhBdXRoQnlLZXkua2V5VmFsdWVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBob3N0V2l0aEtleTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hUb2tlbigpIHtcclxuICAgIGNvbnN0IGp3dCA9IHRoaXMudG9rZW5TZXJ2aWNlLmRlY29kZSgpO1xyXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy5yZWZyZXNoSW5Qcm9ncmVzcyAmJlxyXG4gICAgICBqd3QgJiZcclxuICAgICAgY3VycmVudFRpbWUgPCBqd3QuZXhwICYmXHJcbiAgICAgIGN1cnJlbnRUaW1lID4gand0LmV4cCAtIDE4MDBcclxuICAgICkge1xyXG4gICAgICB0aGlzLnJlZnJlc2hJblByb2dyZXNzID0gdHJ1ZTtcclxuXHJcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aC51cmwnKTtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3VybH0vcmVmcmVzaGAsIHt9KS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2tlblNlcnZpY2Uuc2V0KGRhdGEudG9rZW4pO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgZXJyLmVycm9yLmNhdWdodCA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gZXJyO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2F1dGguaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm93c2VyQXV0aE9wdGlvbnMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcclxuaW1wb3J0IHsgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoSW50ZXJuT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aEZhY2Vib29rT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgYXBwSWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoR29vZ2xlT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0T3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICByZWRpcmVjdFVyaT86IHN0cmluZztcclxuICBhdXRob3JpdHk/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnMge1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIGJyb3dzZXJBdXRoT3B0aW9ucz86IEJyb3dzZXJBdXRoT3B0aW9ucztcclxuICBvcHRpb25zPzogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNPcHRpb25zO1xyXG4gIHNjb3Blcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zT3B0aW9ucyB7XHJcbiAgbmFtZXM6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zTmFtZXM7XHJcbiAgYXV0aG9yaXRpZXM6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXRpZXM7XHJcbiAgYXV0aG9yaXR5RG9tYWluOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc05hbWVzIHtcclxuICBzaWduVXBTaWduSW46IHN0cmluZztcclxuICBmb3Jnb3RQYXNzd29yZDogc3RyaW5nO1xyXG4gIGVkaXRQcm9maWxlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdGllcyB7XHJcbiAgc2lnblVwU2lnbkluOiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc0F1dGhvcml0eTtcclxuICBmb3Jnb3RQYXNzd29yZDogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdHk7XHJcbiAgZWRpdFByb2ZpbGU6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXR5O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXR5IHtcclxuICBhdXRob3JpdHk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoT3B0aW9ucyB7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIHRva2VuS2V5OiBzdHJpbmc7XHJcbiAgYWxsb3dBbm9ueW1vdXM/OiBib29sZWFuO1xyXG4gIGxvZ2luUm91dGU/OiBzdHJpbmc7XHJcbiAgbG9nb3V0Um91dGU/OiBzdHJpbmc7XHJcbiAgaG9tZVJvdXRlPzogc3RyaW5nO1xyXG4gIGludGVybj86IEF1dGhJbnRlcm5PcHRpb25zO1xyXG4gIGZhY2Vib29rPzogQXV0aEZhY2Vib29rT3B0aW9ucztcclxuICBnb29nbGU/OiBBdXRoR29vZ2xlT3B0aW9ucztcclxuICBtaWNyb3NvZnQ/OiBBdXRoTWljcm9zb2Z0T3B0aW9ucztcclxuICBtaWNyb3NvZnRiMmM/OiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9ucztcclxuICB0cnVzdEhvc3RzPzogc3RyaW5nW107XHJcbiAgcHJvZmlsc0d1YXJkPzogc3RyaW5nW107XHJcbiAgaG9zdHNXaXRoQ3JlZGVudGlhbHM/OiBXaXRoQ3JlZGVudGlhbHNPcHRpb25zW107XHJcbiAgaG9zdHNCeUtleT86IEF1dGhCeUtleU9wdGlvbnNbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhCeUtleU9wdGlvbnMge1xyXG4gIGRvbWFpblJlZ0ZpbHRlcnM/OiBzdHJpbmc7XHJcbiAga2V5UHJvcGVydHk/OiBzdHJpbmc7XHJcbiAga2V5VmFsdWU/OiBzdHJpbmc7XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgV2l0aENyZWRlbnRpYWxzT3B0aW9ucyB7XHJcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICBkb21haW5SZWdGaWx0ZXJzPzogc3RyaW5nO1xyXG4gfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNU1BNc2FsR3VhcmRDb25maWd1cmF0aW9uIGV4dGVuZHMgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBNc2FsR3VhcmRDb25maWd1cmF0aW9uIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xyXG4gIHR5cGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNU1BNc2FsR3VhcmRDb25maWd1cmF0aW9uIGV4dGVuZHMgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBNc2FsR3VhcmRDb25maWd1cmF0aW9uIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XHJcbiAgc291cmNlPzogc3RyaW5nO1xyXG4gIHNvdXJjZUlkPzogc3RyaW5nO1xyXG4gIGVtYWlsPzogc3RyaW5nO1xyXG4gIGZpcnN0TmFtZT86IHN0cmluZztcclxuICBsYXN0TmFtZT86IHN0cmluZztcclxuICBsb2NhbGU/OiBzdHJpbmc7XHJcbiAgaXNFeHBpcmVkPzogYm9vbGVhbjtcclxuICBhZG1pbj86IGJvb2xlYW47XHJcbiAgZGVmYXVsdENvbnRleHRJZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW5mb3NVc2VyIHtcclxuICB0b2tlbklkOiBzdHJpbmc7XHJcbn1cclxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2F1dGguaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm93c2VyQXV0aE9wdGlvbnMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcclxuaW1wb3J0IHsgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoSW50ZXJuT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aEZhY2Vib29rT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgYXBwSWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoR29vZ2xlT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0T3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICByZWRpcmVjdFVyaT86IHN0cmluZztcclxuICBhdXRob3JpdHk/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnMge1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIGJyb3dzZXJBdXRoT3B0aW9ucz86IEJyb3dzZXJBdXRoT3B0aW9ucztcclxuICBvcHRpb25zPzogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNPcHRpb25zO1xyXG4gIHNjb3Blcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zT3B0aW9ucyB7XHJcbiAgbmFtZXM6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zTmFtZXM7XHJcbiAgYXV0aG9yaXRpZXM6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXRpZXM7XHJcbiAgYXV0aG9yaXR5RG9tYWluOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc05hbWVzIHtcclxuICBzaWduVXBTaWduSW46IHN0cmluZztcclxuICBmb3Jnb3RQYXNzd29yZDogc3RyaW5nO1xyXG4gIGVkaXRQcm9maWxlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdGllcyB7XHJcbiAgc2lnblVwU2lnbkluOiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc0F1dGhvcml0eTtcclxuICBmb3Jnb3RQYXNzd29yZDogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdHk7XHJcbiAgZWRpdFByb2ZpbGU6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXR5O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXR5IHtcclxuICBhdXRob3JpdHk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoT3B0aW9ucyB7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIHRva2VuS2V5OiBzdHJpbmc7XHJcbiAgYWxsb3dBbm9ueW1vdXM/OiBib29sZWFuO1xyXG4gIGxvZ2luUm91dGU/OiBzdHJpbmc7XHJcbiAgbG9nb3V0Um91dGU/OiBzdHJpbmc7XHJcbiAgaG9tZVJvdXRlPzogc3RyaW5nO1xyXG4gIGludGVybj86IEF1dGhJbnRlcm5PcHRpb25zO1xyXG4gIGZhY2Vib29rPzogQXV0aEZhY2Vib29rT3B0aW9ucztcclxuICBnb29nbGU/OiBBdXRoR29vZ2xlT3B0aW9ucztcclxuICBtaWNyb3NvZnQ/OiBBdXRoTWljcm9zb2Z0T3B0aW9ucztcclxuICBtaWNyb3NvZnRiMmM/OiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9ucztcclxuICB0cnVzdEhvc3RzPzogc3RyaW5nW107XHJcbiAgcHJvZmlsc0d1YXJkPzogc3RyaW5nW107XHJcbiAgaG9zdHNXaXRoQ3JlZGVudGlhbHM/OiBXaXRoQ3JlZGVudGlhbHNPcHRpb25zW107XHJcbiAgaG9zdHNCeUtleT86IEF1dGhCeUtleU9wdGlvbnNbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhCeUtleU9wdGlvbnMge1xyXG4gIGRvbWFpblJlZ0ZpbHRlcnM/OiBzdHJpbmc7XHJcbiAga2V5UHJvcGVydHk/OiBzdHJpbmc7XHJcbiAga2V5VmFsdWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXaXRoQ3JlZGVudGlhbHNPcHRpb25zIHtcclxuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xyXG4gIGRvbWFpblJlZ0ZpbHRlcnM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xyXG4gIHR5cGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNU1BNc2FsR3VhcmRDb25maWd1cmF0aW9uIGV4dGVuZHMgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBNc2FsR3VhcmRDb25maWd1cmF0aW9uIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xyXG4gIHR5cGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNU1BNc2FsR3VhcmRDb25maWd1cmF0aW9uIGV4dGVuZHMgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xyXG4gIHNvdXJjZT86IHN0cmluZztcclxuICBzb3VyY2VJZD86IHN0cmluZztcclxuICBlbWFpbD86IHN0cmluZztcclxuICBmaXJzdE5hbWU/OiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU/OiBzdHJpbmc7XHJcbiAgbG9jYWxlPzogc3RyaW5nO1xyXG4gIGlzRXhwaXJlZD86IGJvb2xlYW47XHJcbiAgYWRtaW4/OiBib29sZWFuO1xyXG4gIGRlZmF1bHRDb250ZXh0SWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUluZm9zVXNlciB7XHJcbiAgdG9rZW5JZDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,168 @@
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
3
+ import { Router } from '@angular/router';
4
+ import { BehaviorSubject, of } from 'rxjs';
5
+ import { tap, catchError } from 'rxjs/operators';
6
+ import { globalCacheBusterNotifier } from 'ts-cacheable';
7
+ import { ConfigService, LanguageService, MessageService } from '@igo2/core';
8
+ import { Base64 } from '@igo2/utils';
9
+ import { TokenService } from './token.service';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "./token.service";
13
+ import * as i3 from "@igo2/core";
14
+ import * as i4 from "@angular/router";
15
+ export class AuthService {
16
+ http;
17
+ tokenService;
18
+ config;
19
+ languageService;
20
+ messageService;
21
+ router;
22
+ authenticate$ = new BehaviorSubject(undefined);
23
+ logged$ = new BehaviorSubject(undefined);
24
+ redirectUrl;
25
+ languageForce = false;
26
+ anonymous = false;
27
+ get hasAuthService() {
28
+ return this.config.getConfig('auth.url') !== undefined;
29
+ }
30
+ constructor(http, tokenService, config, languageService, messageService, router) {
31
+ this.http = http;
32
+ this.tokenService = tokenService;
33
+ this.config = config;
34
+ this.languageService = languageService;
35
+ this.messageService = messageService;
36
+ this.router = router;
37
+ this.authenticate$.next(this.authenticated);
38
+ this.authenticate$.subscribe((authenticated) => {
39
+ this.logged$.next(authenticated);
40
+ globalCacheBusterNotifier.next();
41
+ });
42
+ }
43
+ login(username, password) {
44
+ const myHeader = new HttpHeaders({ 'Content-Type': 'application/json' });
45
+ const body = {
46
+ username,
47
+ password: this.encodePassword(password)
48
+ };
49
+ return this.loginCall(body, myHeader);
50
+ }
51
+ loginWithToken(token, type, infosUser) {
52
+ const myHeader = new HttpHeaders({ 'Content-Type': 'application/json' });
53
+ const body = {
54
+ token,
55
+ typeConnection: type,
56
+ infosUser
57
+ };
58
+ return this.loginCall(body, myHeader);
59
+ }
60
+ loginAnonymous() {
61
+ this.anonymous = true;
62
+ this.logged$.next(true);
63
+ return of(true);
64
+ }
65
+ refresh() {
66
+ const url = this.config.getConfig('auth.url');
67
+ return this.http.post(`${url}/refresh`, {}).pipe(tap((data) => {
68
+ this.tokenService.set(data.token);
69
+ }), catchError((err) => {
70
+ err.error.caught = true;
71
+ throw err;
72
+ }));
73
+ }
74
+ logout() {
75
+ this.anonymous = false;
76
+ this.tokenService.remove();
77
+ this.authenticate$.next(false);
78
+ return of(true);
79
+ }
80
+ isAuthenticated() {
81
+ return !this.tokenService.isExpired();
82
+ }
83
+ getToken() {
84
+ return this.tokenService.get();
85
+ }
86
+ decodeToken() {
87
+ if (this.isAuthenticated()) {
88
+ return this.tokenService.decode();
89
+ }
90
+ return false;
91
+ }
92
+ goToRedirectUrl() {
93
+ if (!this.router) {
94
+ return;
95
+ }
96
+ const redirectUrl = this.redirectUrl || this.router.url;
97
+ const options = this.config.getConfig('auth') || {};
98
+ if (redirectUrl === options.loginRoute) {
99
+ const homeRoute = options.homeRoute || '/';
100
+ this.router.navigateByUrl(homeRoute);
101
+ }
102
+ else if (redirectUrl) {
103
+ this.router.navigateByUrl(redirectUrl);
104
+ }
105
+ }
106
+ getUserInfo() {
107
+ const url = this.config.getConfig('auth.url') + '/info';
108
+ return this.http.get(url);
109
+ }
110
+ getProfils() {
111
+ const url = this.config.getConfig('auth.url');
112
+ return this.http.get(`${url}/profils`);
113
+ }
114
+ updateUser(user) {
115
+ const url = this.config.getConfig('auth.url');
116
+ return this.http.patch(url, user);
117
+ }
118
+ encodePassword(password) {
119
+ return Base64.encode(password);
120
+ }
121
+ // authenticated or anonymous
122
+ get logged() {
123
+ return this.authenticated || this.isAnonymous;
124
+ }
125
+ get isAnonymous() {
126
+ return this.anonymous;
127
+ }
128
+ get authenticated() {
129
+ return this.isAuthenticated();
130
+ }
131
+ get isAdmin() {
132
+ const token = this.decodeToken();
133
+ if (token && token.user && token.user.isAdmin) {
134
+ return true;
135
+ }
136
+ return false;
137
+ }
138
+ loginCall(body, headers) {
139
+ const url = this.config.getConfig('auth.url');
140
+ return this.http.post(`${url}/login`, body, { headers }).pipe(tap((data) => {
141
+ this.tokenService.set(data.token);
142
+ const tokenDecoded = this.decodeToken();
143
+ if (tokenDecoded && tokenDecoded.user) {
144
+ if (tokenDecoded.user.locale && !this.languageForce) {
145
+ this.languageService.setLanguage(tokenDecoded.user.locale);
146
+ }
147
+ if (tokenDecoded.user.isExpired) {
148
+ this.messageService.alert('igo.auth.error.Password expired');
149
+ }
150
+ }
151
+ this.authenticate$.next(true);
152
+ }), catchError((err) => {
153
+ err.error.caught = true;
154
+ throw err;
155
+ }));
156
+ }
157
+ static ɵfac = function AuthService_Factory(t) { return new (t || AuthService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.TokenService), i0.ɵɵinject(i3.ConfigService), i0.ɵɵinject(i3.LanguageService), i0.ɵɵinject(i3.MessageService), i0.ɵɵinject(i4.Router, 8)); };
158
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthService, factory: AuthService.ɵfac, providedIn: 'root' });
159
+ }
160
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthService, [{
161
+ type: Injectable,
162
+ args: [{
163
+ providedIn: 'root'
164
+ }]
165
+ }], function () { return [{ type: i1.HttpClient }, { type: i2.TokenService }, { type: i3.ConfigService }, { type: i3.LanguageService }, { type: i3.MessageService }, { type: i4.Router, decorators: [{
166
+ type: Optional
167
+ }] }]; }, null); })();
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL3NoYXJlZC9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFjLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFLL0MsTUFBTSxPQUFPLFdBQVc7SUFZWjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ1k7SUFoQmYsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFVLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxTQUFTLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQVM7SUFDcEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUNyQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRTFCLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUN6RCxDQUFDO0lB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QUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QyxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFO2dCQUNyQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtvQkFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDNUQ7Z0JBQ0QsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztpQkFDOUQ7YUFDRjtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUN4QixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3FFQTFLVSxXQUFXO2dFQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07O3VGQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFrQkksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGdsb2JhbENhY2hlQnVzdGVyTm90aWZpZXIgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlNjQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBVc2VyLCBJSW5mb3NVc2VyIH0gZnJvbSAnLi9hdXRoLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4vdG9rZW4uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgcHVibGljIGF1dGhlbnRpY2F0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XHJcbiAgcHVibGljIGxvZ2dlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XHJcbiAgcHVibGljIHJlZGlyZWN0VXJsOiBzdHJpbmc7XHJcbiAgcHVibGljIGxhbmd1YWdlRm9yY2UgPSBmYWxzZTtcclxuICBwcml2YXRlIGFub255bW91cyA9IGZhbHNlO1xyXG5cclxuICBnZXQgaGFzQXV0aFNlcnZpY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLnVybCcpICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBUb2tlblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlJC5uZXh0KHRoaXMuYXV0aGVudGljYXRlZCk7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZSQuc3Vic2NyaWJlKChhdXRoZW50aWNhdGVkKSA9PiB7XHJcbiAgICAgIHRoaXMubG9nZ2VkJC5uZXh0KGF1dGhlbnRpY2F0ZWQpO1xyXG4gICAgICBnbG9iYWxDYWNoZUJ1c3Rlck5vdGlmaWVyLm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgY29uc3QgbXlIZWFkZXIgPSBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pO1xyXG5cclxuICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgIHVzZXJuYW1lLFxyXG4gICAgICBwYXNzd29yZDogdGhpcy5lbmNvZGVQYXNzd29yZChwYXNzd29yZClcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubG9naW5DYWxsKGJvZHksIG15SGVhZGVyKTtcclxuICB9XHJcblxyXG4gIGxvZ2luV2l0aFRva2VuKFxyXG4gICAgdG9rZW46IHN0cmluZyxcclxuICAgIHR5cGU6IHN0cmluZyxcclxuICAgIGluZm9zVXNlcj86IElJbmZvc1VzZXJcclxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIGNvbnN0IG15SGVhZGVyID0gbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KTtcclxuXHJcbiAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICB0b2tlbixcclxuICAgICAgdHlwZUNvbm5lY3Rpb246IHR5cGUsXHJcbiAgICAgIGluZm9zVXNlclxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5sb2dpbkNhbGwoYm9keSwgbXlIZWFkZXIpO1xyXG4gIH1cclxuXHJcbiAgbG9naW5Bbm9ueW1vdXMoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICB0aGlzLmFub255bW91cyA9IHRydWU7XHJcbiAgICB0aGlzLmxvZ2dlZCQubmV4dCh0cnVlKTtcclxuICAgIHJldHVybiBvZih0cnVlKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgudXJsJyk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dXJsfS9yZWZyZXNoYCwge30pLnBpcGUoXHJcbiAgICAgIHRhcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2tlblNlcnZpY2Uuc2V0KGRhdGEudG9rZW4pO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgZXJyLmVycm9yLmNhdWdodCA9IHRydWU7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMuYW5vbnltb3VzID0gZmFsc2U7XHJcbiAgICB0aGlzLnRva2VuU2VydmljZS5yZW1vdmUoKTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlJC5uZXh0KGZhbHNlKTtcclxuICAgIHJldHVybiBvZih0cnVlKTtcclxuICB9XHJcblxyXG4gIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy50b2tlblNlcnZpY2UuaXNFeHBpcmVkKCk7XHJcbiAgfVxyXG5cclxuICBnZXRUb2tlbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudG9rZW5TZXJ2aWNlLmdldCgpO1xyXG4gIH1cclxuXHJcbiAgZGVjb2RlVG9rZW4oKSB7XHJcbiAgICBpZiAodGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b2tlblNlcnZpY2UuZGVjb2RlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnb1RvUmVkaXJlY3RVcmwoKSB7XHJcbiAgICBpZiAoIXRoaXMucm91dGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gdGhpcy5yZWRpcmVjdFVybCB8fCB0aGlzLnJvdXRlci51cmw7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aCcpIHx8IHt9O1xyXG4gICAgaWYgKHJlZGlyZWN0VXJsID09PSBvcHRpb25zLmxvZ2luUm91dGUpIHtcclxuICAgICAgY29uc3QgaG9tZVJvdXRlID0gb3B0aW9ucy5ob21lUm91dGUgfHwgJy8nO1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGhvbWVSb3V0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHJlZGlyZWN0VXJsKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocmVkaXJlY3RVcmwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckluZm8oKTogT2JzZXJ2YWJsZTxVc2VyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgudXJsJykgKyAnL2luZm8nO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VXNlcj4odXJsKTtcclxuICB9XHJcblxyXG4gIGdldFByb2ZpbHMoKTogT2JzZXJ2YWJsZTx7IHByb2ZpbHM6IHN0cmluZ1tdIH0+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aC51cmwnKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgcHJvZmlsczogc3RyaW5nW10gfT4oYCR7dXJsfS9wcm9maWxzYCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVVc2VyKHVzZXI6IFVzZXIpOiBPYnNlcnZhYmxlPFVzZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aC51cmwnKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VXNlcj4odXJsLCB1c2VyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW5jb2RlUGFzc3dvcmQocGFzc3dvcmQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIEJhc2U2NC5lbmNvZGUocGFzc3dvcmQpO1xyXG4gIH1cclxuXHJcbiAgLy8gYXV0aGVudGljYXRlZCBvciBhbm9ueW1vdXNcclxuICBnZXQgbG9nZ2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRlZCB8fCB0aGlzLmlzQW5vbnltb3VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzQW5vbnltb3VzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYW5vbnltb3VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGF1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0FkbWluKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmRlY29kZVRva2VuKCk7XHJcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4udXNlciAmJiB0b2tlbi51c2VyLmlzQWRtaW4pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ2luQ2FsbChib2R5LCBoZWFkZXJzKSB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgudXJsJyk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dXJsfS9sb2dpbmAsIGJvZHksIHsgaGVhZGVycyB9KS5waXBlKFxyXG4gICAgICB0YXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldChkYXRhLnRva2VuKTtcclxuICAgICAgICBjb25zdCB0b2tlbkRlY29kZWQgPSB0aGlzLmRlY29kZVRva2VuKCk7XHJcbiAgICAgICAgaWYgKHRva2VuRGVjb2RlZCAmJiB0b2tlbkRlY29kZWQudXNlcikge1xyXG4gICAgICAgICAgaWYgKHRva2VuRGVjb2RlZC51c2VyLmxvY2FsZSAmJiAhdGhpcy5sYW5ndWFnZUZvcmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnNldExhbmd1YWdlKHRva2VuRGVjb2RlZC51c2VyLmxvY2FsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodG9rZW5EZWNvZGVkLnVzZXIuaXNFeHBpcmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWxlcnQoJ2lnby5hdXRoLmVycm9yLlBhc3N3b3JkIGV4cGlyZWQnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGUkLm5leHQodHJ1ZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBlcnIuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { ConfigService } from '@igo2/core';
4
+ import { AuthService } from './auth.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./auth.service";
7
+ import * as i2 from "@igo2/core";
8
+ import * as i3 from "@angular/router";
9
+ export class LoggedGuard {
10
+ authService;
11
+ config;
12
+ router;
13
+ constructor(authService, config, router) {
14
+ this.authService = authService;
15
+ this.config = config;
16
+ this.router = router;
17
+ }
18
+ canActivate(route, state) {
19
+ if (this.authService.logged) {
20
+ return true;
21
+ }
22
+ this.authService.redirectUrl = state.url;
23
+ const authConfig = this.config.getConfig('auth');
24
+ if (authConfig && authConfig.loginRoute) {
25
+ this.router.navigateByUrl(authConfig.loginRoute);
26
+ }
27
+ return false;
28
+ }
29
+ static ɵfac = function LoggedGuard_Factory(t) { return new (t || LoggedGuard)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i3.Router)); };
30
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoggedGuard, factory: LoggedGuard.ɵfac, providedIn: 'root' });
31
+ }
32
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoggedGuard, [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root'
36
+ }]
37
+ }], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }]; }, null); })();
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VkLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL3NoYXJlZC9sb2dnZWQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsTUFBTSxFQUdQLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxXQUFXO0lBRVo7SUFDQTtJQUNBO0lBSFYsWUFDVSxXQUF3QixFQUN4QixNQUFxQixFQUNyQixNQUFjO1FBRmQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3JCLENBQUM7SUFFSixXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNuRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBRXpDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3FFQXBCVSxXQUFXO2dFQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07O3VGQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUm91dGVyLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2dnZWRHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmxvZ2dlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5hdXRoU2VydmljZS5yZWRpcmVjdFVybCA9IHN0YXRlLnVybDtcblxuICAgIGNvbnN0IGF1dGhDb25maWcgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgnKTtcbiAgICBpZiAoYXV0aENvbmZpZyAmJiBhdXRoQ29uZmlnLmxvZ2luUm91dGUpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYXV0aENvbmZpZy5sb2dpblJvdXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { map } from 'rxjs/operators';
4
+ import { ConfigService } from '@igo2/core';
5
+ import { AuthService } from './auth.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./auth.service";
8
+ import * as i2 from "@igo2/core";
9
+ import * as i3 from "@angular/router";
10
+ export class ProfilsGuard {
11
+ authService;
12
+ config;
13
+ router;
14
+ constructor(authService, config, router) {
15
+ this.authService = authService;
16
+ this.config = config;
17
+ this.router = router;
18
+ }
19
+ canActivate(_route, state) {
20
+ return this.authService.getProfils().pipe(map((profils) => {
21
+ const authConfig = this.config.getConfig('auth');
22
+ if (profils &&
23
+ profils.profils &&
24
+ profils.profils.some((v) => authConfig.profilsGuard.indexOf(v) !== -1)) {
25
+ return true;
26
+ }
27
+ this.authService.redirectUrl = state.url;
28
+ if (authConfig && authConfig.loginRoute) {
29
+ this.router.navigateByUrl(authConfig.loginRoute);
30
+ }
31
+ return false;
32
+ }));
33
+ }
34
+ static ɵfac = function ProfilsGuard_Factory(t) { return new (t || ProfilsGuard)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i3.Router)); };
35
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ProfilsGuard, factory: ProfilsGuard.ɵfac, providedIn: 'root' });
36
+ }
37
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProfilsGuard, [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root'
41
+ }]
42
+ }], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }]; }, null); })();
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlscy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvcHJvZmlscy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxNQUFNLEVBR1AsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxZQUFZO0lBRWI7SUFDQTtJQUNBO0lBSFYsWUFDVSxXQUF3QixFQUN4QixNQUFxQixFQUNyQixNQUFjO1FBRmQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3JCLENBQUM7SUFFSixXQUFXLENBQUMsTUFBOEIsRUFBRSxLQUEwQjtRQUNwRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUN2QyxHQUFHLENBQUMsQ0FBQyxPQUE4QixFQUFFLEVBQUU7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsSUFDRSxPQUFPO2dCQUNQLE9BQU8sQ0FBQyxPQUFPO2dCQUNmLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUN0RTtnQkFDQSxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUV6QyxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsVUFBVSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDbEQ7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3NFQTVCVSxZQUFZO2dFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUm91dGVyLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxzR3VhcmQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBjYW5BY3RpdmF0ZShfcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0UHJvZmlscygpLnBpcGUoXG4gICAgICBtYXAoKHByb2ZpbHM6IHsgcHJvZmlsczogc3RyaW5nW10gfSkgPT4ge1xuICAgICAgICBjb25zdCBhdXRoQ29uZmlnID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoJyk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwcm9maWxzICYmXG4gICAgICAgICAgcHJvZmlscy5wcm9maWxzICYmXG4gICAgICAgICAgcHJvZmlscy5wcm9maWxzLnNvbWUoKHYpID0+IGF1dGhDb25maWcucHJvZmlsc0d1YXJkLmluZGV4T2YodikgIT09IC0xKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UucmVkaXJlY3RVcmwgPSBzdGF0ZS51cmw7XG5cbiAgICAgICAgaWYgKGF1dGhDb25maWcgJiYgYXV0aENvbmZpZy5sb2dpblJvdXRlKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChhdXRoQ29uZmlnLmxvZ2luUm91dGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Directive, ElementRef } from '@angular/core';
2
+ import { AuthService } from './auth.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./auth.service";
5
+ export class ProtectedDirective {
6
+ constructor(authentication, el) {
7
+ if (!authentication.isAuthenticated()) {
8
+ el.nativeElement.parentNode.removeChild(el.nativeElement);
9
+ }
10
+ }
11
+ static ɵfac = function ProtectedDirective_Factory(t) { return new (t || ProtectedDirective)(i0.ɵɵdirectiveInject(i1.AuthService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
12
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ProtectedDirective, selectors: [["", "igoProtected", ""]] });
13
+ }
14
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProtectedDirective, [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[igoProtected]'
18
+ }]
19
+ }], function () { return [{ type: i1.AuthService }, { type: i0.ElementRef }]; }, null); })();
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdGVjdGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvcHJvdGVjdGVkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUs3QyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQVksY0FBMkIsRUFBRSxFQUFjO1FBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDckMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7NEVBTFUsa0JBQWtCOzZEQUFsQixrQkFBa0I7O3VGQUFsQixrQkFBa0I7Y0FIOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaWdvUHJvdGVjdGVkXSdcbn0pXG5leHBvcnQgY2xhc3MgUHJvdGVjdGVkRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoYXV0aGVudGljYXRpb246IEF1dGhTZXJ2aWNlLCBlbDogRWxlbWVudFJlZikge1xuICAgIGlmICghYXV0aGVudGljYXRpb24uaXNBdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL3N0b3JhZ2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdG9yYWdlT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoU3RvcmFnZU9wdGlvbnMgZXh0ZW5kcyBTdG9yYWdlT3B0aW9ucyB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbn1cclxuIl19