@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.
- package/README.md +31 -21
- package/bundles/indigina-kendo.umd.js +2831 -2674
- package/bundles/indigina-kendo.umd.js.map +1 -1
- package/bundles/indigina-kendo.umd.min.js +2 -2
- package/bundles/indigina-kendo.umd.min.js.map +1 -1
- package/esm2015/indigina-kendo.js +3 -2
- package/esm2015/lib/angular/indigina.module.js +24 -14
- package/esm2015/lib/angular/models/AppSettings.js +1 -1
- package/esm2015/lib/angular/services/http.service.js +3 -7
- package/esm2015/lib/angular/services/settings.service.js +8 -1
- package/esm2015/lib/components/azure-login-callback/azure-login-callback.component.js +35 -0
- package/esm2015/lib/config/msal-instance.factory.js +27 -0
- package/esm2015/lib/interceptors/auth-headers.interceptor.js +32 -0
- package/esm2015/lib/kendo.module.js +44 -24
- package/esm2015/lib/models/AuthProviders.js +6 -0
- package/esm2015/lib/models/AzureB2CSettings.js +2 -0
- package/esm2015/lib/models/SystemInfo.js +2 -0
- package/esm2015/lib/services/IEntityService.js +1 -1
- package/esm2015/lib/services/account.service.js +12 -96
- package/esm2015/lib/services/auth-provider.resolver.js +48 -0
- package/esm2015/lib/services/auth.providers/AuthProvider.js +3 -0
- package/esm2015/lib/services/auth.providers/azureb2c.provider.js +44 -0
- package/esm2015/lib/services/auth.providers/oauth.provider.js +40 -0
- package/esm2015/lib/services/base.account.service.js +88 -0
- package/esm2015/lib/services/entity.service.js +1 -1
- package/esm2015/lib/services/permissions.service.js +21 -20
- package/esm2015/lib/services/signalr/signalr.service.js +3 -2
- package/esm2015/lib/widgets/entity-edit/entity-edit-form.component.js +20 -12
- package/esm2015/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.js +4 -4
- package/esm2015/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.js +4 -7
- package/esm2015/lib/widgets/entity-list/entity-list.component.js +10 -13
- package/esm2015/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.js +8 -10
- package/esm2015/public-api.js +51 -44
- package/fesm2015/indigina-kendo.js +2511 -2273
- package/fesm2015/indigina-kendo.js.map +1 -1
- package/indigina-kendo.d.ts +2 -1
- package/indigina-kendo.metadata.json +1 -1
- package/lib/angular/indigina.module.d.ts +1 -1
- package/lib/angular/models/AppSettings.d.ts +6 -0
- package/lib/angular/services/http.service.d.ts +2 -2
- package/lib/angular/services/settings.service.d.ts +2 -0
- package/lib/components/azure-login-callback/azure-login-callback.component.d.ts +11 -0
- package/lib/config/msal-instance.factory.d.ts +3 -0
- package/lib/interceptors/auth-headers.interceptor.d.ts +8 -0
- package/lib/models/AuthProviders.d.ts +4 -0
- package/lib/models/AzureB2CSettings.d.ts +5 -0
- package/lib/models/SystemInfo.d.ts +3 -0
- package/lib/services/IEntityService.d.ts +3 -3
- package/lib/services/account.service.d.ts +7 -14
- package/lib/services/auth-provider.resolver.d.ts +12 -0
- package/lib/services/auth.providers/AuthProvider.d.ts +8 -0
- package/lib/services/auth.providers/azureb2c.provider.d.ts +14 -0
- package/lib/services/auth.providers/oauth.provider.d.ts +15 -0
- package/lib/services/base.account.service.d.ts +19 -0
- package/lib/services/entity.service.d.ts +3 -3
- package/lib/services/permissions.service.d.ts +3 -3
- package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +1 -1
- package/lib/widgets/entity-list/entity-list.component.d.ts +3 -2
- package/package.json +1 -1
- 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 "
|
|
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
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.
|
|
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.
|
|
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:
|
|
27
|
+
{ type: AuthProviderResolver },
|
|
112
28
|
{ type: HttpService },
|
|
113
29
|
{ type: SettingsService },
|
|
114
30
|
{ type: SignalRService }
|
|
115
31
|
];
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQUVwQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFLMUIsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFDUyxZQUEwQixFQUN6QixXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxjQUE4QjtRQUgvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTmpDLFNBQUksR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQVE5QyxJQUFJLENBQUMsV0FBVzthQUNiLEdBQUcsQ0FBZSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUN4QyxJQUFJLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDbkMsTUFBTSxVQUFVLEdBQWU7Z0JBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTTtnQkFDM0IsV0FBVyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLGlCQUFpQjtnQkFDdkQsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRO2dCQUMvQixLQUFLLEVBQUUsK0JBQStCO2dCQUN0QyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRO2dCQUN4RCx3QkFBd0IsRUFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsb0JBQW9CO2FBQ2hELENBQUM7WUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxjQUFjO2lCQUNoQixFQUFFLENBQVMsVUFBVSxDQUFDLFdBQVcsQ0FBQztpQkFDbEMsU0FBUyxDQUFDLEdBQVMsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDWixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFTLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQ3pELENBQUM7WUFDSixDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUssY0FBYzs7WUFDbEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO2dCQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDN0I7WUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QyxJQUFJO2dCQUNGLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtvQkFDcEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUM3QjtnQkFFRCxPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQVMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqRTtvQkFBUztnQkFDUixPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRWEsU0FBUyxDQUFDLFVBQXNCOztZQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDaEQsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUMzQyxVQUFVLENBQUMsTUFBTSxHQUFHLDRDQUE0QyxDQUNqRSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFTLEVBQUU7Z0JBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEVBQUU7b0JBQzVDLE9BQU87aUJBQ1I7Z0JBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ1QsT0FBTztpQkFDUjtnQkFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLElBQUksRUFBRTtvQkFDUixJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFFckQsT0FBTztpQkFDUjtnQkFFRCxJQUNFLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEtBQUs7b0JBQy9CLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUNsRDtvQkFDQSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFlBQVksRUFBRSxDQUFDO29CQUVsRSxPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7O1lBckdGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBbEJvQixZQUFZO1lBTXhCLFdBQVc7WUFDWCxlQUFlO1lBQ2YsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBPaWRjU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMvT2lkY1NldHRpbmdzJztcbmltcG9ydCB7IEp3a3NWYWxpZGF0aW9uSGFuZGxlciB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMtandrcyc7XG5pbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5pbXBvcnQgeyBNZW1iZXIgfSBmcm9tICcuLi9tb2RlbHMvTWVtYmVyJztcbmltcG9ydCB7IE1lbWJlclR5cGVzIH0gZnJvbSAnLi4vbW9kZWxzL01lbWJlclR5cGVzJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi9zaWduYWxyL3NpZ25hbHIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudE5hbWVzIH0gZnJvbSAnLi9zaWduYWxyL0V2ZW50TmFtZXMnO1xuaW1wb3J0IHsgTXV0ZXggfSBmcm9tICdhc3luYy1tdXRleCc7XG5cbmNvbnN0IGFkbWluVXJpUGFydCA9ICcvYWRtaW4vJztcbmNvbnN0IGhvbWVQYXRoID0gJy9ob21lJztcbmNvbnN0IG11dGV4ID0gbmV3IE11dGV4KCk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSB7XG4gIHB1YmxpYyB1c2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW1iZXI+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+
|
|
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.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
.
|
|
25
|
-
.
|
|
26
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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,
|
|
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.
|
|
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,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9zaWduYWxyL3NpZ25hbHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHekMsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKbEMsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWxDLGtCQUFhLEdBQStDLEVBQUUsQ0FBQztJQUV4QixDQUFDO0lBRXhDLGdCQUFnQixDQUFDLEtBQWE7O1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsb0JBQW9CLEVBQUU7YUFDcEQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQzlELGtCQUFrQixFQUFFLEdBQUcsRUFBRTtnQkFDdkIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1NBQ0YsQ0FBQzthQUNELGdCQUFnQixPQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxtQ0FBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDMUQ7YUFDQSxLQUFLLEVBQUUsQ0FBQztRQUVYLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUNyQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWE7aUJBQ2YsS0FBSyxFQUFFO2lCQUNQLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztnQkFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7b0JBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO3dCQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDNUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtnQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxDQUFDLENBQUM7Z0JBQ2pFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sRUFBRSxDQUFJLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztZQUN0RCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBb0IsQ0FBQztJQUMxRCxDQUFDOzs7O1lBcEVGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OztZQUh6QixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBzaWduYWxSIGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XG5pbXBvcnQgeyBBcHBTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0FwcFNldHRpbmdzJztcbmltcG9ydCB7IGVuZHBvaW50cyB9IGZyb20gJy4uL2VuZHBvaW50cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2lnbmFsUlNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGh1YkNvbm5lY3Rpb246IHNpZ25hbFIuSHViQ29ubmVjdGlvbjtcbiAgcHJpdmF0ZSBldmVudEVtaXR0ZXJzOiB7IFtldmVudE5hbWU6IHN0cmluZ106IEV2ZW50RW1pdHRlcjxhbnk+IH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFNldHRpbmdzOiBBcHBTZXR0aW5ncykge31cblxuICBwcml2YXRlIGNyZWF0ZUNvbm5lY3Rpb24odG9rZW46IHN0cmluZykge1xuICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcbiAgICAgIC53aXRoVXJsKHRoaXMuYXBwU2V0dGluZ3MuYXBpVXJsICsgZW5kcG9pbnRzLnNpZ25hbHIuZXZlbnRzSHViLCB7XG4gICAgICAgIGFjY2Vzc1Rva2VuRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0b2tlbjtcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAuY29uZmlndXJlTG9nZ2luZyhcbiAgICAgICAgdGhpcy5hcHBTZXR0aW5ncy5zaWduYWxSTG9nTGV2ZWwgPz8gc2lnbmFsUi5Mb2dMZXZlbC5Ob25lXG4gICAgICApXG4gICAgICAuYnVpbGQoKTtcblxuICAgIHRoaXMuaHViQ29ubmVjdGlvbi5vbmNsb3NlKChlcnI/KSA9PiB7XG4gICAgICBpZiAoZXJyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3Rpb25Fc3RhYmxpc2hlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0b2tlbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRDb25uZWN0aW9uKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQ29ubmVjdGlvbih0b2tlbik7XG4gICAgICB0aGlzLmh1YkNvbm5lY3Rpb25cbiAgICAgICAgLnN0YXJ0KClcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQgPSB0cnVlO1xuICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZXZlbnRFbWl0dGVycykuZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh1YkNvbm5lY3Rpb24ub24oZXZlbnROYW1lLCAobW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5ldmVudEVtaXR0ZXJzW2V2ZW50TmFtZV0uZW1pdChtb2RlbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ0Vycm9yIHdoaWxlIGVzdGFibGlzaGluZyBjb25uZWN0aW9uLCByZXRyeWluZy4uLicpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zdGFydENvbm5lY3Rpb24odG9rZW4pLCA1MDAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlY29ubmVjdCh0b2tlbjogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQpIHtcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbi5zdG9wKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDb25uZWN0aW9uRXN0YWJsaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGFydENvbm5lY3Rpb24odG9rZW4pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uPFQ+KGV2ZW50TmFtZTogc3RyaW5nKTogRXZlbnRFbWl0dGVyPFQ+IHtcbiAgICBpZiAoIXRoaXMuZXZlbnRFbWl0dGVyc1tldmVudE5hbWVdKSB7XG4gICAgICB0aGlzLmV2ZW50RW1pdHRlcnNbZXZlbnROYW1lXSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgICAgIGlmICh0aGlzLmh1YkNvbm5lY3Rpb24pIHtcbiAgICAgICAgdGhpcy5odWJDb25uZWN0aW9uLm9uKGV2ZW50TmFtZSwgKG1vZGVsKSA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudEVtaXR0ZXJzW2V2ZW50TmFtZV0uZW1pdChtb2RlbCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmV2ZW50RW1pdHRlcnNbZXZlbnROYW1lXSBhcyBFdmVudEVtaXR0ZXI8VD47XG4gIH1cbn1cbiJdfQ==
|