@tiba-spark/client-shared-lib 25.3.0-772 → 25.3.0-775
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/esm2022/libraries/resolvers/localization.resolver.mjs +11 -3
- package/esm2022/libraries/services/factories/msl-auth-service.mjs +9 -5
- package/fesm2022/tiba-spark-client-shared-lib.mjs +16 -6
- package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
- package/libraries/resolvers/localization.resolver.d.ts.map +1 -1
- package/libraries/services/factories/msl-auth-service.d.ts +3 -1
- package/libraries/services/factories/msl-auth-service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -13,13 +13,21 @@ export class LocalizationResolver {
|
|
|
13
13
|
this.localizationService = localizationService;
|
|
14
14
|
}
|
|
15
15
|
resolve() {
|
|
16
|
-
//
|
|
16
|
+
// Determine the user's preferred language before resolving the route
|
|
17
17
|
const userSettings = this.store.selectSnapshot(SessionState.mappedUserSettings);
|
|
18
18
|
const lang = getCurrentLang(userSettings);
|
|
19
|
-
|
|
19
|
+
// If the language is already registered in TranslateService, simply switch to it
|
|
20
20
|
if (this.translateService.langs.includes(lang)) {
|
|
21
|
+
this.translateService.use(lang);
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
24
|
+
// If ngx-translate believes the language is already loaded (even if it’s not),
|
|
25
|
+
// it will skip calling the loader’s getTranslation() method.
|
|
26
|
+
// Resetting the language forces ngx-translate to fetch translations again.
|
|
27
|
+
this.translateService.resetLang(lang);
|
|
28
|
+
// Apply the selected language and trigger translation loading
|
|
29
|
+
this.translateService.use(lang);
|
|
30
|
+
// Wait until the localization resources are fully loaded before resolving the route
|
|
23
31
|
return new Promise((resolve, reject) => this.localizationService.resourceLoaded.asObservable().pipe(first())
|
|
24
32
|
.subscribe({
|
|
25
33
|
next: () => resolve(),
|
|
@@ -32,4 +40,4 @@ export class LocalizationResolver {
|
|
|
32
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocalizationResolver, decorators: [{
|
|
33
41
|
type: Injectable
|
|
34
42
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.TranslateService }, { type: i3.LocalizationService }] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9yZXNvbHZlcnMvbG9jYWxpemF0aW9uLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBR3hELE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBb0IsS0FBWSxFQUFVLGdCQUFrQyxFQUFVLG1CQUF3QztRQUExRyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDOUgsQ0FBQztJQUVELE9BQU87UUFDTCxxRUFBcUU7UUFDckUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEYsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFDLGlGQUFpRjtRQUNqRixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELCtFQUErRTtRQUMvRSw2REFBNkQ7UUFDN0QsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsOERBQThEO1FBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsb0ZBQW9GO1FBQ3BGLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMvRyxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFO1lBQ3JCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOytHQTlCVSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IGdldEN1cnJlbnRMYW5nIH0gZnJvbSAnLi4vdXRpbHMvbGFuZ3VhZ2UudXRpbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25SZXNvbHZlciB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7XG4gIH1cblxuICByZXNvbHZlKCkge1xuICAgIC8vIERldGVybWluZSB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZSBiZWZvcmUgcmVzb2x2aW5nIHRoZSByb3V0ZVxuICAgIGNvbnN0IHVzZXJTZXR0aW5ncyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLm1hcHBlZFVzZXJTZXR0aW5ncyk7XG4gICAgY29uc3QgbGFuZyA9IGdldEN1cnJlbnRMYW5nKHVzZXJTZXR0aW5ncyk7XG5cbiAgICAvLyBJZiB0aGUgbGFuZ3VhZ2UgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGluIFRyYW5zbGF0ZVNlcnZpY2UsIHNpbXBseSBzd2l0Y2ggdG8gaXRcbiAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmxhbmdzLmluY2x1ZGVzKGxhbmcpKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIElmIG5neC10cmFuc2xhdGUgYmVsaWV2ZXMgdGhlIGxhbmd1YWdlIGlzIGFscmVhZHkgbG9hZGVkIChldmVuIGlmIGl04oCZcyBub3QpLFxuICAgIC8vIGl0IHdpbGwgc2tpcCBjYWxsaW5nIHRoZSBsb2FkZXLigJlzIGdldFRyYW5zbGF0aW9uKCkgbWV0aG9kLlxuICAgIC8vIFJlc2V0dGluZyB0aGUgbGFuZ3VhZ2UgZm9yY2VzIG5neC10cmFuc2xhdGUgdG8gZmV0Y2ggdHJhbnNsYXRpb25zIGFnYWluLlxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5yZXNldExhbmcobGFuZyk7XG5cbiAgICAvLyBBcHBseSB0aGUgc2VsZWN0ZWQgbGFuZ3VhZ2UgYW5kIHRyaWdnZXIgdHJhbnNsYXRpb24gbG9hZGluZ1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZyk7XG5cbiAgICAvLyBXYWl0IHVudGlsIHRoZSBsb2NhbGl6YXRpb24gcmVzb3VyY2VzIGFyZSBmdWxseSBsb2FkZWQgYmVmb3JlIHJlc29sdmluZyB0aGUgcm91dGVcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4gdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLnJlc291cmNlTG9hZGVkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiByZXNvbHZlKCksXG4gICAgICAgIGVycm9yOiBlID0+IHJlamVjdChlKVxuICAgICAgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -4,13 +4,16 @@ import { filter, first } from 'rxjs';
|
|
|
4
4
|
import { SessionState } from '../../modules/auth/session.state';
|
|
5
5
|
import { SingleSignOnProvider } from '../../service-proxy/cloud-service-proxies';
|
|
6
6
|
import { isNullOrEmpty } from '../../utils/custom-validator.util';
|
|
7
|
+
import { AppType } from '../../enums/app-type.enum';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@ngxs/store";
|
|
9
10
|
import * as i2 from "@azure/msal-angular";
|
|
11
|
+
import * as i3 from "../app-config.service";
|
|
10
12
|
export class MSLAuthService {
|
|
11
|
-
constructor(store, msalService) {
|
|
13
|
+
constructor(store, msalService, appConfig) {
|
|
12
14
|
this.store = store;
|
|
13
15
|
this.msalService = msalService;
|
|
16
|
+
this.appConfig = appConfig;
|
|
14
17
|
}
|
|
15
18
|
init() {
|
|
16
19
|
return new Promise((resolve) => {
|
|
@@ -36,11 +39,12 @@ export class MSLAuthService {
|
|
|
36
39
|
}
|
|
37
40
|
createPublicClientApplication(clientId, authority, tenantName) {
|
|
38
41
|
this.validateConfigurations(clientId, authority, tenantName);
|
|
42
|
+
const isBackofficeAppMode = this.appConfig.getConfig().appType === AppType.Backoffice;
|
|
39
43
|
return new PublicClientApplication({
|
|
40
44
|
auth: {
|
|
41
45
|
clientId: clientId, // This is the ONLY mandatory field that you need to supply.
|
|
42
46
|
authority: authority, // Defaults to "https://login.microsoftonline.com/common"
|
|
43
|
-
redirectUri: `/account/login`,
|
|
47
|
+
redirectUri: isBackofficeAppMode ? `/account/login` : `/${tenantName}/account/login`,
|
|
44
48
|
postLogoutRedirectUri: '/', // Indicates the page to navigate after logout.
|
|
45
49
|
},
|
|
46
50
|
cache: {
|
|
@@ -57,12 +61,12 @@ export class MSLAuthService {
|
|
|
57
61
|
},
|
|
58
62
|
});
|
|
59
63
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, deps: [{ token: i1.Store }, { token: i2.MsalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, deps: [{ token: i1.Store }, { token: i2.MsalService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
65
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService }); }
|
|
62
66
|
}
|
|
63
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, decorators: [{
|
|
64
68
|
type: Injectable
|
|
65
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.MsalService }] });
|
|
69
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.MsalService }, { type: i3.AppConfigService }] });
|
|
66
70
|
function loggerCallback(logLevel, message) {
|
|
67
71
|
console.log(message);
|
|
68
72
|
}
|
|
@@ -103,4 +107,4 @@ export function MSALGuardConfigFactory() {
|
|
|
103
107
|
loginFailedRoute: '/'
|
|
104
108
|
};
|
|
105
109
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNsLWF1dGgtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvZmFjdG9yaWVzL21zbC1hdXRoLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQTRCLGVBQWUsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6SSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBR2xFLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLEtBQVksRUFBVSxXQUF3QjtRQUE5QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDbEUsQ0FBQztJQUVNLElBQUk7UUFDVCxPQUFPLElBQUksT0FBTyxDQUFVLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3BILElBQUksSUFBSSxDQUFDLG1DQUFtQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ3JELE1BQU0s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QyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztJQUM5RCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMscUNBQXFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9FLE9BQU87UUFDTCxlQUFlLEVBQUUsZUFBZSxDQUFDLFFBQVE7UUFDekMsb0JBQW9CO0tBQ3JCLENBQUM7QUFDSixDQUFDO0FBQ0Q7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxPQUFPO1FBQ0wsZUFBZSxFQUFFLGVBQWUsQ0FBQyxRQUFRO1FBQ3pDLFdBQVcsRUFBRTtZQUNYLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMzQjtRQUNELGdCQUFnQixFQUFFLEdBQUc7S0FDdEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNc2FsR3VhcmRDb25maWd1cmF0aW9uLCBNc2FsSW50ZXJjZXB0b3JDb25maWd1cmF0aW9uLCBNc2FsU2VydmljZSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xuaW1wb3J0IHsgQnJvd3NlckNhY2hlTG9jYXRpb24sIElQdWJsaWNDbGllbnRBcHBsaWNhdGlvbiwgSW50ZXJhY3Rpb25UeXBlLCBMb2dMZXZlbCwgUHVibGljQ2xpZW50QXBwbGljYXRpb24gfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGVuYW50SW5mbyB9IGZyb20gJy4uLy4uL21vZHVsZXMvYXV0aC9tb2RlbC90ZW5hbnQtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgU2luZ2xlU2lnbk9uUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBpc051bGxPckVtcHR5IH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VzdG9tLXZhbGlkYXRvci51dGlsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1TTEF1dGhTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBtc2FsU2VydmljZTogTXNhbFNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoU2Vzc2lvblN0YXRlLnRlbmFudEluZm8pLnBpcGUoZmlsdGVyKHRlbmFudEluZm8gPT4gdGVuYW50SW5mbyAhPSBudWxsKSwgZmlyc3QoKSkuc3Vic2NyaWJlKHRlbmFudCA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzU2luZ2xlU2lnbk9uRW5hYmxlZFdpdGhNU1Byb3ZpZGVyKHRlbmFudCkpIHtcbiAgICAgICAgICBjb25zdCBjbGllbnRJZCA9IHRlbmFudC5wcm9wcy5zc28uY29uZmlndXJhdGlvbnM/LmF6dXJlPy5jbGllbnRJZDsvLyBUaGlzIGlzIHRoZSBPTkxZIG1hbmRhdG9yeSBmaWVsZCB0aGF0IHlvdSBuZWVkIHRvIHN1cHBseS5cbiAgICAgICAgICBjb25zdCBhdXRob3JpdHkgPSBgaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tLyR7dGVuYW50LnByb3BzLnNzby5jb25maWd1cmF0aW9ucz8uYXp1cmU/LnRlbmFudElkfWA7XG4gICAgICAgICAgY29uc3QgcHVibGljQ2xpZW50QXBwbGljYXRpb24gPSB0aGlzLmNyZWF0ZVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKGNsaWVudElkLCBhdXRob3JpdHksIHRlbmFudC50ZW5hbnROYW1lKTtcbiAgICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlID0gcHVibGljQ2xpZW50QXBwbGljYXRpb247XG4gICAgICAgICAgdGhpcy5tc2FsU2VydmljZS5pbml0aWFsaXplKCkuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXNvbHZlKHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpbmdsZVNpZ25PbkVuYWJsZWRXaXRoTVNQcm92aWRlcih0ZW5hbnQ6IFRlbmFudEluZm8pIHtcbiAgICByZXR1cm4gdGVuYW50LnByb3BzPy5zc28/LmVuYWJsZWQgJiYgdGVuYW50LnByb3BzLnNzbz8ucHJvdmlkZXIgPT09IFNpbmdsZVNpZ25PblByb3ZpZGVyLk1pY3Jvc29mdCAmJiB0ZW5hbnQucHJvcHMuc3NvPy5jb25maWd1cmF0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVDb25maWd1cmF0aW9ucyhjbGllbnRJZDogc3RyaW5nLCBhdXRob3JpdHk6IHN0cmluZywgdGVuYW50TmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKGlzTnVsbE9yRW1wdHkoY2xpZW50SWQ/LnRyaW0oKSkgfHwgaXNOdWxsT3JFbXB0eShhdXRob3JpdHk/LnRyaW0oKSkgfHwgaXNOdWxsT3JFbXB0eSh0ZW5hbnROYW1lPy50cmltKCkpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6IE9uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlcnMgZm9yIFNTTyBhcmUgbWlzc2luZyBvciBlbXB0eS5cIik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQdWJsaWNDbGllbnRBcHBsaWNhdGlvbihjbGllbnRJZDogc3RyaW5nLCBhdXRob3JpdHk6IHN0cmluZywgdGVuYW50TmFtZTogc3RyaW5nKTogSVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIHtcbiAgICB0aGlzLnZhbGlkYXRlQ29uZmlndXJhdGlvbnMoY2xpZW50SWQsIGF1dGhvcml0eSwgdGVuYW50TmFtZSk7XG5cbiAgICByZXR1cm4gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKHtcbiAgICAgIGF1dGg6IHtcbiAgICAgICAgY2xpZW50SWQ6IGNsaWVudElkLCAvLyBUaGlzIGlzIHRoZSBPTkxZIG1hbmRhdG9yeSBmaWVsZCB0aGF0IHlvdSBuZWVkIHRvIHN1cHBseS5cbiAgICAgICAgYXV0aG9yaXR5OiBhdXRob3JpdHksIC8vIERlZmF1bHRzIHRvIFwiaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vblwiXG4gICAgICAgIHJlZGlyZWN0VXJpOiBgL2FjY291bnQvbG9naW5gLFxuICAgICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6ICcvJywgLy8gSW5kaWNhdGVzIHRoZSBwYWdlIHRvIG5hdmlnYXRlIGFmdGVyIGxvZ291dC5cbiAgICAgIH0sXG4gICAgICBjYWNoZToge1xuICAgICAgICBjYWNoZUxvY2F0aW9uOiBCcm93c2VyQ2FjaGVMb2NhdGlvbi5Mb2NhbFN0b3JhZ2UsIC8vIENvbmZpZ3VyZXMgY2FjaGUgbG9jYXRpb24uIFwic2Vzc2lvblN0b3JhZ2VcIiBpcyBtb3JlIHNlY3VyZSwgYnV0IFwibG9jYWxTdG9yYWdlXCIgZ2l2ZXMgeW91IFNTTyBiZXR3ZWVuIHRhYnMuXG4gICAgICAgIC8vc3RvcmVBdXRoU3RhdGVJbkNvb2tpZTogZmFsc2UsIC8vIFNldCB0aGlzIHRvIFwidHJ1ZVwiIGlmIHlvdSBhcmUgaGF2aW5nIGlzc3VlcyBvbiBJRTExIG9yIEVkZ2VcbiAgICAgIH0sXG4gICAgICBzeXN0ZW06IHtcbiAgICAgICAgYWxsb3dOYXRpdmVCcm9rZXI6IGZhbHNlLCAvLyBEaXNhYmxlcyBXQU0gQnJva2VyXG4gICAgICAgIGxvZ2dlck9wdGlvbnM6IHtcbiAgICAgICAgICBsb2dnZXJDYWxsYmFjayxcbiAgICAgICAgICBsb2dMZXZlbDogTG9nTGV2ZWwuRXJyb3IsXG4gICAgICAgICAgcGlpTG9nZ2luZ0VuYWJsZWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuXG5mdW5jdGlvbiBsb2dnZXJDYWxsYmFjayhsb2dMZXZlbDogTG9nTGV2ZWwsIG1lc3NhZ2U6IHN0cmluZykge1xuICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVNc2FsKGF1dGhTZXJ2aWNlOiBNU0xBdXRoU2VydmljZSk6ICgpID0+IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGF1dGhTZXJ2aWNlLmluaXQoKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBIZXJlIHdlIHBhc3MgdGhlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyB0byBjcmVhdGUgYW4gTVNBTCBpbnN0YW5jZS5cbiAqIEZvciBtb3JlIGluZm8sIHZpc2l0OiBodHRwczovL2dpdGh1Yi5jb20vQXp1cmVBRC9taWNyb3NvZnQtYXV0aGVudGljYXRpb24tbGlicmFyeS1mb3ItanMvYmxvYi9kZXYvbGliL21zYWwtYW5ndWxhci9kb2NzL3YyLWRvY3MvY29uZmlndXJhdGlvbi5tZFxuICovXG5leHBvcnQgZnVuY3Rpb24gTVNBTEluc3RhbmNlRmFjdG9yeSgpOiBJUHVibGljQ2xpZW50QXBwbGljYXRpb24ge1xuICByZXR1cm4gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKHtcbiAgICBhdXRoOiB7XG4gICAgICBjbGllbnRJZDogbnVsbFxuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTVNBTEludGVyY2VwdG9yQ29uZmlnRmFjdG9yeSgpOiBNc2FsSW50ZXJjZXB0b3JDb25maWd1cmF0aW9uIHtcbiAgY29uc3QgcHJvdGVjdGVkUmVzb3VyY2VNYXAgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8c3RyaW5nPj4oKTtcbiAgcHJvdGVjdGVkUmVzb3VyY2VNYXAuc2V0KCdodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20vdjEuMC9tZScsIFsndXNlci5yZWFkJ10pO1xuICByZXR1cm4ge1xuICAgIGludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlLlJlZGlyZWN0LFxuICAgIHByb3RlY3RlZFJlc291cmNlTWFwXG4gIH07XG59XG4vKipcbiAqIFNldCB5b3VyIGRlZmF1bHQgaW50ZXJhY3Rpb24gdHlwZSBmb3IgTVNBTEd1YXJkIGhlcmUuIElmIHlvdSBoYXZlIGFueVxuICogYWRkaXRpb25hbCBzY29wZXMgeW91IHdhbnQgdGhlIHVzZXIgdG8gY29uc2VudCB1cG9uIGxvZ2luLCBhZGQgdGhlbSBoZXJlIGFzIHdlbGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBNU0FMR3VhcmRDb25maWdGYWN0b3J5KCk6IE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICByZXR1cm4ge1xuICAgIGludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlLlJlZGlyZWN0LFxuICAgIGF1dGhSZXF1ZXN0OiB7XG4gICAgICBzY29wZXM6IFsuLi5bJ3VzZXIucmVhZCddXVxuICAgIH0sXG4gICAgbG9naW5GYWlsZWRSb3V0ZTogJy8nXG4gIH07XG59XG4iXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNsLWF1dGgtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvZmFjdG9yaWVzL21zbC1hdXRoLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQTRCLGVBQWUsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6SSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFHcEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBb0IsS0FBWSxFQUFVLFdBQXdCLEVBQVUsU0FBMkI7UUFBbkYsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFDdkcsQ0FBQztJQUVNLElBQUk7UUFDVCxPQUFPLElBQUksT0FBTyxDQUFVLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMs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QU0sVUFBVSxjQUFjLENBQUMsV0FBMkI7SUFDeEQsT0FBTyxLQUFLLElBQUksRUFBRTtRQUNoQixNQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLElBQUksdUJBQXVCLENBQUM7UUFDakMsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFLElBQUk7U0FDZjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCO0lBQzFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7SUFDOUQsb0JBQW9CLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMvRSxPQUFPO1FBQ0wsZUFBZSxFQUFFLGVBQWUsQ0FBQyxRQUFRO1FBQ3pDLG9CQUFvQjtLQUNyQixDQUFDO0FBQ0osQ0FBQztBQUNEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTztRQUNMLGVBQWUsRUFBRSxlQUFlLENBQUMsUUFBUTtRQUN6QyxXQUFXLEVBQUU7WUFDWCxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDM0I7UUFDRCxnQkFBZ0IsRUFBRSxHQUFHO0tBQ3RCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiwgTXNhbEludGVyY2VwdG9yQ29uZmlndXJhdGlvbiwgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcbmltcG9ydCB7IEJyb3dzZXJDYWNoZUxvY2F0aW9uLCBJUHVibGljQ2xpZW50QXBwbGljYXRpb24sIEludGVyYWN0aW9uVHlwZSwgTG9nTGV2ZWwsIFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIH0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRlbmFudEluZm8gfSBmcm9tICcuLi8uLi9tb2R1bGVzL2F1dGgvbW9kZWwvdGVuYW50LWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IFNpbmdsZVNpZ25PblByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgaXNOdWxsT3JFbXB0eSB9IGZyb20gJy4uLy4uL3V0aWxzL2N1c3RvbS12YWxpZGF0b3IudXRpbCc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1TTEF1dGhTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBtc2FsU2VydmljZTogTXNhbFNlcnZpY2UsIHByaXZhdGUgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKS5waXBlKGZpbHRlcih0ZW5hbnRJbmZvID0+IHRlbmFudEluZm8gIT0gbnVsbCksIGZpcnN0KCkpLnN1YnNjcmliZSh0ZW5hbnQgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc1NpbmdsZVNpZ25PbkVuYWJsZWRXaXRoTVNQcm92aWRlcih0ZW5hbnQpKSB7XG4gICAgICAgICAgY29uc3QgY2xpZW50SWQgPSB0ZW5hbnQucHJvcHMuc3NvLmNvbmZpZ3VyYXRpb25zPy5henVyZT8uY2xpZW50SWQ7Ly8gVGhpcyBpcyB0aGUgT05MWSBtYW5kYXRvcnkgZmllbGQgdGhhdCB5b3UgbmVlZCB0byBzdXBwbHkuXG4gICAgICAgICAgY29uc3QgYXV0aG9yaXR5ID0gYGh0dHBzOi8vbG9naW4ubWljcm9zb2Z0b25saW5lLmNvbS8ke3RlbmFudC5wcm9wcy5zc28uY29uZmlndXJhdGlvbnM/LmF6dXJlPy50ZW5hbnRJZH1gO1xuICAgICAgICAgIGNvbnN0IHB1YmxpY0NsaWVudEFwcGxpY2F0aW9uID0gdGhpcy5jcmVhdGVQdWJsaWNDbGllbnRBcHBsaWNhdGlvbihjbGllbnRJZCwgYXV0aG9yaXR5LCB0ZW5hbnQudGVuYW50TmFtZSk7XG4gICAgICAgICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZSA9IHB1YmxpY0NsaWVudEFwcGxpY2F0aW9uO1xuICAgICAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5pdGlhbGl6ZSgpLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTaW5nbGVTaWduT25FbmFibGVkV2l0aE1TUHJvdmlkZXIodGVuYW50OiBUZW5hbnRJbmZvKSB7XG4gICAgcmV0dXJuIHRlbmFudC5wcm9wcz8uc3NvPy5lbmFibGVkICYmIHRlbmFudC5wcm9wcy5zc28/LnByb3ZpZGVyID09PSBTaW5nbGVTaWduT25Qcm92aWRlci5NaWNyb3NvZnQgJiYgdGVuYW50LnByb3BzLnNzbz8uY29uZmlndXJhdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQ29uZmlndXJhdGlvbnMoY2xpZW50SWQ6IHN0cmluZywgYXV0aG9yaXR5OiBzdHJpbmcsIHRlbmFudE5hbWU6IHN0cmluZykge1xuICAgIGlmIChpc051bGxPckVtcHR5KGNsaWVudElkPy50cmltKCkpIHx8IGlzTnVsbE9yRW1wdHkoYXV0aG9yaXR5Py50cmltKCkpIHx8IGlzTnVsbE9yRW1wdHkodGVuYW50TmFtZT8udHJpbSgpKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yOiBPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXJzIGZvciBTU08gYXJlIG1pc3Npbmcgb3IgZW1wdHkuXCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUHVibGljQ2xpZW50QXBwbGljYXRpb24oY2xpZW50SWQ6IHN0cmluZywgYXV0aG9yaXR5OiBzdHJpbmcsIHRlbmFudE5hbWU6IHN0cmluZyk6IElQdWJsaWNDbGllbnRBcHBsaWNhdGlvbiB7XG4gICAgdGhpcy52YWxpZGF0ZUNvbmZpZ3VyYXRpb25zKGNsaWVudElkLCBhdXRob3JpdHksIHRlbmFudE5hbWUpO1xuICAgIGNvbnN0IGlzQmFja29mZmljZUFwcE1vZGUgPSB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5hcHBUeXBlID09PSBBcHBUeXBlLkJhY2tvZmZpY2U7XG5cbiAgICByZXR1cm4gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKHtcbiAgICAgIGF1dGg6IHtcbiAgICAgICAgY2xpZW50SWQ6IGNsaWVudElkLCAvLyBUaGlzIGlzIHRoZSBPTkxZIG1hbmRhdG9yeSBmaWVsZCB0aGF0IHlvdSBuZWVkIHRvIHN1cHBseS5cbiAgICAgICAgYXV0aG9yaXR5OiBhdXRob3JpdHksIC8vIERlZmF1bHRzIHRvIFwiaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vblwiXG4gICAgICAgIHJlZGlyZWN0VXJpOiBpc0JhY2tvZmZpY2VBcHBNb2RlID8gYC9hY2NvdW50L2xvZ2luYCA6IGAvJHt0ZW5hbnROYW1lfS9hY2NvdW50L2xvZ2luYCxcbiAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiAnLycsIC8vIEluZGljYXRlcyB0aGUgcGFnZSB0byBuYXZpZ2F0ZSBhZnRlciBsb2dvdXQuXG4gICAgICB9LFxuICAgICAgY2FjaGU6IHtcbiAgICAgICAgY2FjaGVMb2NhdGlvbjogQnJvd3NlckNhY2hlTG9jYXRpb24uTG9jYWxTdG9yYWdlLCAvLyBDb25maWd1cmVzIGNhY2hlIGxvY2F0aW9uLiBcInNlc3Npb25TdG9yYWdlXCIgaXMgbW9yZSBzZWN1cmUsIGJ1dCBcImxvY2FsU3RvcmFnZVwiIGdpdmVzIHlvdSBTU08gYmV0d2VlbiB0YWJzLlxuICAgICAgICAvL3N0b3JlQXV0aFN0YXRlSW5Db29raWU6IGZhbHNlLCAvLyBTZXQgdGhpcyB0byBcInRydWVcIiBpZiB5b3UgYXJlIGhhdmluZyBpc3N1ZXMgb24gSUUxMSBvciBFZGdlXG4gICAgICB9LFxuICAgICAgc3lzdGVtOiB7XG4gICAgICAgIGFsbG93TmF0aXZlQnJva2VyOiBmYWxzZSwgLy8gRGlzYWJsZXMgV0FNIEJyb2tlclxuICAgICAgICBsb2dnZXJPcHRpb25zOiB7XG4gICAgICAgICAgbG9nZ2VyQ2FsbGJhY2ssXG4gICAgICAgICAgbG9nTGV2ZWw6IExvZ0xldmVsLkVycm9yLFxuICAgICAgICAgIHBpaUxvZ2dpbmdFbmFibGVkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cblxuZnVuY3Rpb24gbG9nZ2VyQ2FsbGJhY2sobG9nTGV2ZWw6IExvZ0xldmVsLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgY29uc29sZS5sb2cobWVzc2FnZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplTXNhbChhdXRoU2VydmljZTogTVNMQXV0aFNlcnZpY2UpOiAoKSA9PiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBhdXRoU2VydmljZS5pbml0KCk7XG4gIH07XG59XG5cbi8qKlxuICogSGVyZSB3ZSBwYXNzIHRoZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgdG8gY3JlYXRlIGFuIE1TQUwgaW5zdGFuY2UuXG4gKiBGb3IgbW9yZSBpbmZvLCB2aXNpdDogaHR0cHM6Ly9naXRodWIuY29tL0F6dXJlQUQvbWljcm9zb2Z0LWF1dGhlbnRpY2F0aW9uLWxpYnJhcnktZm9yLWpzL2Jsb2IvZGV2L2xpYi9tc2FsLWFuZ3VsYXIvZG9jcy92Mi1kb2NzL2NvbmZpZ3VyYXRpb24ubWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1TQUxJbnN0YW5jZUZhY3RvcnkoKTogSVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIHtcbiAgcmV0dXJuIG5ldyBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbih7XG4gICAgYXV0aDoge1xuICAgICAgY2xpZW50SWQ6IG51bGxcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1TQUxJbnRlcmNlcHRvckNvbmZpZ0ZhY3RvcnkoKTogTXNhbEludGVyY2VwdG9yQ29uZmlndXJhdGlvbiB7XG4gIGNvbnN0IHByb3RlY3RlZFJlc291cmNlTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+KCk7XG4gIHByb3RlY3RlZFJlc291cmNlTWFwLnNldCgnaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvbWUnLCBbJ3VzZXIucmVhZCddKTtcbiAgcmV0dXJuIHtcbiAgICBpbnRlcmFjdGlvblR5cGU6IEludGVyYWN0aW9uVHlwZS5SZWRpcmVjdCxcbiAgICBwcm90ZWN0ZWRSZXNvdXJjZU1hcFxuICB9O1xufVxuLyoqXG4gKiBTZXQgeW91ciBkZWZhdWx0IGludGVyYWN0aW9uIHR5cGUgZm9yIE1TQUxHdWFyZCBoZXJlLiBJZiB5b3UgaGF2ZSBhbnlcbiAqIGFkZGl0aW9uYWwgc2NvcGVzIHlvdSB3YW50IHRoZSB1c2VyIHRvIGNvbnNlbnQgdXBvbiBsb2dpbiwgYWRkIHRoZW0gaGVyZSBhcyB3ZWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gTVNBTEd1YXJkQ29uZmlnRmFjdG9yeSgpOiBNc2FsR3VhcmRDb25maWd1cmF0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICBpbnRlcmFjdGlvblR5cGU6IEludGVyYWN0aW9uVHlwZS5SZWRpcmVjdCxcbiAgICBhdXRoUmVxdWVzdDoge1xuICAgICAgc2NvcGVzOiBbLi4uWyd1c2VyLnJlYWQnXV1cbiAgICB9LFxuICAgIGxvZ2luRmFpbGVkUm91dGU6ICcvJ1xuICB9O1xufVxuIl19
|
|
@@ -107596,9 +107596,10 @@ class UpdateTenantSingleSignOnAction {
|
|
|
107596
107596
|
}
|
|
107597
107597
|
|
|
107598
107598
|
class MSLAuthService {
|
|
107599
|
-
constructor(store, msalService) {
|
|
107599
|
+
constructor(store, msalService, appConfig) {
|
|
107600
107600
|
this.store = store;
|
|
107601
107601
|
this.msalService = msalService;
|
|
107602
|
+
this.appConfig = appConfig;
|
|
107602
107603
|
}
|
|
107603
107604
|
init() {
|
|
107604
107605
|
return new Promise((resolve) => {
|
|
@@ -107624,11 +107625,12 @@ class MSLAuthService {
|
|
|
107624
107625
|
}
|
|
107625
107626
|
createPublicClientApplication(clientId, authority, tenantName) {
|
|
107626
107627
|
this.validateConfigurations(clientId, authority, tenantName);
|
|
107628
|
+
const isBackofficeAppMode = this.appConfig.getConfig().appType === AppType.Backoffice;
|
|
107627
107629
|
return new PublicClientApplication({
|
|
107628
107630
|
auth: {
|
|
107629
107631
|
clientId: clientId, // This is the ONLY mandatory field that you need to supply.
|
|
107630
107632
|
authority: authority, // Defaults to "https://login.microsoftonline.com/common"
|
|
107631
|
-
redirectUri: `/account/login`,
|
|
107633
|
+
redirectUri: isBackofficeAppMode ? `/account/login` : `/${tenantName}/account/login`,
|
|
107632
107634
|
postLogoutRedirectUri: '/', // Indicates the page to navigate after logout.
|
|
107633
107635
|
},
|
|
107634
107636
|
cache: {
|
|
@@ -107645,12 +107647,12 @@ class MSLAuthService {
|
|
|
107645
107647
|
},
|
|
107646
107648
|
});
|
|
107647
107649
|
}
|
|
107648
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, deps: [{ token: i1$2.Store }, { token: i10.MsalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
107650
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, deps: [{ token: i1$2.Store }, { token: i10.MsalService }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
107649
107651
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService }); }
|
|
107650
107652
|
}
|
|
107651
107653
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, decorators: [{
|
|
107652
107654
|
type: Injectable
|
|
107653
|
-
}], ctorParameters: () => [{ type: i1$2.Store }, { type: i10.MsalService }] });
|
|
107655
|
+
}], ctorParameters: () => [{ type: i1$2.Store }, { type: i10.MsalService }, { type: AppConfigService }] });
|
|
107654
107656
|
function loggerCallback(logLevel, message) {
|
|
107655
107657
|
console.log(message);
|
|
107656
107658
|
}
|
|
@@ -114868,13 +114870,21 @@ class LocalizationResolver {
|
|
|
114868
114870
|
this.localizationService = localizationService;
|
|
114869
114871
|
}
|
|
114870
114872
|
resolve() {
|
|
114871
|
-
//
|
|
114873
|
+
// Determine the user's preferred language before resolving the route
|
|
114872
114874
|
const userSettings = this.store.selectSnapshot(SessionState.mappedUserSettings);
|
|
114873
114875
|
const lang = getCurrentLang(userSettings);
|
|
114874
|
-
|
|
114876
|
+
// If the language is already registered in TranslateService, simply switch to it
|
|
114875
114877
|
if (this.translateService.langs.includes(lang)) {
|
|
114878
|
+
this.translateService.use(lang);
|
|
114876
114879
|
return;
|
|
114877
114880
|
}
|
|
114881
|
+
// If ngx-translate believes the language is already loaded (even if it’s not),
|
|
114882
|
+
// it will skip calling the loader’s getTranslation() method.
|
|
114883
|
+
// Resetting the language forces ngx-translate to fetch translations again.
|
|
114884
|
+
this.translateService.resetLang(lang);
|
|
114885
|
+
// Apply the selected language and trigger translation loading
|
|
114886
|
+
this.translateService.use(lang);
|
|
114887
|
+
// Wait until the localization resources are fully loaded before resolving the route
|
|
114878
114888
|
return new Promise((resolve, reject) => this.localizationService.resourceLoaded.asObservable().pipe(first())
|
|
114879
114889
|
.subscribe({
|
|
114880
114890
|
next: () => resolve(),
|