@indigina/kendo 1.0.122-beta → 1.0.138-beta

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 (60) hide show
  1. package/README.md +31 -21
  2. package/bundles/indigina-kendo.umd.js +2831 -2674
  3. package/bundles/indigina-kendo.umd.js.map +1 -1
  4. package/bundles/indigina-kendo.umd.min.js +2 -2
  5. package/bundles/indigina-kendo.umd.min.js.map +1 -1
  6. package/esm2015/indigina-kendo.js +3 -2
  7. package/esm2015/lib/angular/indigina.module.js +24 -14
  8. package/esm2015/lib/angular/models/AppSettings.js +1 -1
  9. package/esm2015/lib/angular/services/http.service.js +3 -7
  10. package/esm2015/lib/angular/services/settings.service.js +8 -1
  11. package/esm2015/lib/components/azure-login-callback/azure-login-callback.component.js +35 -0
  12. package/esm2015/lib/config/msal-instance.factory.js +27 -0
  13. package/esm2015/lib/interceptors/auth-headers.interceptor.js +32 -0
  14. package/esm2015/lib/kendo.module.js +44 -24
  15. package/esm2015/lib/models/AuthProviders.js +6 -0
  16. package/esm2015/lib/models/AzureB2CSettings.js +2 -0
  17. package/esm2015/lib/models/SystemInfo.js +2 -0
  18. package/esm2015/lib/services/IEntityService.js +1 -1
  19. package/esm2015/lib/services/account.service.js +12 -96
  20. package/esm2015/lib/services/auth-provider.resolver.js +48 -0
  21. package/esm2015/lib/services/auth.providers/AuthProvider.js +3 -0
  22. package/esm2015/lib/services/auth.providers/azureb2c.provider.js +44 -0
  23. package/esm2015/lib/services/auth.providers/oauth.provider.js +40 -0
  24. package/esm2015/lib/services/base.account.service.js +88 -0
  25. package/esm2015/lib/services/entity.service.js +1 -1
  26. package/esm2015/lib/services/permissions.service.js +21 -20
  27. package/esm2015/lib/services/signalr/signalr.service.js +3 -2
  28. package/esm2015/lib/widgets/entity-edit/entity-edit-form.component.js +20 -12
  29. package/esm2015/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.js +4 -4
  30. package/esm2015/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.js +4 -7
  31. package/esm2015/lib/widgets/entity-list/entity-list.component.js +10 -13
  32. package/esm2015/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.js +8 -10
  33. package/esm2015/public-api.js +51 -44
  34. package/fesm2015/indigina-kendo.js +2511 -2273
  35. package/fesm2015/indigina-kendo.js.map +1 -1
  36. package/indigina-kendo.d.ts +2 -1
  37. package/indigina-kendo.metadata.json +1 -1
  38. package/lib/angular/indigina.module.d.ts +1 -1
  39. package/lib/angular/models/AppSettings.d.ts +6 -0
  40. package/lib/angular/services/http.service.d.ts +2 -2
  41. package/lib/angular/services/settings.service.d.ts +2 -0
  42. package/lib/components/azure-login-callback/azure-login-callback.component.d.ts +11 -0
  43. package/lib/config/msal-instance.factory.d.ts +3 -0
  44. package/lib/interceptors/auth-headers.interceptor.d.ts +8 -0
  45. package/lib/models/AuthProviders.d.ts +4 -0
  46. package/lib/models/AzureB2CSettings.d.ts +5 -0
  47. package/lib/models/SystemInfo.d.ts +3 -0
  48. package/lib/services/IEntityService.d.ts +3 -3
  49. package/lib/services/account.service.d.ts +7 -14
  50. package/lib/services/auth-provider.resolver.d.ts +12 -0
  51. package/lib/services/auth.providers/AuthProvider.d.ts +8 -0
  52. package/lib/services/auth.providers/azureb2c.provider.d.ts +14 -0
  53. package/lib/services/auth.providers/oauth.provider.d.ts +15 -0
  54. package/lib/services/base.account.service.d.ts +19 -0
  55. package/lib/services/entity.service.d.ts +3 -3
  56. package/lib/services/permissions.service.d.ts +3 -3
  57. package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +1 -1
  58. package/lib/widgets/entity-list/entity-list.component.d.ts +3 -2
  59. package/package.json +1 -1
  60. package/public-api.d.ts +67 -58
@@ -1,116 +1,32 @@
1
- import { __awaiter } from "tslib";
2
1
  import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { OAuthService } from 'angular-oauth2-oidc';
5
- import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
6
- import { endpoints } from './endpoints';
7
- import { MemberTypes } from '../models/MemberTypes';
8
2
  import { HttpService } from '../angular/services/http.service';
9
3
  import { SettingsService } from '../angular/services/settings.service';
4
+ import { AuthProviderResolver } from './auth-provider.resolver';
5
+ import { BaseAccountService } from './base.account.service';
10
6
  import { SignalRService } from './signalr/signalr.service';
11
- import { EventNames } from './signalr/EventNames';
12
- import { Mutex } from 'async-mutex';
13
7
  import * as i0 from "@angular/core";
14
- import * as i1 from "angular-oauth2-oidc";
8
+ import * as i1 from "./auth-provider.resolver";
15
9
  import * as i2 from "../angular/services/http.service";
16
10
  import * as i3 from "../angular/services/settings.service";
17
11
  import * as i4 from "./signalr/signalr.service";
18
- const adminUriPart = '/admin/';
19
- const homePath = '/home';
20
- const mutex = new Mutex();
21
- export class AccountService {
22
- constructor(oauthService, httpService, settingsService, signalRService) {
23
- this.oauthService = oauthService;
24
- this.httpService = httpService;
25
- this.settingsService = settingsService;
26
- this.signalRService = signalRService;
27
- this.user = new BehaviorSubject(null);
28
- this.httpService
29
- .get(endpoints.oidc.config)
30
- .then((oidcResponse) => {
31
- const authConfig = {
32
- issuer: oidcResponse.issuer,
33
- redirectUri: window.location.origin + '/login/callback',
34
- clientId: oidcResponse.clientId,
35
- scope: 'openid profile offline_access',
36
- postLogoutRedirectUri: window.location.origin + homePath,
37
- silentRefreshRedirectUri: window.location.origin + '/silent-renew.html',
38
- };
39
- this.configure(authConfig);
40
- this.signalRService
41
- .on(EventNames.UserUpdated)
42
- .subscribe(() => __awaiter(this, void 0, void 0, function* () {
43
- this.signalRService.reconnect(this.oauthService.getAccessToken());
44
- this.user.next(yield this.httpService.get(endpoints.members.me));
45
- }));
46
- });
47
- }
48
- login() {
49
- this.oauthService.initLoginFlow();
50
- }
51
- logout() {
52
- this.settingsService.clearLoginAsUser();
53
- this.oauthService.logOut();
54
- }
55
- getCurrentUser() {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- if (this.user.getValue() || !this.oauthService.hasValidAccessToken()) {
58
- return this.user.getValue();
59
- }
60
- const release = yield mutex.acquire();
61
- try {
62
- if (this.user.getValue() || !this.oauthService.hasValidAccessToken()) {
63
- return this.user.getValue();
64
- }
65
- return yield this.httpService.get(endpoints.members.me);
66
- }
67
- finally {
68
- release();
69
- }
70
- });
71
- }
72
- configure(authConfig) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- this.oauthService.configure(authConfig);
75
- this.oauthService.tokenValidationHandler = new JwksValidationHandler();
76
- this.oauthService.setupAutomaticSilentRefresh();
77
- yield this.oauthService.loadDiscoveryDocument(authConfig.issuer + '/identity/.well-known/openid-configuration');
78
- this.oauthService.tryLoginImplicitFlow().then(() => __awaiter(this, void 0, void 0, function* () {
79
- if (!this.oauthService.hasValidAccessToken()) {
80
- return;
81
- }
82
- const user = yield this.getCurrentUser();
83
- if (!user) {
84
- return;
85
- }
86
- const path = this.settingsService.getCallbackPath();
87
- if (path) {
88
- this.settingsService.clearCallbackPath();
89
- window.location.href = window.location.origin + path;
90
- return;
91
- }
92
- if (user.type === MemberTypes.Admin &&
93
- !window.location.pathname.startsWith(adminUriPart)) {
94
- window.location.href = `${window.location.origin}${adminUriPart}`;
95
- return;
96
- }
97
- this.user.next(user);
98
- const token = this.oauthService.getAccessToken();
99
- this.signalRService.startConnection(token);
100
- }));
101
- });
12
+ const adminKey = 'Admin';
13
+ export class AccountService extends BaseAccountService {
14
+ constructor(resolver, httpService, settingsService, signalRService) {
15
+ super(resolver, httpService, settingsService, signalRService);
16
+ this.resolver = resolver;
17
+ this.isAdmin = (member) => { var _a; return (_a = (member === null || member === void 0 ? void 0 : member.type) === adminKey) !== null && _a !== void 0 ? _a : false; };
102
18
  }
103
19
  }
104
- AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(i1.OAuthService), i0.ɵɵinject(i2.HttpService), i0.ɵɵinject(i3.SettingsService), i0.ɵɵinject(i4.SignalRService)); }, token: AccountService, providedIn: "root" });
20
+ AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(i1.AuthProviderResolver), i0.ɵɵinject(i2.HttpService), i0.ɵɵinject(i3.SettingsService), i0.ɵɵinject(i4.SignalRService)); }, token: AccountService, providedIn: "root" });
105
21
  AccountService.decorators = [
106
22
  { type: Injectable, args: [{
107
23
  providedIn: 'root',
108
24
  },] }
109
25
  ];
110
26
  AccountService.ctorParameters = () => [
111
- { type: OAuthService },
27
+ { type: AuthProviderResolver },
112
28
  { type: HttpService },
113
29
  { type: SettingsService },
114
30
  { type: SignalRService }
115
31
  ];
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQUVwQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFLMUIsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFDUyxZQUEwQixFQUN6QixXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxjQUE4QjtRQUgvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJB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b250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBPaWRjU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMvT2lkY1NldHRpbmdzJztcbmltcG9ydCB7IEp3a3NWYWxpZGF0aW9uSGFuZGxlciB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMtandrcyc7XG5pbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5pbXBvcnQgeyBNZW1iZXIgfSBmcm9tICcuLi9tb2RlbHMvTWVtYmVyJztcbmltcG9ydCB7IE1lbWJlclR5cGVzIH0gZnJvbSAnLi4vbW9kZWxzL01lbWJlclR5cGVzJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi9zaWduYWxyL3NpZ25hbHIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudE5hbWVzIH0gZnJvbSAnLi9zaWduYWxyL0V2ZW50TmFtZXMnO1xuaW1wb3J0IHsgTXV0ZXggfSBmcm9tICdhc3luYy1tdXRleCc7XG5cbmNvbnN0IGFkbWluVXJpUGFydCA9ICcvYWRtaW4vJztcbmNvbnN0IGhvbWVQYXRoID0gJy9ob21lJztcbmNvbnN0IG11dGV4ID0gbmV3IE11dGV4KCk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSB7XG4gIHB1YmxpYyB1c2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW1iZXI+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbmFsUlNlcnZpY2U6IFNpZ25hbFJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5nZXQ8T2lkY1NldHRpbmdzPihlbmRwb2ludHMub2lkYy5jb25maWcpXG4gICAgICAudGhlbigob2lkY1Jlc3BvbnNlOiBPaWRjU2V0dGluZ3MpID0+IHtcbiAgICAgICAgY29uc3QgYXV0aENvbmZpZzogQXV0aENvbmZpZyA9IHtcbiAgICAgICAgICBpc3N1ZXI6IG9pZGNSZXNwb25zZS5pc3N1ZXIsXG4gICAgICAgICAgcmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL2xvZ2luL2NhbGxiYWNrJyxcbiAgICAgICAgICBjbGllbnRJZDogb2lkY1Jlc3BvbnNlLmNsaWVudElkLFxuICAgICAgICAgIHNjb3BlOiAnb3BlbmlkIHByb2ZpbGUgb2ZmbGluZV9hY2Nlc3MnLFxuICAgICAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIGhvbWVQYXRoLFxuICAgICAgICAgIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaTpcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL3NpbGVudC1yZW5ldy5odG1sJyxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmNvbmZpZ3VyZShhdXRoQ29uZmlnKTtcbiAgICAgICAgdGhpcy5zaWduYWxSU2VydmljZVxuICAgICAgICAgIC5vbjxNZW1iZXI+KEV2ZW50TmFtZXMuVXNlclVwZGF0ZWQpXG4gICAgICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlLnJlY29ubmVjdCh0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpKTtcbiAgICAgICAgICAgIHRoaXMudXNlci5uZXh0KFxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLmh0dHBTZXJ2aWNlLmdldDxNZW1iZXI+KGVuZHBvaW50cy5tZW1iZXJzLm1lKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbG9naW4oKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuaW5pdExvZ2luRmxvdygpO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmNsZWFyTG9naW5Bc1VzZXIoKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2dPdXQoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEN1cnJlbnRVc2VyKCk6IFByb21pc2U8TWVtYmVyPiB7XG4gICAgaWYgKHRoaXMudXNlci5nZXRWYWx1ZSgpIHx8ICF0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnVzZXIuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgbXV0ZXguYWNxdWlyZSgpO1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy51c2VyLmdldFZhbHVlKCkgfHwgIXRoaXMub2F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSkge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyLmdldFZhbHVlKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBTZXJ2aWNlLmdldDxNZW1iZXI+KGVuZHBvaW50cy5tZW1iZXJzLm1lKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgcmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uZmlndXJlKGF1dGhDb25maWc6IEF1dGhDb25maWcpIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoYXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UudG9rZW5WYWxpZGF0aW9uSGFuZGxlciA9IG5ldyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIoKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcbiAgICBhd2FpdCB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoXG4gICAgICBhdXRoQ29uZmlnLmlzc3VlciArICcvaWRlbnRpdHkvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nXG4gICAgKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS50cnlMb2dpbkltcGxpY2l0RmxvdygpLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRDdXJyZW50VXNlcigpO1xuICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGF0aCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmdldENhbGxiYWNrUGF0aCgpO1xuICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UuY2xlYXJDYWxsYmFja1BhdGgoKTtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgcGF0aDtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgdXNlci50eXBlID09PSBNZW1iZXJUeXBlcy5BZG1pbiAmJlxuICAgICAgICAhd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnN0YXJ0c1dpdGgoYWRtaW5VcmlQYXJ0KVxuICAgICAgKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0ke2FkbWluVXJpUGFydH1gO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51c2VyLm5leHQodXNlcik7XG4gICAgICBjb25zdCB0b2tlbiA9IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlLnN0YXJ0Q29ubmVjdGlvbih0b2tlbik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBRTNELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQztBQUt6QixNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUEwQjtJQUM1RCxZQUNTLFFBQThCLEVBQ3JDLFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2hDLGNBQThCO1FBRTlCLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUx2RCxhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQVFoQyxZQUFPLEdBQUcsQ0FBQyxNQUFjLEVBQVcsRUFBRSx3QkFDM0MsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxNQUFLLFFBQVEsbUNBQUksS0FBSyxHQUFBLENBQUM7SUFIckMsQ0FBQzs7OztZQVhGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUlEsb0JBQW9CO1lBSHBCLFdBQVc7WUFDWCxlQUFlO1lBSWYsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IE1lbWJlciB9IGZyb20gJy4uL21vZGVscy9NZW1iZXInO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyUmVzb2x2ZXIgfSBmcm9tICcuL2F1dGgtcHJvdmlkZXIucmVzb2x2ZXInO1xuaW1wb3J0IHsgQmFzZUFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLmFjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBTaWduYWxSU2VydmljZSB9IGZyb20gJy4vc2lnbmFsci9zaWduYWxyLnNlcnZpY2UnO1xuXG5jb25zdCBhZG1pbktleSA9ICdBZG1pbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSBleHRlbmRzIEJhc2VBY2NvdW50U2VydmljZTxNZW1iZXI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlc29sdmVyOiBBdXRoUHJvdmlkZXJSZXNvbHZlcixcbiAgICBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgc2lnbmFsUlNlcnZpY2U6IFNpZ25hbFJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHJlc29sdmVyLCBodHRwU2VydmljZSwgc2V0dGluZ3NTZXJ2aWNlLCBzaWduYWxSU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgaXNBZG1pbiA9IChtZW1iZXI6IE1lbWJlcik6IGJvb2xlYW4gPT5cbiAgICBtZW1iZXI/LnR5cGUgPT09IGFkbWluS2V5ID8/IGZhbHNlO1xufVxuIl19
@@ -0,0 +1,48 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MsalService } from '@azure/msal-angular';
3
+ import { OAuthService } from 'angular-oauth2-oidc';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { filter } from 'rxjs/operators';
6
+ import { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';
7
+ import { HttpService } from '../angular/services/http.service';
8
+ import { SettingsService } from '../angular/services/settings.service';
9
+ import { AuthProviders } from '../models/AuthProviders';
10
+ import { AzureB2CProvider } from './../services/auth.providers/azureb2c.provider';
11
+ import { OAuthProvider } from './../services/auth.providers/oauth.provider';
12
+ import { endpoints } from './endpoints';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../angular/services/http.service";
15
+ import * as i2 from "angular-oauth2-oidc";
16
+ import * as i3 from "@azure/msal-angular";
17
+ import * as i4 from "../angular/services/settings.service";
18
+ import * as i5 from "../angular/models/IndiginaConfiguration";
19
+ export class AuthProviderResolver {
20
+ constructor(httpService, oauthService, msalService, settingsService, indiginaConfiguration) {
21
+ this.AuthProvider$ = new BehaviorSubject(null);
22
+ this.getProvider = () => this.AuthProvider$.pipe(filter((x) => !!x));
23
+ httpService.get(endpoints.system.info).subscribe((info) => {
24
+ let provider;
25
+ if (info.identityProvider === AuthProviders.IdentityServer) {
26
+ provider = new OAuthProvider(oauthService, indiginaConfiguration);
27
+ }
28
+ else {
29
+ provider = new AzureB2CProvider(msalService, settingsService);
30
+ }
31
+ provider.initialize().subscribe(() => this.AuthProvider$.next(provider));
32
+ });
33
+ }
34
+ }
35
+ AuthProviderResolver.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthProviderResolver_Factory() { return new AuthProviderResolver(i0.ɵɵinject(i1.HttpService), i0.ɵɵinject(i2.OAuthService), i0.ɵɵinject(i3.MsalService), i0.ɵɵinject(i4.SettingsService), i0.ɵɵinject(i5.IndiginaConfiguration)); }, token: AuthProviderResolver, providedIn: "root" });
36
+ AuthProviderResolver.decorators = [
37
+ { type: Injectable, args: [{
38
+ providedIn: 'root',
39
+ },] }
40
+ ];
41
+ AuthProviderResolver.ctorParameters = () => [
42
+ { type: HttpService },
43
+ { type: OAuthService },
44
+ { type: MsalService },
45
+ { type: SettingsService },
46
+ { type: IndiginaConfiguration }
47
+ ];
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1wcm92aWRlci5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvc2VydmljZXMvYXV0aC1wcm92aWRlci5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFLeEMsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNFLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2hDLHFCQUE0QztRQVB0QyxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFlLElBQUksQ0FBQyxDQUFDO1FBcUJ6RCxnQkFBVyxHQUFHLEdBQTZCLEVBQUUsQ0FDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQWI1QyxXQUFXLENBQUMsR0FBRyxDQUFhLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEUsSUFBSSxRQUFzQixDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLGFBQWEsQ0FBQyxjQUFjLEVBQUU7Z0JBQzFELFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQzthQUNuRTtpQkFBTTtnQkFDTCxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7YUFDL0Q7WUFFRCxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBdkJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBWFEsV0FBVztZQUpYLFlBQVk7WUFEWixXQUFXO1lBTVgsZUFBZTtZQUZmLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1zYWxTZXJ2aWNlIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5kaWdpbmFDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vYW5ndWxhci9tb2RlbHMvSW5kaWdpbmFDb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhQcm92aWRlcnMgfSBmcm9tICcuLi9tb2RlbHMvQXV0aFByb3ZpZGVycyc7XG5pbXBvcnQgeyBTeXN0ZW1JbmZvIH0gZnJvbSAnLi4vbW9kZWxzL1N5c3RlbUluZm8nO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aC5wcm92aWRlcnMvQXV0aFByb3ZpZGVyJztcbmltcG9ydCB7IEF6dXJlQjJDUHJvdmlkZXIgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL2F6dXJlYjJjLnByb3ZpZGVyJztcbmltcG9ydCB7IE9BdXRoUHJvdmlkZXIgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL29hdXRoLnByb3ZpZGVyJztcbmltcG9ydCB7IGVuZHBvaW50cyB9IGZyb20gJy4vZW5kcG9pbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhQcm92aWRlclJlc29sdmVyIHtcbiAgcHJpdmF0ZSBBdXRoUHJvdmlkZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoUHJvdmlkZXI+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcbiAgICBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBtc2FsU2VydmljZTogTXNhbFNlcnZpY2UsXG4gICAgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgaW5kaWdpbmFDb25maWd1cmF0aW9uOiBJbmRpZ2luYUNvbmZpZ3VyYXRpb25cbiAgKSB7XG4gICAgaHR0cFNlcnZpY2UuZ2V0PFN5c3RlbUluZm8+KGVuZHBvaW50cy5zeXN0ZW0uaW5mbykuc3Vic2NyaWJlKChpbmZvKSA9PiB7XG4gICAgICBsZXQgcHJvdmlkZXI6IEF1dGhQcm92aWRlcjtcbiAgICAgIGlmIChpbmZvLmlkZW50aXR5UHJvdmlkZXIgPT09IEF1dGhQcm92aWRlcnMuSWRlbnRpdHlTZXJ2ZXIpIHtcbiAgICAgICAgcHJvdmlkZXIgPSBuZXcgT0F1dGhQcm92aWRlcihvYXV0aFNlcnZpY2UsIGluZGlnaW5hQ29uZmlndXJhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm92aWRlciA9IG5ldyBBenVyZUIyQ1Byb3ZpZGVyKG1zYWxTZXJ2aWNlLCBzZXR0aW5nc1NlcnZpY2UpO1xuICAgICAgfVxuXG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuQXV0aFByb3ZpZGVyJC5uZXh0KHByb3ZpZGVyKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvdmlkZXIgPSAoKTogT2JzZXJ2YWJsZTxBdXRoUHJvdmlkZXI+ID0+XG4gICAgdGhpcy5BdXRoUHJvdmlkZXIkLnBpcGUoZmlsdGVyKCh4KSA9PiAhIXgpKTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class AuthProvider {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoLnByb3ZpZGVycy9BdXRoUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFnQixZQUFZO0NBTWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0aFByb3ZpZGVyIHtcbiAgcHVibGljIGFic3RyYWN0IGluaXRpYWxpemUoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGFic3RyYWN0IGxvZ2luKCk7XG4gIHB1YmxpYyBhYnN0cmFjdCBsb2dvdXQoKTtcbiAgcHVibGljIGFic3RyYWN0IGlzVXNlckxvZ2dlZEluKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZz47XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { __awaiter } from "tslib";
2
+ import { InteractionRequiredAuthError } from '@azure/msal-browser';
3
+ import { from, of } from 'rxjs';
4
+ import { AuthProvider } from './AuthProvider';
5
+ export class AzureB2CProvider extends AuthProvider {
6
+ constructor(authService, settingsService) {
7
+ super();
8
+ this.authService = authService;
9
+ this.settingsService = settingsService;
10
+ this.isUserLoggedIn = () => { var _a; return !!((_a = this.authService.instance.getActiveAccount()) === null || _a === void 0 ? void 0 : _a.localAccountId); };
11
+ }
12
+ initialize() {
13
+ return of(true);
14
+ }
15
+ login() {
16
+ if (!this.isUserLoggedIn()) {
17
+ this.authService.loginRedirect().subscribe();
18
+ }
19
+ }
20
+ logout() {
21
+ this.authService.logoutRedirect({
22
+ postLogoutRedirectUri: location.origin,
23
+ });
24
+ }
25
+ getAccessToken() {
26
+ const request = {
27
+ scopes: ['openid', 'offline_access', 'profile'],
28
+ };
29
+ return from(this.authService.instance
30
+ .acquireTokenSilent(request)
31
+ .then((authenticationResult) => {
32
+ const token = authenticationResult.idToken;
33
+ this.settingsService.setToken(token);
34
+ return token;
35
+ })
36
+ .catch((error) => __awaiter(this, void 0, void 0, function* () {
37
+ if (error instanceof InteractionRequiredAuthError) {
38
+ yield this.authService.instance.acquireTokenRedirect(request);
39
+ return this.settingsService.getToken();
40
+ }
41
+ })));
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp1cmViMmMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL2F6dXJlYjJjLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFDaEQsWUFDVSxXQUF3QixFQUN4QixlQUFnQztRQUV4QyxLQUFLLEVBQUUsQ0FBQztRQUhBLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQTZDbkMsbUJBQWMsR0FBRyxHQUFZLEVBQUUsV0FDcEMsT0FBQSxDQUFDLFFBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsMENBQUUsY0FBYyxDQUFBLENBQUEsRUFBQSxDQUFDO0lBM0NqRSxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUM5QixxQkFBcUIsRUFBRSxRQUFRLENBQUMsTUFBTTtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLE9BQU8sR0FBRztZQUNkLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUM7U0FDaEQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTthQUN0QixrQkFBa0IsQ0FBQyxPQUFPLENBQUM7YUFDM0IsSUFBSSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtZQUM3QixNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7WUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBTyxLQUFLLEVBQUUsRUFBRTtZQUNyQixJQUFJLEtBQUssWUFBWSw0QkFBNEIsRUFBRTtnQkFDakQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFOUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztDQUlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcbmltcG9ydCB7IEludGVyYWN0aW9uUmVxdWlyZWRBdXRoRXJyb3IgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hbmd1bGFyL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9BdXRoUHJvdmlkZXInO1xuXG5leHBvcnQgY2xhc3MgQXp1cmVCMkNQcm92aWRlciBleHRlbmRzIEF1dGhQcm92aWRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IE1zYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbigpIHtcbiAgICBpZiAoIXRoaXMuaXNVc2VyTG9nZ2VkSW4oKSkge1xuICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dpblJlZGlyZWN0KCkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dFJlZGlyZWN0KHtcbiAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogbG9jYXRpb24ub3JpZ2luLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIHNjb3BlczogWydvcGVuaWQnLCAnb2ZmbGluZV9hY2Nlc3MnLCAncHJvZmlsZSddLFxuICAgIH07XG5cbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuaW5zdGFuY2VcbiAgICAgICAgLmFjcXVpcmVUb2tlblNpbGVudChyZXF1ZXN0KVxuICAgICAgICAudGhlbigoYXV0aGVudGljYXRpb25SZXN1bHQpID0+IHtcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IGF1dGhlbnRpY2F0aW9uUmVzdWx0LmlkVG9rZW47XG4gICAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0VG9rZW4odG9rZW4pO1xuXG4gICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goYXN5bmMgKGVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS5pbnN0YW5jZS5hY3F1aXJlVG9rZW5SZWRpcmVjdChyZXF1ZXN0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaXNVc2VyTG9nZ2VkSW4gPSAoKTogYm9vbGVhbiA9PlxuICAgICEhdGhpcy5hdXRoU2VydmljZS5pbnN0YW5jZS5nZXRBY3RpdmVBY2NvdW50KCk/LmxvY2FsQWNjb3VudElkO1xufVxuIl19
@@ -0,0 +1,40 @@
1
+ import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
2
+ import { from, of } from 'rxjs';
3
+ import { mergeMap } from 'rxjs/operators';
4
+ import { AuthProvider } from './AuthProvider';
5
+ const homePath = '/home';
6
+ export class OAuthProvider extends AuthProvider {
7
+ constructor(oauthService, configuration) {
8
+ super();
9
+ this.oauthService = oauthService;
10
+ this.configuration = configuration;
11
+ this.isUserLoggedIn = () => this.oauthService.hasValidAccessToken();
12
+ }
13
+ initialize() {
14
+ const authConfig = {
15
+ issuer: this.configuration.appSettings.oidc.issuer,
16
+ redirectUri: window.location.origin + '/login/callback',
17
+ clientId: this.configuration.appSettings.oidc.clientId,
18
+ scope: 'openid profile offline_access',
19
+ postLogoutRedirectUri: window.location.origin + homePath,
20
+ silentRefreshRedirectUri: window.location.origin + '/silent-renew.html',
21
+ };
22
+ return this.configure(authConfig);
23
+ }
24
+ login() {
25
+ this.oauthService.initLoginFlow();
26
+ }
27
+ logout() {
28
+ this.oauthService.logOut();
29
+ }
30
+ getAccessToken() {
31
+ return of(this.oauthService.getAccessToken());
32
+ }
33
+ configure(authConfig) {
34
+ this.oauthService.configure(authConfig);
35
+ this.oauthService.tokenValidationHandler = new JwksValidationHandler();
36
+ this.oauthService.setupAutomaticSilentRefresh();
37
+ return from(this.oauthService.loadDiscoveryDocument(authConfig.issuer + '/identity/.well-known/openid-configuration')).pipe(mergeMap(() => from(this.oauthService.tryLoginImplicitFlow())));
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL29hdXRoLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRXpCLE1BQU0sT0FBTyxhQUFjLFNBQVEsWUFBWTtJQUM3QyxZQUNVLFlBQTBCLEVBQzFCLGFBQW9DO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSEEsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBOEJ2QyxtQkFBYyxHQUFHLEdBQVksRUFBRSxDQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUE1QjFDLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxVQUFVLEdBQWU7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ2xELFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxpQkFBaUI7WUFDdkQsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ3RELEtBQUssRUFBRSwrQkFBK0I7WUFDdEMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUTtZQUN4RCx3QkFBd0IsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxvQkFBb0I7U0FDeEUsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBS08sU0FBUyxDQUFDLFVBQXNCO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUNyQyxVQUFVLENBQUMsTUFBTSxHQUFHLDRDQUE0QyxDQUNqRSxDQUNGLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhDb25maWcsIE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgSndrc1ZhbGlkYXRpb25IYW5kbGVyIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYy1qd2tzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluZGlnaW5hQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0luZGlnaW5hQ29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuL0F1dGhQcm92aWRlcic7XG5cbmNvbnN0IGhvbWVQYXRoID0gJy9ob21lJztcblxuZXhwb3J0IGNsYXNzIE9BdXRoUHJvdmlkZXIgZXh0ZW5kcyBBdXRoUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogSW5kaWdpbmFDb25maWd1cmF0aW9uXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnID0ge1xuICAgICAgaXNzdWVyOiB0aGlzLmNvbmZpZ3VyYXRpb24uYXBwU2V0dGluZ3Mub2lkYy5pc3N1ZXIsXG4gICAgICByZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvbG9naW4vY2FsbGJhY2snLFxuICAgICAgY2xpZW50SWQ6IHRoaXMuY29uZmlndXJhdGlvbi5hcHBTZXR0aW5ncy5vaWRjLmNsaWVudElkLFxuICAgICAgc2NvcGU6ICdvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcycsXG4gICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBob21lUGF0aCxcbiAgICAgIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvc2lsZW50LXJlbmV3Lmh0bWwnLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmUoYXV0aENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgbG9naW4oKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuaW5pdExvZ2luRmxvdygpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2dPdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBvZih0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1VzZXJMb2dnZWRJbiA9ICgpOiBib29sZWFuID0+XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpO1xuXG4gIHByaXZhdGUgY29uZmlndXJlKGF1dGhDb25maWc6IEF1dGhDb25maWcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoYXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UudG9rZW5WYWxpZGF0aW9uSGFuZGxlciA9IG5ldyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIoKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcblxuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KFxuICAgICAgICBhdXRoQ29uZmlnLmlzc3VlciArICcvaWRlbnRpdHkvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nXG4gICAgICApXG4gICAgKS5waXBlKG1lcmdlTWFwKCgpID0+IGZyb20odGhpcy5vYXV0aFNlcnZpY2UudHJ5TG9naW5JbXBsaWNpdEZsb3coKSkpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,88 @@
1
+ import { __awaiter } from "tslib";
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { map, mergeMap } from 'rxjs/operators';
4
+ import { endpoints } from './endpoints';
5
+ import { EventNames } from './signalr/EventNames';
6
+ const adminUriPart = '/admin/';
7
+ export class BaseAccountService {
8
+ constructor(resolver, httpService, settingsService, signalRService) {
9
+ this.resolver = resolver;
10
+ this.httpService = httpService;
11
+ this.settingsService = settingsService;
12
+ this.signalRService = signalRService;
13
+ this.user = new BehaviorSubject(null);
14
+ this.resolver
15
+ .getProvider()
16
+ .pipe(map((provider) => {
17
+ this.initialize(provider);
18
+ }))
19
+ .subscribe();
20
+ }
21
+ login() {
22
+ this.resolver
23
+ .getProvider()
24
+ .pipe(map((provider) => {
25
+ provider.login();
26
+ }))
27
+ .subscribe();
28
+ }
29
+ logout() {
30
+ this.settingsService.clearLoginAsUser();
31
+ this.resolver
32
+ .getProvider()
33
+ .pipe(map((provider) => {
34
+ provider.logout();
35
+ }))
36
+ .subscribe();
37
+ }
38
+ initialize(provider) {
39
+ this.getCurrentUser().subscribe((user) => {
40
+ if (!user) {
41
+ return;
42
+ }
43
+ const path = this.settingsService.getCallbackPath();
44
+ if (path) {
45
+ this.settingsService.clearCallbackPath();
46
+ window.location.href = window.location.origin + path;
47
+ return;
48
+ }
49
+ if (this.isAdmin(user) &&
50
+ !window.location.pathname.startsWith(adminUriPart)) {
51
+ window.location.href = `${window.location.origin}${adminUriPart}`;
52
+ return;
53
+ }
54
+ provider.getAccessToken().subscribe((token) => {
55
+ this.signalRService.startConnection(token);
56
+ this.signalRService
57
+ .on(EventNames.UserUpdated)
58
+ .subscribe(() => __awaiter(this, void 0, void 0, function* () {
59
+ provider.getAccessToken().subscribe((token) => {
60
+ this.signalRService.reconnect(token);
61
+ });
62
+ this.httpService
63
+ .get(endpoints.members.me)
64
+ .subscribe((user) => this.user.next(user));
65
+ }));
66
+ });
67
+ });
68
+ }
69
+ getCurrentUser() {
70
+ return this.resolver.getProvider().pipe(mergeMap((provider) => {
71
+ if (this.user.getValue() || !provider.isUserLoggedIn()) {
72
+ return this.user;
73
+ }
74
+ return provider.getAccessToken().pipe(mergeMap(() => {
75
+ return this.httpService.get(endpoints.members.me).pipe(map((user) => {
76
+ this.user.next(user);
77
+ return user;
78
+ }));
79
+ }));
80
+ }));
81
+ }
82
+ isUserLoggedIn() {
83
+ return this.resolver
84
+ .getProvider()
85
+ .pipe(map((provider) => provider.isUserLoggedIn()));
86
+ }
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2Jhc2UuYWNjb3VudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBRS9CLE1BQU0sT0FBZ0Isa0JBQWtCO0lBR3RDLFlBQ1MsUUFBOEIsRUFDM0IsV0FBd0IsRUFDeEIsZUFBZ0MsRUFDaEMsY0FBOEI7UUFIakMsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5uQyxTQUFJLEdBQUcsSUFBSSxlQUFlLENBQUksSUFBSSxDQUFDLENBQUM7UUFRekMsSUFBSSxDQUFDLFFBQVE7YUFDVixXQUFXLEVBQUU7YUFDYixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUTthQUNWLFdBQVcsRUFBRTthQUNiLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLFFBQVEsQ0FBQyxLQUFLLEVBQUUs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QUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUVyQixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLFdBQVcsRUFBRTthQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyUmVzb2x2ZXIgfSBmcm9tICcuL2F1dGgtcHJvdmlkZXIucmVzb2x2ZXInO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9hdXRoLnByb3ZpZGVycy9BdXRoUHJvdmlkZXInO1xuaW1wb3J0IHsgZW5kcG9pbnRzIH0gZnJvbSAnLi9lbmRwb2ludHMnO1xuaW1wb3J0IHsgRXZlbnROYW1lcyB9IGZyb20gJy4vc2lnbmFsci9FdmVudE5hbWVzJztcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi9zaWduYWxyL3NpZ25hbHIuc2VydmljZSc7XG5cbmNvbnN0IGFkbWluVXJpUGFydCA9ICcvYWRtaW4vJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VBY2NvdW50U2VydmljZTxUPiB7XG4gIHB1YmxpYyB1c2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVzb2x2ZXI6IEF1dGhQcm92aWRlclJlc29sdmVyLFxuICAgIHByb3RlY3RlZCBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzaWduYWxSU2VydmljZTogU2lnbmFsUlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yZXNvbHZlclxuICAgICAgLmdldFByb3ZpZGVyKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb3ZpZGVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplKHByb3ZpZGVyKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGxvZ2luKCkge1xuICAgIHRoaXMucmVzb2x2ZXJcbiAgICAgIC5nZXRQcm92aWRlcigpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm92aWRlcikgPT4ge1xuICAgICAgICAgIHByb3ZpZGVyLmxvZ2luKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBsb2dvdXQoKSB7XG4gICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UuY2xlYXJMb2dpbkFzVXNlcigpO1xuICAgIHRoaXMucmVzb2x2ZXJcbiAgICAgIC5nZXRQcm92aWRlcigpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm92aWRlcikgPT4ge1xuICAgICAgICAgIHByb3ZpZGVyLmxvZ291dCgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplKHByb3ZpZGVyOiBBdXRoUHJvdmlkZXIpIHtcbiAgICB0aGlzLmdldEN1cnJlbnRVc2VyKCkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXRoID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuZ2V0Q2FsbGJhY2tQYXRoKCk7XG4gICAgICBpZiAocGF0aCkge1xuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5jbGVhckNhbGxiYWNrUGF0aCgpO1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBwYXRoO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmlzQWRtaW4odXNlcikgJiZcbiAgICAgICAgIXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGFkbWluVXJpUGFydClcbiAgICAgICkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59JHthZG1pblVyaVBhcnR9YDtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHByb3ZpZGVyLmdldEFjY2Vzc1Rva2VuKCkuc3Vic2NyaWJlKCh0b2tlbikgPT4ge1xuICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlLnN0YXJ0Q29ubmVjdGlvbih0b2tlbik7XG4gICAgICAgIHRoaXMuc2lnbmFsUlNlcnZpY2VcbiAgICAgICAgICAub248VD4oRXZlbnROYW1lcy5Vc2VyVXBkYXRlZClcbiAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHByb3ZpZGVyLmdldEFjY2Vzc1Rva2VuKCkuc3Vic2NyaWJlKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlLnJlY29ubmVjdCh0b2tlbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgICAgICAgICAgLmdldDxUPihlbmRwb2ludHMubWVtYmVycy5tZSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4gdGhpcy51c2VyLm5leHQodXNlcikpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRDdXJyZW50VXNlcigpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlci5nZXRQcm92aWRlcigpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgocHJvdmlkZXIpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudXNlci5nZXRWYWx1ZSgpIHx8ICFwcm92aWRlci5pc1VzZXJMb2dnZWRJbigpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudXNlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcm92aWRlci5nZXRBY2Nlc3NUb2tlbigpLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KGVuZHBvaW50cy5tZW1iZXJzLm1lKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHVzZXI6IFQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIubmV4dCh1c2VyKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzVXNlckxvZ2dlZEluKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVyXG4gICAgICAuZ2V0UHJvdmlkZXIoKVxuICAgICAgLnBpcGUobWFwKChwcm92aWRlcikgPT4gcHJvdmlkZXIuaXNVc2VyTG9nZ2VkSW4oKSkpO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGlzQWRtaW4obWVtYmVyOiBUKTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -19,4 +19,4 @@ export class EntityService {
19
19
  return this.httpService.post(this.endpoints.path, model);
20
20
  }
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2VudGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBZ0IsYUFBYTtJQUdqQyxZQUNZLFdBQXdCLEVBQ3hCLFNBQTJCO1FBRDNCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ3BDLENBQUM7SUFFSixPQUFPLENBQUMsS0FBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVE7UUFDWCxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6RTtRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuL0lFbnRpdHlTZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi9tb2RlbHMvUGFnZSc7XG5pbXBvcnQgeyBJRW50aXR5RW5kcG9pbnRzIH0gZnJvbSAnLi9JRW50aXR5RW5kcG9pbnRzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnkvZGlzdC9ucG0vc3RhdGUnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRW50aXR5U2VydmljZTxUIGV4dGVuZHMgSWRlbnRpZmllZE1vZGVsPlxuICBpbXBsZW1lbnRzIElFbnRpdHlTZXJ2aWNlPFQ+XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVuZHBvaW50czogSUVudGl0eUVuZHBvaW50c1xuICApIHt9XG5cbiAgZ2V0UGFnZShzdGF0ZTogU3RhdGUpOiBQcm9taXNlPFBhZ2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQ8UGFnZTxUPj4odGhpcy5lbmRwb2ludHMucXVlcnkoc3RhdGUpKTtcbiAgfVxuXG4gIGdldChpZDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0PFQ+KHRoaXMuZW5kcG9pbnRzLmVudGl0eVBhdGgoaWQpKTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nKTogUHJvbWlzZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUodGhpcy5lbmRwb2ludHMuZW50aXR5UGF0aChpZCkpO1xuICB9XG5cbiAgc2F2ZShtb2RlbDogVCk6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmIChtb2RlbC5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucHV0KHRoaXMuZW5kcG9pbnRzLmVudGl0eVBhdGgobW9kZWwuaWQpLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh0aGlzLmVuZHBvaW50cy5wYXRoLCBtb2RlbCk7XG4gIH1cbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2VudGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBZ0IsYUFBYTtJQUdqQyxZQUNZLFdBQXdCLEVBQ3hCLFNBQTJCO1FBRDNCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ3BDLENBQUM7SUFFSixPQUFPLENBQUMsS0FBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVE7UUFDWCxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6RTtRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuL0lFbnRpdHlTZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi9tb2RlbHMvUGFnZSc7XG5pbXBvcnQgeyBJRW50aXR5RW5kcG9pbnRzIH0gZnJvbSAnLi9JRW50aXR5RW5kcG9pbnRzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnkvZGlzdC9ucG0vc3RhdGUnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRW50aXR5U2VydmljZTxUIGV4dGVuZHMgSWRlbnRpZmllZE1vZGVsPlxuICBpbXBsZW1lbnRzIElFbnRpdHlTZXJ2aWNlPFQ+XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVuZHBvaW50czogSUVudGl0eUVuZHBvaW50c1xuICApIHt9XG5cbiAgZ2V0UGFnZShzdGF0ZTogU3RhdGUpOiBPYnNlcnZhYmxlPFBhZ2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQ8UGFnZTxUPj4odGhpcy5lbmRwb2ludHMucXVlcnkoc3RhdGUpKTtcbiAgfVxuXG4gIGdldChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0PFQ+KHRoaXMuZW5kcG9pbnRzLmVudGl0eVBhdGgoaWQpKTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUodGhpcy5lbmRwb2ludHMuZW50aXR5UGF0aChpZCkpO1xuICB9XG5cbiAgc2F2ZShtb2RlbDogVCk6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmIChtb2RlbC5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucHV0KHRoaXMuZW5kcG9pbnRzLmVudGl0eVBhdGgobW9kZWwuaWQpLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh0aGlzLmVuZHBvaW50cy5wYXRoLCBtb2RlbCk7XG4gIH1cbn1cbiJdfQ==
@@ -6,6 +6,7 @@ import { BehaviorSubject } from 'rxjs';
6
6
  import { HttpService } from '../angular/services/http.service';
7
7
  import { SignalRService } from './signalr/signalr.service';
8
8
  import { EventNames } from './signalr/EventNames';
9
+ import { map } from 'rxjs/operators';
9
10
  export class PermissionsService {
10
11
  constructor(httpService, accountService, signalRService) {
11
12
  this.httpService = httpService;
@@ -18,33 +19,33 @@ export class PermissionsService {
18
19
  this.mine.next({});
19
20
  return;
20
21
  }
21
- this.mine.next(yield this.httpService.get(endpoints.permissions.mine));
22
- this.loaded = true;
23
- this.signalRService
24
- .on(EventNames.PermissionsUpdated)
25
- .subscribe(() => __awaiter(this, void 0, void 0, function* () {
26
- yield this.getPermissionsFromServer();
27
- }));
22
+ this.httpService
23
+ .get(endpoints.permissions.mine)
24
+ .subscribe((permissions) => {
25
+ this.mine.next(permissions);
26
+ this.loaded = true;
27
+ this.signalRService
28
+ .on(EventNames.PermissionsUpdated)
29
+ .subscribe(() => {
30
+ this.getPermissionsFromServer();
31
+ });
32
+ });
28
33
  }));
29
34
  }
30
35
  getAll(memberType) {
31
36
  return this.httpService.get(endpoints.permissions.all(memberType));
32
37
  }
33
38
  getMine() {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- if (this.loaded) {
36
- return this.mine.getValue();
37
- }
38
- return yield this.getPermissionsFromServer();
39
- });
39
+ if (this.loaded) {
40
+ return this.mine;
41
+ }
42
+ return this.getPermissionsFromServer();
40
43
  }
41
44
  getPermissionsFromServer() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- const current = yield this.httpService.get(endpoints.permissions.mine);
44
- this.mine.next(current);
45
- this.loaded = true;
46
- return current;
47
- });
45
+ return this.httpService.get(endpoints.permissions.mine).pipe(map((permissions) => {
46
+ this.mine.next(permissions);
47
+ return permissions;
48
+ }));
48
49
  }
49
50
  }
50
51
  PermissionsService.decorators = [
@@ -55,4 +56,4 @@ PermissionsService.ctorParameters = () => [
55
56
  { type: AccountService },
56
57
  { type: SignalRService }
57
58
  ];
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvc2VydmljZXMvcGVybWlzc2lvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixjQUE4QjtRQUY5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTmhDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDaEIsU0FBSSxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBT2pELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFPLElBQUksRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRW5CLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNaLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FDcEUsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjO2lCQUNoQixFQUFFLENBQVMsVUFBVSxDQUFDLGtCQUFrQixDQUFDO2lCQUN6QyxTQUFTLENBQUMsR0FBUyxFQUFFO2dCQUNwQixNQUFNLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ3hDLENBQUMsQ0FBQSxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUF1QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUN6QixTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFWSxPQUFPOztZQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzdCO1lBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQy9DLENBQUM7S0FBQTtJQUVhLHdCQUF3Qjs7WUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FDeEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzNCLENBQUM7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUVuQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO0tBQUE7OztZQW5ERixVQUFVOzs7WUFKRixXQUFXO1lBSlgsY0FBYztZQUtkLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4vYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVtYmVyVHlwZXMgfSBmcm9tICcuLi9tb2RlbHMvTWVtYmVyVHlwZXMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuLy4uL21vZGVscy9QZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2FuZ3VsYXIvc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi9zaWduYWxyL3NpZ25hbHIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudE5hbWVzIH0gZnJvbSAnLi9zaWduYWxyL0V2ZW50TmFtZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsb2FkZWQgPSBmYWxzZTtcbiAgcHVibGljIG1pbmUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBlcm1pc3Npb25zPih7fSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaWduYWxSU2VydmljZTogU2lnbmFsUlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hY2NvdW50U2VydmljZS51c2VyLnN1YnNjcmliZShhc3luYyAodXNlcikgPT4ge1xuICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgIHRoaXMubWluZS5uZXh0KHt9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubWluZS5uZXh0KFxuICAgICAgICBhd2FpdCB0aGlzLmh0dHBTZXJ2aWNlLmdldDxQZXJtaXNzaW9ucz4oZW5kcG9pbnRzLnBlcm1pc3Npb25zLm1pbmUpXG4gICAgICApO1xuICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zaWduYWxSU2VydmljZVxuICAgICAgICAub248c3RyaW5nPihFdmVudE5hbWVzLlBlcm1pc3Npb25zVXBkYXRlZClcbiAgICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5nZXRQZXJtaXNzaW9uc0Zyb21TZXJ2ZXIoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsKG1lbWJlclR5cGU6IE1lbWJlclR5cGVzKTogUHJvbWlzZTxQZXJtaXNzaW9ucz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldDxQZXJtaXNzaW9ucz4oXG4gICAgICBlbmRwb2ludHMucGVybWlzc2lvbnMuYWxsKG1lbWJlclR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRNaW5lKCk6IFByb21pc2U8UGVybWlzc2lvbnM+IHtcbiAgICBpZiAodGhpcy5sb2FkZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbmUuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRQZXJtaXNzaW9uc0Zyb21TZXJ2ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UGVybWlzc2lvbnNGcm9tU2VydmVyKCk6IFByb21pc2U8UGVybWlzc2lvbnM+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgdGhpcy5odHRwU2VydmljZS5nZXQ8UGVybWlzc2lvbnM+KFxuICAgICAgZW5kcG9pbnRzLnBlcm1pc3Npb25zLm1pbmVcbiAgICApO1xuICAgIHRoaXMubWluZS5uZXh0KGN1cnJlbnQpO1xuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcblxuICAgIHJldHVybiBjdXJyZW50O1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvc2VydmljZXMvcGVybWlzc2lvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQ1UsV0FBd0IsRUFDeEIsY0FBOEIsRUFDOUIsY0FBOEI7UUFGOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5oQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBRyxJQUFJLGVBQWUsQ0FBYyxFQUFFLENBQUMsQ0FBQztRQU9qRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBTyxJQUFJLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUVuQixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsV0FBVztpQkFDYixHQUFHLENBQWMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7aUJBQzVDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxjQUFjO3FCQUNoQixFQUFFLENBQVMsVUFBVSxDQUFDLGtCQUFrQixDQUFDO3FCQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUNsQyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBdUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FDekIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQjtRQUVELE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFjLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUU1QixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7O1lBckRGLFVBQVU7OztZQUxGLFdBQVc7WUFKWCxjQUFjO1lBS2QsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuZHBvaW50cyB9IGZyb20gJy4vZW5kcG9pbnRzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZW1iZXJUeXBlcyB9IGZyb20gJy4uL21vZGVscy9NZW1iZXJUeXBlcyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9ucyB9IGZyb20gJy4vLi4vbW9kZWxzL1Blcm1pc3Npb25zJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsUlNlcnZpY2UgfSBmcm9tICcuL3NpZ25hbHIvc2lnbmFsci5zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50TmFtZXMgfSBmcm9tICcuL3NpZ25hbHIvRXZlbnROYW1lcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGxvYWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgbWluZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGVybWlzc2lvbnM+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICBwcml2YXRlIHNpZ25hbFJTZXJ2aWNlOiBTaWduYWxSU2VydmljZVxuICApIHtcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLnVzZXIuc3Vic2NyaWJlKGFzeW5jICh1c2VyKSA9PiB7XG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgdGhpcy5taW5lLm5leHQoe30pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5odHRwU2VydmljZVxuICAgICAgICAuZ2V0PFBlcm1pc3Npb25zPihlbmRwb2ludHMucGVybWlzc2lvbnMubWluZSlcbiAgICAgICAgLnN1YnNjcmliZSgocGVybWlzc2lvbnMpID0+IHtcbiAgICAgICAgICB0aGlzLm1pbmUubmV4dChwZXJtaXNzaW9ucyk7XG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuc2lnbmFsUlNlcnZpY2VcbiAgICAgICAgICAgIC5vbjxzdHJpbmc+KEV2ZW50TmFtZXMuUGVybWlzc2lvbnNVcGRhdGVkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnNGcm9tU2VydmVyKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsKG1lbWJlclR5cGU6IE1lbWJlclR5cGVzKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9ucz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldDxQZXJtaXNzaW9ucz4oXG4gICAgICBlbmRwb2ludHMucGVybWlzc2lvbnMuYWxsKG1lbWJlclR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNaW5lKCk6IE9ic2VydmFibGU8UGVybWlzc2lvbnM+IHtcbiAgICBpZiAodGhpcy5sb2FkZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0UGVybWlzc2lvbnNGcm9tU2VydmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBlcm1pc3Npb25zRnJvbVNlcnZlcigpOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25zPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0PFBlcm1pc3Npb25zPihlbmRwb2ludHMucGVybWlzc2lvbnMubWluZSkucGlwZShcbiAgICAgIG1hcCgocGVybWlzc2lvbnMpID0+IHtcbiAgICAgICAgdGhpcy5taW5lLm5leHQocGVybWlzc2lvbnMpO1xuXG4gICAgICAgIHJldHVybiBwZXJtaXNzaW9ucztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -11,13 +11,14 @@ export class SignalRService {
11
11
  this.eventEmitters = {};
12
12
  }
13
13
  createConnection(token) {
14
+ var _a;
14
15
  this.hubConnection = new signalR.HubConnectionBuilder()
15
16
  .withUrl(this.appSettings.apiUrl + endpoints.signalr.eventsHub, {
16
17
  accessTokenFactory: () => {
17
18
  return token;
18
19
  },
19
20
  })
20
- .configureLogging(signalR.LogLevel.Warning)
21
+ .configureLogging((_a = this.appSettings.signalRLogLevel) !== null && _a !== void 0 ? _a : signalR.LogLevel.None)
21
22
  .build();
22
23
  this.hubConnection.onclose((err) => {
23
24
  if (err !== undefined) {
@@ -72,4 +73,4 @@ SignalRService.decorators = [
72
73
  SignalRService.ctorParameters = () => [
73
74
  { type: AppSettings }
74
75
  ];
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9zaWduYWxyL3NpZ25hbHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHekMsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKbEMsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWxDLGtCQUFhLEdBQStDLEVBQUUsQ0FBQztJQUV4QixDQUFDO0lBRXhDLGdCQUFnQixDQUFDLEtBQWE7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTthQUNwRCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDOUQsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO2dCQUN2QixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRixDQUFDO2FBQ0QsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7YUFDMUMsS0FBSyxFQUFFLENBQUM7UUFFWCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUksRUFBRSxFQUFFO1lBQ2xDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztnQkFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhO2lCQUNmLEtBQUssRUFBRTtpQkFDUCxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO29CQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzVDLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO2dCQUNqRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhO1FBQzVCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztnQkFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLEVBQUUsQ0FBSSxTQUFpQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7WUFDdEQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQW9CLENBQUM7SUFDMUQsQ0FBQzs7OztZQWxFRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFIekIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xuaW1wb3J0IHsgQXBwU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9BcHBTZXR0aW5ncyc7XG5pbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuLi9lbmRwb2ludHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNpZ25hbFJTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIGlzQ29ubmVjdGlvbkVzdGFibGlzaGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBodWJDb25uZWN0aW9uOiBzaWduYWxSLkh1YkNvbm5lY3Rpb247XG4gIHByaXZhdGUgZXZlbnRFbWl0dGVyczogeyBbZXZlbnROYW1lOiBzdHJpbmddOiBFdmVudEVtaXR0ZXI8YW55PiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBTZXR0aW5nczogQXBwU2V0dGluZ3MpIHt9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb25uZWN0aW9uKHRva2VuOiBzdHJpbmcpIHtcbiAgICB0aGlzLmh1YkNvbm5lY3Rpb24gPSBuZXcgc2lnbmFsUi5IdWJDb25uZWN0aW9uQnVpbGRlcigpXG4gICAgICAud2l0aFVybCh0aGlzLmFwcFNldHRpbmdzLmFwaVVybCArIGVuZHBvaW50cy5zaWduYWxyLmV2ZW50c0h1Yiwge1xuICAgICAgICBhY2Nlc3NUb2tlbkZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLmNvbmZpZ3VyZUxvZ2dpbmcoc2lnbmFsUi5Mb2dMZXZlbC5XYXJuaW5nKVxuICAgICAgLmJ1aWxkKCk7XG5cbiAgICB0aGlzLmh1YkNvbm5lY3Rpb24ub25jbG9zZSgoZXJyPykgPT4ge1xuICAgICAgaWYgKGVyciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGFydENvbm5lY3Rpb24odG9rZW4pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0Q29ubmVjdGlvbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzQ29ubmVjdGlvbkVzdGFibGlzaGVkKSB7XG4gICAgICB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24odG9rZW4pO1xuICAgICAgdGhpcy5odWJDb25uZWN0aW9uXG4gICAgICAgIC5zdGFydCgpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzQ29ubmVjdGlvbkVzdGFibGlzaGVkID0gdHJ1ZTtcbiAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmV2ZW50RW1pdHRlcnMpLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5odWJDb25uZWN0aW9uLm9uKGV2ZW50TmFtZSwgKG1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZXZlbnRFbWl0dGVyc1tldmVudE5hbWVdLmVtaXQobW9kZWwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGlsZSBlc3RhYmxpc2hpbmcgY29ubmVjdGlvbiwgcmV0cnlpbmcuLi4nKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRva2VuKSwgNTAwMCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWNvbm5lY3QodG9rZW46IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlzQ29ubmVjdGlvbkVzdGFibGlzaGVkKSB7XG4gICAgICB0aGlzLmh1YkNvbm5lY3Rpb24uc3RvcCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQ29ubmVjdGlvbkVzdGFibGlzaGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RhcnRDb25uZWN0aW9uKHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbjxUPihldmVudE5hbWU6IHN0cmluZyk6IEV2ZW50RW1pdHRlcjxUPiB7XG4gICAgaWYgKCF0aGlzLmV2ZW50RW1pdHRlcnNbZXZlbnROYW1lXSkge1xuICAgICAgdGhpcy5ldmVudEVtaXR0ZXJzW2V2ZW50TmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG4gICAgICBpZiAodGhpcy5odWJDb25uZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuaHViQ29ubmVjdGlvbi5vbihldmVudE5hbWUsIChtb2RlbCkgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnRFbWl0dGVyc1tldmVudE5hbWVdLmVtaXQobW9kZWwpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudEVtaXR0ZXJzW2V2ZW50TmFtZV0gYXMgRXZlbnRFbWl0dGVyPFQ+O1xuICB9XG59XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9zaWduYWxyL3NpZ25hbHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHekMsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKbEMsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWxDLGtCQUFhLEdBQStDLEVBQUUsQ0FBQztJQUV4QixDQUFDO0lBRXhDLGdCQUFnQixDQUFDLEtBQWE7O1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsb0JBQW9CLEVBQUU7YUFDcEQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQzlELGtCQUFrQixFQUFFLEdBQUcsRUFBRTtnQkFDdkIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1NBQ0YsQ0FBQzthQUNELGdCQUFnQixPQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxtQ0FBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDMUQ7YUFDQSxLQUFLLEVBQUUsQ0FBQztRQUVYLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUNyQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWE7aUJBQ2YsS0FBSyxFQUFFO2lCQUNQLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztnQkFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7b0JBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO3dCQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDNUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtnQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxDQUFDLENBQUM7Z0JBQ2pFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sRUFBRSxDQUFJLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztZQUN0RCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBb0IsQ0FBQztJQUMxRCxDQUFDOzs7O1lBcEVGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OztZQUh6QixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBzaWduYWxSIGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XG5pbXBvcnQgeyBBcHBTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0FwcFNldHRpbmdzJztcbmltcG9ydCB7IGVuZHBvaW50cyB9IGZyb20gJy4uL2VuZHBvaW50cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2lnbmFsUlNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGh1YkNvbm5lY3Rpb246IHNpZ25hbFIuSHViQ29ubmVjdGlvbjtcbiAgcHJpdmF0ZSBldmVudEVtaXR0ZXJzOiB7IFtldmVudE5hbWU6IHN0cmluZ106IEV2ZW50RW1pdHRlcjxhbnk+IH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFNldHRpbmdzOiBBcHBTZXR0aW5ncykge31cblxuICBwcml2YXRlIGNyZWF0ZUNvbm5lY3Rpb24odG9rZW46IHN0cmluZykge1xuICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcbiAgICAgIC53aXRoVXJsKHRoaXMuYXBwU2V0dGluZ3MuYXBpVXJsICsgZW5kcG9pbnRzLnNpZ25hbHIuZXZlbnRzSHViLCB7XG4gICAgICAgIGFjY2Vzc1Rva2VuRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0b2tlbjtcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAuY29uZmlndXJlTG9nZ2luZyhcbiAgICAgICAgdGhpcy5hcHBTZXR0aW5ncy5zaWduYWxSTG9nTGV2ZWwgPz8gc2lnbmFsUi5Mb2dMZXZlbC5Ob25lXG4gICAgICApXG4gICAgICAuYnVpbGQoKTtcblxuICAgIHRoaXMuaHViQ29ubmVjdGlvbi5vbmNsb3NlKChlcnI/KSA9PiB7XG4gICAgICBpZiAoZXJyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3Rpb25Fc3RhYmxpc2hlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0b2tlbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRDb25uZWN0aW9uKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQ29ubmVjdGlvbih0b2tlbik7XG4gICAgICB0aGlzLmh1YkNvbm5lY3Rpb25cbiAgICAgICAgLnN0YXJ0KClcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQgPSB0cnVlO1xuICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZXZlbnRFbWl0dGVycykuZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh1YkNvbm5lY3Rpb24ub24oZXZlbnROYW1lLCAobW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5ldmVudEVtaXR0ZXJzW2V2ZW50TmFtZV0uZW1pdChtb2RlbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ0Vycm9yIHdoaWxlIGVzdGFibGlzaGluZyBjb25uZWN0aW9uLCByZXRyeWluZy4uLicpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zdGFydENvbm5lY3Rpb24odG9rZW4pLCA1MDAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlY29ubmVjdCh0b2tlbjogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQpIHtcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbi5zdG9wKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGFydENvbm5lY3Rpb24odG9rZW4pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uPFQ+KGV2ZW50TmFtZTogc3RyaW5nKTogRXZlbnRFbWl0dGVyPFQ+IHtcbiAgICBpZiAoIXRoaXMuZXZlbnRFbWl0dGVyc1tldmVudE5hbWVdKSB7XG4gICAgICB0aGlzLmV2ZW50RW1pdHRlcnNbZXZlbnROYW1lXSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgICAgIGlmICh0aGlzLmh1YkNvbm5lY3Rpb24pIHtcbiAgICAgICAgdGhpcy5odWJDb25uZWN0aW9uLm9uKGV2ZW50TmFtZSwgKG1vZGVsKSA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudEVtaXR0ZXJzW2V2ZW50TmFtZV0uZW1pdChtb2RlbCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmV2ZW50RW1pdHRlcnNbZXZlbnROYW1lXSBhcyBFdmVudEVtaXR0ZXI8VD47XG4gIH1cbn1cbiJdfQ==