@sunbird-cb/utils 1.0.19-ang-13-16 → 1.0.20-ang-13-16
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/lib/components/image-crop/image-crop.component.mjs +172 -0
- package/esm2022/lib/components/image-crop/image-crop.module.mjs +55 -0
- package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.mjs +87 -0
- package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.module.mjs +20 -0
- package/{esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js → esm2022/lib/directives/default-thumbnail/default-thumbnail.directive.mjs} +4 -4
- package/esm2022/lib/directives/default-thumbnail/default-thumbnail.module.mjs +20 -0
- package/{esm2015/lib/directives/image-responsive/image-responsive.directive.js → esm2022/lib/directives/image-responsive/image-responsive.directive.mjs} +4 -4
- package/esm2022/lib/directives/image-responsive/image-responsive.module.mjs +20 -0
- package/{esm2015/lib/directives/in-view-port/in-view-port.directive.js → esm2022/lib/directives/in-view-port/in-view-port.directive.mjs} +4 -4
- package/esm2022/lib/directives/in-view-port/in-view-port.module.mjs +20 -0
- package/esm2022/lib/directives/navigation/navigation.directive.mjs +43 -0
- package/esm2022/lib/directives/navigation/navigation.module.mjs +20 -0
- package/{esm2015/lib/directives/permission/permission.directive.js → esm2022/lib/directives/permission/permission.directive.mjs} +4 -4
- package/esm2022/lib/directives/permission/permission.module.mjs +20 -0
- package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.component.mjs +96 -0
- package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.module.mjs +32 -0
- package/esm2022/lib/helpers/logout/logout.component.mjs +44 -0
- package/esm2022/lib/helpers/logout/logout.module.mjs +27 -0
- package/esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.mjs +18 -0
- package/{esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js → esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js → esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js → esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js → esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-filter/pipe-filter.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js → esm2022/lib/pipes/pipe-filter/pipe-filter.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js → esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js → esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js → esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js → esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js → esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-order-by/pipe-order-by.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js → esm2022/lib/pipes/pipe-order-by/pipe-order-by.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js → esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js → esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.mjs} +4 -4
- package/esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.mjs +20 -0
- package/{esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js → esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.mjs} +4 -4
- package/{esm2015/lib/resolvers/explore-detail.resolver.js → esm2022/lib/resolvers/explore-detail.resolver.mjs} +4 -4
- package/{esm2015/lib/resolvers/marketing-offering.resolve.js → esm2022/lib/resolvers/marketing-offering.resolve.mjs} +4 -4
- package/{esm2015/lib/resolvers/page.resolver.js → esm2022/lib/resolvers/page.resolver.mjs} +4 -4
- package/esm2022/lib/services/auth-keycloak.service.mjs +52 -0
- package/esm2022/lib/services/auth-microsoft.service.mjs +173 -0
- package/{esm2015/lib/services/configurations.service.js → esm2022/lib/services/configurations.service.mjs} +4 -4
- package/esm2022/lib/services/event.service.mjs +204 -0
- package/{esm2015/lib/services/logger.service.js → esm2022/lib/services/logger.service.mjs} +4 -4
- package/esm2022/lib/services/subapplication-respond.service.mjs +76 -0
- package/esm2022/lib/services/telemetry.service.mjs +502 -0
- package/esm2022/lib/services/user-preference.service.mjs +92 -0
- package/{esm2015/lib/services/utility.service.js → esm2022/lib/services/utility.service.mjs} +4 -4
- package/{esm2015/lib/services/value.service.js → esm2022/lib/services/value.service.mjs} +4 -4
- package/esm2022/lib/services/widget-content.service.mjs +182 -0
- package/{fesm2015/sunbird-cb-utils.js → fesm2022/sunbird-cb-utils.mjs} +573 -545
- package/fesm2022/sunbird-cb-utils.mjs.map +1 -0
- package/lib/components/image-crop/image-crop.component.d.ts +3 -3
- package/lib/components/image-crop/image-crop.component.d.ts.map +1 -1
- package/lib/components/image-crop/image-crop.module.d.ts +6 -6
- package/lib/components/image-crop/image-crop.module.d.ts.map +1 -1
- package/lib/constants/misc.constants.d.ts +2 -2
- package/lib/constants/misc.constants.d.ts.map +1 -1
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +1 -1
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +1 -1
- package/lib/directives/image-responsive/image-responsive.directive.d.ts +1 -1
- package/lib/directives/in-view-port/in-view-port.directive.d.ts +1 -1
- package/lib/directives/navigation/navigation.directive.d.ts +1 -1
- package/lib/directives/permission/permission.directive.d.ts +1 -1
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +1 -1
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +3 -3
- package/lib/helpers/logout/logout.component.d.ts +2 -2
- package/lib/helpers/logout/logout.component.d.ts.map +1 -1
- package/lib/helpers/logout/logout.module.d.ts +3 -3
- package/lib/helpers/logout/logout.module.d.ts.map +1 -1
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +1 -1
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +1 -1
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +1 -1
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -1
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +1 -1
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +1 -1
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +1 -1
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +1 -1
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +1 -1
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +1 -1
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +5 -5
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +1 -1
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +1 -1
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +1 -1
- package/lib/resolvers/explore-detail.resolver.d.ts +2 -2
- package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -1
- package/lib/resolvers/marketing-offering.resolve.d.ts +2 -2
- package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -1
- package/lib/resolvers/page.resolver.d.ts +2 -2
- package/lib/resolvers/page.resolver.d.ts.map +1 -1
- package/lib/services/widget-resolver.model.d.ts +1 -1
- package/lib/services/widget-resolver.model.d.ts.map +1 -1
- package/package.json +26 -18
- package/sunbird-cb-utils-1.0.20-ang-13-16.tgz +0 -0
- package/bundles/sunbird-cb-utils.umd.js +0 -4785
- package/bundles/sunbird-cb-utils.umd.js.map +0 -1
- package/esm2015/lib/components/image-crop/image-crop.component.js +0 -166
- package/esm2015/lib/components/image-crop/image-crop.module.js +0 -58
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -87
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -22
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -22
- package/esm2015/lib/directives/image-responsive/image-responsive.module.js +0 -22
- package/esm2015/lib/directives/in-view-port/in-view-port.module.js +0 -22
- package/esm2015/lib/directives/navigation/navigation.directive.js +0 -43
- package/esm2015/lib/directives/navigation/navigation.module.js +0 -22
- package/esm2015/lib/directives/permission/permission.module.js +0 -22
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -100
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -34
- package/esm2015/lib/helpers/logout/logout.component.js +0 -48
- package/esm2015/lib/helpers/logout/logout.module.js +0 -30
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -18
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -22
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -22
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -22
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +0 -22
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -22
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -22
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -22
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -22
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -22
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -22
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -22
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -22
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -22
- package/esm2015/lib/services/auth-keycloak.service.js +0 -57
- package/esm2015/lib/services/auth-microsoft.service.js +0 -184
- package/esm2015/lib/services/event.service.js +0 -199
- package/esm2015/lib/services/subapplication-respond.service.js +0 -70
- package/esm2015/lib/services/telemetry.service.js +0 -434
- package/esm2015/lib/services/user-preference.service.js +0 -82
- package/esm2015/lib/services/widget-content.service.js +0 -182
- package/fesm2015/sunbird-cb-utils.js.map +0 -1
- package/sunbird-cb-utils-1.0.19-ang-13-16.tgz +0 -0
- /package/{esm2015/lib/constants/features.enum.js → esm2022/lib/constants/features.enum.mjs} +0 -0
- /package/{esm2015/lib/constants/instances.enum.js → esm2022/lib/constants/instances.enum.mjs} +0 -0
- /package/{esm2015/lib/constants/misc.constants.js → esm2022/lib/constants/misc.constants.mjs} +0 -0
- /package/{esm2015/lib/helpers/functions/getStringifiedQueryParams.js → esm2022/lib/helpers/functions/getStringifiedQueryParams.mjs} +0 -0
- /package/{esm2015/lib/models/contentRating.model.js → esm2022/lib/models/contentRating.model.mjs} +0 -0
- /package/{esm2015/lib/resolvers/page.constant.js → esm2022/lib/resolvers/page.constant.mjs} +0 -0
- /package/{esm2015/lib/resolvers/page.model.js → esm2022/lib/resolvers/page.model.mjs} +0 -0
- /package/{esm2015/lib/resolvers/resolver.model.js → esm2022/lib/resolvers/resolver.model.mjs} +0 -0
- /package/{esm2015/lib/services/card-content.model.js → esm2022/lib/services/card-content.model.mjs} +0 -0
- /package/{esm2015/lib/services/configurations.model.js → esm2022/lib/services/configurations.model.mjs} +0 -0
- /package/{esm2015/lib/services/content-strip-multiple.model.js → esm2022/lib/services/content-strip-multiple.model.mjs} +0 -0
- /package/{esm2015/lib/services/event.model.js → esm2022/lib/services/event.model.mjs} +0 -0
- /package/{esm2015/lib/services/ms-office.model.js → esm2022/lib/services/ms-office.model.mjs} +0 -0
- /package/{esm2015/lib/services/user-preference.model.js → esm2022/lib/services/user-preference.model.mjs} +0 -0
- /package/{esm2015/lib/services/widget-content.model.js → esm2022/lib/services/widget-content.model.mjs} +0 -0
- /package/{esm2015/lib/services/widget-resolver.model.js → esm2022/lib/services/widget-resolver.model.mjs} +0 -0
- /package/{esm2015/lib/services/widget-search.model.js → esm2022/lib/services/widget-search.model.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2022/public-api.mjs} +0 -0
- /package/{esm2015/sunbird-cb-utils.js → esm2022/sunbird-cb-utils.mjs} +0 -0
- /package/{sunbird-cb-utils.d.ts → index.d.ts} +0 -0
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { debounceTime, retry, catchError } from 'rxjs/operators';
|
|
4
|
-
import { of } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
import * as i2 from "./configurations.service";
|
|
8
|
-
const endpoints = {
|
|
9
|
-
userPref: '/apis/protected/v8/user/preference',
|
|
10
|
-
};
|
|
11
|
-
export class UserPreferenceService {
|
|
12
|
-
constructor(http, configurationSvc) {
|
|
13
|
-
this.http = http;
|
|
14
|
-
this.configurationSvc = configurationSvc;
|
|
15
|
-
}
|
|
16
|
-
initialize() {
|
|
17
|
-
this.configurationSvc.prefChangeNotifier
|
|
18
|
-
.pipe(debounceTime(250))
|
|
19
|
-
.subscribe((changedUserPref) => {
|
|
20
|
-
if (this.configurationSvc.isAuthenticated) {
|
|
21
|
-
this.saveUserPreference(changedUserPref);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
fetchUserPreference() {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
const pref = yield this.http.get(endpoints.userPref).toPromise();
|
|
28
|
-
return pref;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
saveUserPreference(changedUserPref) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
try {
|
|
34
|
-
if (!changedUserPref) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
const newUserPref = Object.assign(Object.assign(Object.assign(Object.assign({}, this.configurationSvc.userPreference), { pinnedApps: (changedUserPref && changedUserPref.pinnedApps) ||
|
|
38
|
-
(this.configurationSvc.userPreference &&
|
|
39
|
-
this.configurationSvc.userPreference.pinnedApps) ||
|
|
40
|
-
'', isDarkMode: this.configurationSvc.isDarkMode, isRTL: this.configurationSvc.isRTL, selectedTheme: (this.configurationSvc.activeThemeObject &&
|
|
41
|
-
this.configurationSvc.activeThemeObject.themeClass) ||
|
|
42
|
-
'', selectedFont: (this.configurationSvc.activeFontObject &&
|
|
43
|
-
this.configurationSvc.activeFontObject.fontClass) ||
|
|
44
|
-
'', selectedLangGroup: (this.configurationSvc.userPreference &&
|
|
45
|
-
this.configurationSvc.userPreference.selectedLangGroup) ||
|
|
46
|
-
'', selectedLocale: (this.configurationSvc.userPreference &&
|
|
47
|
-
this.configurationSvc.userPreference.selectedLocale) ||
|
|
48
|
-
'', colorPallet: (this.configurationSvc.userPreference &&
|
|
49
|
-
this.configurationSvc.userPreference.colorPallet) ||
|
|
50
|
-
[], defaultCardType: (this.configurationSvc.userPreference &&
|
|
51
|
-
this.configurationSvc.userPreference.defaultCardType) ||
|
|
52
|
-
'', completedActivity: (this.configurationSvc.userPreference &&
|
|
53
|
-
this.configurationSvc.userPreference.completedActivity) ||
|
|
54
|
-
[] }), (changedUserPref || {})), { completedTour: this.configurationSvc.completedTour, profileSettings: (this.configurationSvc.userPreference &&
|
|
55
|
-
this.configurationSvc.userPreference.profileSettings) ||
|
|
56
|
-
this.configurationSvc.profileSettings });
|
|
57
|
-
const oldUserPref = this.configurationSvc.userPreference;
|
|
58
|
-
this.configurationSvc.userPreference = newUserPref;
|
|
59
|
-
yield this.http
|
|
60
|
-
.put(endpoints.userPref, newUserPref)
|
|
61
|
-
.pipe(retry(3), catchError(err => {
|
|
62
|
-
this.configurationSvc.userPreference = oldUserPref;
|
|
63
|
-
return of(err);
|
|
64
|
-
}))
|
|
65
|
-
.toPromise();
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
catch (err) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
UserPreferenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UserPreferenceService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigurationsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
UserPreferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UserPreferenceService, providedIn: 'root' });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UserPreferenceService, decorators: [{
|
|
77
|
-
type: Injectable,
|
|
78
|
-
args: [{
|
|
79
|
-
providedIn: 'root',
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigurationsService }]; } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9zZXJ2aWNlcy91c2VyLXByZWZlcmVuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUkxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBQ3pCLE1BQU0sU0FBUyxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxvQ0FBb0M7Q0FDL0MsQ0FBQTtBQUlELE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsSUFBZ0IsRUFBVSxnQkFBdUM7UUFBakUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBdUI7SUFBSSxDQUFDO0lBRTFGLFVBQVU7UUFDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCO2FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkIsU0FBUyxDQUFDLENBQUMsZUFBMEMsRUFBRSxFQUFFO1lBQ3hELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFBO2FBQ3pDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUssbUJBQW1COztZQUN2QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFrQixTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDakYsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO0tB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QUE7YUFDYjtRQUNILENBQUM7S0FBQTs7bUhBckZVLHFCQUFxQjt1SEFBckIscUJBQXFCLGNBRnBCLE1BQU07NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IElVc2VyUHJlZmVyZW5jZSB9IGZyb20gJy4vdXNlci1wcmVmZXJlbmNlLm1vZGVsJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgcmV0cnksIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJ1xyXG5jb25zdCBlbmRwb2ludHMgPSB7XHJcbiAgdXNlclByZWY6ICcvYXBpcy9wcm90ZWN0ZWQvdjgvdXNlci9wcmVmZXJlbmNlJyxcclxufVxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VTZXJ2aWNlIHtcclxuICAvLyBkbyBjaGFuZ2VzIGluIHRoZSBiYWNrZW5kIGFuZCB1cGRhdGUgdGhlIHN0b3JlXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWd1cmF0aW9uU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UpIHsgfVxyXG5cclxuICBpbml0aWFsaXplKCkge1xyXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU3ZjLnByZWZDaGFuZ2VOb3RpZmllclxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjUwKSlcclxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlZFVzZXJQcmVmPzogUGFydGlhbDxJVXNlclByZWZlcmVuY2U+KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvblN2Yy5pc0F1dGhlbnRpY2F0ZWQpIHtcclxuICAgICAgICAgIHRoaXMuc2F2ZVVzZXJQcmVmZXJlbmNlKGNoYW5nZWRVc2VyUHJlZilcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBhc3luYyBmZXRjaFVzZXJQcmVmZXJlbmNlKCk6IFByb21pc2U8SVVzZXJQcmVmZXJlbmNlPiB7XHJcbiAgICBjb25zdCBwcmVmID0gYXdhaXQgdGhpcy5odHRwLmdldDxJVXNlclByZWZlcmVuY2U+KGVuZHBvaW50cy51c2VyUHJlZikudG9Qcm9taXNlKClcclxuICAgIHJldHVybiBwcmVmXHJcbiAgfVxyXG5cclxuICBhc3luYyBzYXZlVXNlclByZWZlcmVuY2UoY2hhbmdlZFVzZXJQcmVmPzogUGFydGlhbDxJVXNlclByZWZlcmVuY2U+KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIWNoYW5nZWRVc2VyUHJlZikge1xyXG4gICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5ld1VzZXJQcmVmOiBJVXNlclByZWZlcmVuY2UgPSB7XHJcbiAgICAgICAgLi4udGhpcy5jb25maWd1cmF0aW9uU3ZjLnVzZXJQcmVmZXJlbmNlLFxyXG4gICAgICAgIHBpbm5lZEFwcHM6XHJcbiAgICAgICAgICAoY2hhbmdlZFVzZXJQcmVmICYmIGNoYW5nZWRVc2VyUHJlZi5waW5uZWRBcHBzKSB8fFxyXG4gICAgICAgICAgKHRoaXMuY29uZmlndXJhdGlvblN2Yy51c2VyUHJlZmVyZW5jZSAmJlxyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdmMudXNlclByZWZlcmVuY2UucGlubmVkQXBwcykgfHxcclxuICAgICAgICAgICcnLFxyXG4gICAgICAgIGlzRGFya01vZGU6IHRoaXMuY29uZmlndXJhdGlvblN2Yy5pc0RhcmtNb2RlLFxyXG4gICAgICAgIGlzUlRMOiB0aGlzLmNvbmZpZ3VyYXRpb25TdmMuaXNSVEwsXHJcbiAgICAgICAgc2VsZWN0ZWRUaGVtZTpcclxuICAgICAgICAgICh0aGlzLmNvbmZpZ3VyYXRpb25TdmMuYWN0aXZlVGhlbWVPYmplY3QgJiZcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0LnRoZW1lQ2xhc3MpIHx8XHJcbiAgICAgICAgICAnJyxcclxuICAgICAgICBzZWxlY3RlZEZvbnQ6XHJcbiAgICAgICAgICAodGhpcy5jb25maWd1cmF0aW9uU3ZjLmFjdGl2ZUZvbnRPYmplY3QgJiZcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3ZjLmFjdGl2ZUZvbnRPYmplY3QuZm9udENsYXNzKSB8fFxyXG4gICAgICAgICAgJycsXHJcbiAgICAgICAgc2VsZWN0ZWRMYW5nR3JvdXA6XHJcbiAgICAgICAgICAodGhpcy5jb25maWd1cmF0aW9uU3ZjLnVzZXJQcmVmZXJlbmNlICYmXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN2Yy51c2VyUHJlZmVyZW5jZS5zZWxlY3RlZExhbmdHcm91cCkgfHxcclxuICAgICAgICAgICcnLFxyXG4gICAgICAgIHNlbGVjdGVkTG9jYWxlOlxyXG4gICAgICAgICAgKHRoaXMuY29uZmlndXJhdGlvblN2Yy51c2VyUHJlZmVyZW5jZSAmJlxyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdmMudXNlclByZWZlcmVuY2Uuc2VsZWN0ZWRMb2NhbGUpIHx8XHJcbiAgICAgICAgICAnJyxcclxuICAgICAgICBjb2xvclBhbGxldDpcclxuICAgICAgICAgICh0aGlzLmNvbmZpZ3VyYXRpb25TdmMudXNlclByZWZlcmVuY2UgJiZcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3ZjLnVzZXJQcmVmZXJlbmNlLmNvbG9yUGFsbGV0KSB8fFxyXG4gICAgICAgICAgW10sXHJcbiAgICAgICAgZGVmYXVsdENhcmRUeXBlOlxyXG4gICAgICAgICAgKHRoaXMuY29uZmlndXJhdGlvblN2Yy51c2VyUHJlZmVyZW5jZSAmJlxyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdmMudXNlclByZWZlcmVuY2UuZGVmYXVsdENhcmRUeXBlKSB8fFxyXG4gICAgICAgICAgJycsXHJcbiAgICAgICAgY29tcGxldGVkQWN0aXZpdHk6XHJcbiAgICAgICAgICAodGhpcy5jb25maWd1cmF0aW9uU3ZjLnVzZXJQcmVmZXJlbmNlICYmXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN2Yy51c2VyUHJlZmVyZW5jZS5jb21wbGV0ZWRBY3Rpdml0eSkgfHxcclxuICAgICAgICAgIFtdLFxyXG4gICAgICAgIC4uLihjaGFuZ2VkVXNlclByZWYgfHwge30pLFxyXG4gICAgICAgIGNvbXBsZXRlZFRvdXI6IHRoaXMuY29uZmlndXJhdGlvblN2Yy5jb21wbGV0ZWRUb3VyLFxyXG4gICAgICAgIHByb2ZpbGVTZXR0aW5nczpcclxuICAgICAgICAgICh0aGlzLmNvbmZpZ3VyYXRpb25TdmMudXNlclByZWZlcmVuY2UgJiZcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3ZjLnVzZXJQcmVmZXJlbmNlLnByb2ZpbGVTZXR0aW5ncykgfHxcclxuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN2Yy5wcm9maWxlU2V0dGluZ3MsXHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgb2xkVXNlclByZWY6IElVc2VyUHJlZmVyZW5jZSB8IG51bGwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TdmMudXNlclByZWZlcmVuY2VcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3ZjLnVzZXJQcmVmZXJlbmNlID0gbmV3VXNlclByZWZcclxuICAgICAgYXdhaXQgdGhpcy5odHRwXHJcbiAgICAgICAgLnB1dChlbmRwb2ludHMudXNlclByZWYsIG5ld1VzZXJQcmVmKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgcmV0cnkoMyksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN2Yy51c2VyUHJlZmVyZW5jZSA9IG9sZFVzZXJQcmVmXHJcbiAgICAgICAgICAgIHJldHVybiBvZihlcnIpXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { catchError, retry } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
import * as i2 from "./configurations.service";
|
|
8
|
-
const PROTECTED_SLAG_V8 = '/apis/protected/v8';
|
|
9
|
-
const API_END_POINTS = {
|
|
10
|
-
CONTENT: `${PROTECTED_SLAG_V8}/content`,
|
|
11
|
-
AUTHORING_CONTENT: `/apis/authApi/hierarchy`,
|
|
12
|
-
CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,
|
|
13
|
-
SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,
|
|
14
|
-
SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,
|
|
15
|
-
FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,
|
|
16
|
-
FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,
|
|
17
|
-
MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,
|
|
18
|
-
CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,
|
|
19
|
-
CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,
|
|
20
|
-
CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,
|
|
21
|
-
CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,
|
|
22
|
-
USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,
|
|
23
|
-
CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,
|
|
24
|
-
CONTENT_RATING_V2: `${PROTECTED_SLAG_V8}/user/rating/content/average-ratingInfo`,
|
|
25
|
-
COLLECTION_HIERARCHY: (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,
|
|
26
|
-
REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,
|
|
27
|
-
MARK_AS_COMPLETE_META: (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,
|
|
28
|
-
};
|
|
29
|
-
export class WidgetContentService {
|
|
30
|
-
constructor(http, configSvc) {
|
|
31
|
-
this.http = http;
|
|
32
|
-
this.configSvc = configSvc;
|
|
33
|
-
}
|
|
34
|
-
fetchMarkAsCompleteMeta(identifier) {
|
|
35
|
-
const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier);
|
|
36
|
-
return this.http.get(url).toPromise();
|
|
37
|
-
}
|
|
38
|
-
fetchContent(contentId, hierarchyType = 'detail', additionalFields = []) {
|
|
39
|
-
const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`;
|
|
40
|
-
return this.http
|
|
41
|
-
.post(url, { additionalFields })
|
|
42
|
-
.pipe(retry(1));
|
|
43
|
-
}
|
|
44
|
-
fetchAuthoringContent(contentId) {
|
|
45
|
-
const url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}`;
|
|
46
|
-
return this.http.get(url).pipe(retry(1));
|
|
47
|
-
}
|
|
48
|
-
fetchMultipleContent(ids) {
|
|
49
|
-
return this.http.get(`${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`);
|
|
50
|
-
}
|
|
51
|
-
fetchCollectionHierarchy(type, id, pageNumber = 0, pageSize = 1) {
|
|
52
|
-
return this.http.get(`${API_END_POINTS.COLLECTION_HIERARCHY(type, id)}?pageNumber=${pageNumber}&pageSize=${pageSize}`);
|
|
53
|
-
}
|
|
54
|
-
fetchContentLikes(contentIds) {
|
|
55
|
-
return this.http
|
|
56
|
-
.post(API_END_POINTS.CONTENT_LIKES, contentIds)
|
|
57
|
-
.toPromise();
|
|
58
|
-
}
|
|
59
|
-
fetchContentRatings(contentIds) {
|
|
60
|
-
return this.http
|
|
61
|
-
.post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)
|
|
62
|
-
.toPromise();
|
|
63
|
-
}
|
|
64
|
-
fetchContentRatingsV2(contentId) {
|
|
65
|
-
return this.http
|
|
66
|
-
.get(`${API_END_POINTS.CONTENT_RATING_V2}/${contentId}`);
|
|
67
|
-
}
|
|
68
|
-
fetchContentHistory(contentId) {
|
|
69
|
-
return this.http.get(`${API_END_POINTS.CONTENT_HISTORY}/${contentId}`);
|
|
70
|
-
}
|
|
71
|
-
continueLearning(id, collectionId, collectionType) {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
if (collectionType &&
|
|
75
|
-
collectionType.toLowerCase() === 'playlist') {
|
|
76
|
-
const reqBody = {
|
|
77
|
-
contextPathId: collectionId ? collectionId : id,
|
|
78
|
-
resourceId: id,
|
|
79
|
-
data: JSON.stringify({
|
|
80
|
-
timestamp: Date.now(),
|
|
81
|
-
contextFullPath: [collectionId, id],
|
|
82
|
-
}),
|
|
83
|
-
dateAccessed: Date.now(),
|
|
84
|
-
contextType: 'playlist',
|
|
85
|
-
};
|
|
86
|
-
yield this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {
|
|
87
|
-
resolve(true);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
const reqBody = {
|
|
92
|
-
contextPathId: collectionId ? collectionId : id,
|
|
93
|
-
resourceId: id,
|
|
94
|
-
data: JSON.stringify({ timestamp: Date.now() }),
|
|
95
|
-
dateAccessed: Date.now(),
|
|
96
|
-
};
|
|
97
|
-
yield this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {
|
|
98
|
-
resolve(true);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}));
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
saveContinueLearning(content) {
|
|
105
|
-
const url = API_END_POINTS.USER_CONTINUE_LEARNING;
|
|
106
|
-
return this.http.post(url, content);
|
|
107
|
-
}
|
|
108
|
-
setS3Cookie(contentId) {
|
|
109
|
-
return this.http
|
|
110
|
-
.post(API_END_POINTS.SET_S3_COOKIE, { contentId })
|
|
111
|
-
.pipe(catchError(_err => of(true)));
|
|
112
|
-
}
|
|
113
|
-
setS3ImageCookie() {
|
|
114
|
-
return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)));
|
|
115
|
-
}
|
|
116
|
-
fetchManifest(url) {
|
|
117
|
-
return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url });
|
|
118
|
-
}
|
|
119
|
-
fetchWebModuleContent(url) {
|
|
120
|
-
return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`);
|
|
121
|
-
}
|
|
122
|
-
search(req) {
|
|
123
|
-
req.query = req.query || '';
|
|
124
|
-
return this.http.post(API_END_POINTS.CONTENT_SEARCH_V5, {
|
|
125
|
-
request: req,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
searchRegionRecommendation(req) {
|
|
129
|
-
req.query = req.query || '';
|
|
130
|
-
req.preLabelValue =
|
|
131
|
-
(req.preLabelValue || '') +
|
|
132
|
-
((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');
|
|
133
|
-
req.filters = Object.assign(Object.assign({}, req.filters), { labels: [req.preLabelValue || ''] });
|
|
134
|
-
return this.http.post(API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION, { request: req });
|
|
135
|
-
}
|
|
136
|
-
searchV6(req) {
|
|
137
|
-
req.query = req.query || '';
|
|
138
|
-
return this.http.post(API_END_POINTS.CONTENT_SEARCH_V6, req);
|
|
139
|
-
}
|
|
140
|
-
fetchContentRating(contentId) {
|
|
141
|
-
return this.http.get(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);
|
|
142
|
-
}
|
|
143
|
-
deleteContentRating(contentId) {
|
|
144
|
-
return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);
|
|
145
|
-
}
|
|
146
|
-
addContentRating(contentId, data) {
|
|
147
|
-
return this.http.post(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data);
|
|
148
|
-
}
|
|
149
|
-
getFirstChildInHierarchy(content) {
|
|
150
|
-
if (!(content.children || []).length) {
|
|
151
|
-
return content;
|
|
152
|
-
}
|
|
153
|
-
if (content.contentType === 'Learning Path' &&
|
|
154
|
-
!(content.artifactUrl && content.artifactUrl.length)) {
|
|
155
|
-
const child = content.children[0];
|
|
156
|
-
return this.getFirstChildInHierarchy(child);
|
|
157
|
-
}
|
|
158
|
-
if (content.contentType === 'Resource' ||
|
|
159
|
-
content.contentType === 'Knowledge Artifact' ||
|
|
160
|
-
content.contentType === 'Learning Path') {
|
|
161
|
-
return content;
|
|
162
|
-
}
|
|
163
|
-
const firstChild = content.children[0];
|
|
164
|
-
const resultContent = this.getFirstChildInHierarchy(firstChild);
|
|
165
|
-
return resultContent;
|
|
166
|
-
}
|
|
167
|
-
getRegistrationStatus(source) {
|
|
168
|
-
return this.http.get(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise();
|
|
169
|
-
}
|
|
170
|
-
fetchConfig(url) {
|
|
171
|
-
return this.http.get(url);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
WidgetContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WidgetContentService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigurationsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
175
|
-
WidgetContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WidgetContentService, providedIn: 'root' });
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WidgetContentService, decorators: [{
|
|
177
|
-
type: Injectable,
|
|
178
|
-
args: [{
|
|
179
|
-
providedIn: 'root',
|
|
180
|
-
}]
|
|
181
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigurationsService }]; } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7O0FBUWxELE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUE7QUFFOUMsTUFBTSxjQUFjLEdBQUc7SUFDckIsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLFVBQVU7SUFDdkMsaUJBQWlCLEVBQUUseUJBQXlCO0lBQzVDLGFBQWEsRUFBRSxHQUFHLGlCQUFpQixvQkFBb0I7SUFDdkQsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLG9CQUFvQjtJQUN2RCxtQkFBbUIsRUFBRSxHQUFHLGlCQUFpQix5QkFBeUI7SUFDbEUsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLCtCQUErQjtJQUNuRSxzQkFBc0IsRUFBRSxHQUFHLGlCQUFpQiw0QkFBNEI7SUFDeEUsZ0JBQWdCLEVBQUUsR0FBRyxpQkFBaUIsbUJBQW1CO0lBQ3pELGlCQUFpQixFQUFFLEdBQUcsaUJBQWlCLG1CQUFtQjtJQUMxRCxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQixtQkFBbUI7SUFDMUQsb0NBQW9DLEVBQUUsR0FBRyxpQkFBaUIscUNBQXFDO0lBQy9GLGVBQWUsRUFBRSxHQUFHLGlCQUFpQixlQUFlO0lBQ3BELHNCQUFzQixFQUFFLEdBQUcsaUJBQWlCLHdCQUF3QjtJQUNwRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsY0FBYztJQUNsRCxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQix5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TyxhQUFhLENBQUE7SUFDdEIsQ0FBQztJQUVELHFCQUFxQixDQUFDLE1BQWM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzFGLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7O2tIQXRMVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IElDb250ZW50UmF0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnRlbnRSYXRpbmcubW9kZWwnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4vY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCdcclxuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi93aWRnZXQtY29udGVudC5tb2RlbCdcclxuaW1wb3J0IHsgTlNTZWFyY2ggfSBmcm9tICcuL3dpZGdldC1zZWFyY2gubW9kZWwnXHJcblxyXG4vLyBUT0RPOiBtb3ZlIHRoaXMgaW4gc29tZSBjb21tb24gcGxhY2VcclxuY29uc3QgUFJPVEVDVEVEX1NMQUdfVjggPSAnL2FwaXMvcHJvdGVjdGVkL3Y4J1xyXG5cclxuY29uc3QgQVBJX0VORF9QT0lOVFMgPSB7XHJcbiAgQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnRgLFxyXG4gIEFVVEhPUklOR19DT05URU5UOiBgL2FwaXMvYXV0aEFwaS9oaWVyYXJjaHlgLFxyXG4gIENPTlRFTlRfTElLRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2xpa2VDb3VudGAsXHJcbiAgU0VUX1MzX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0Q29va2llYCxcclxuICBTRVRfUzNfSU1BR0VfQ09PS0lFOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZXRJbWFnZUNvb2tpZWAsXHJcbiAgRkVUQ0hfTUFOSUZFU1Q6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZU1hbmlmZXN0YCxcclxuICBGRVRDSF9XRUJfTU9EVUxFX0ZJTEVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVGaWxlc2AsXHJcbiAgTVVMVElQTEVfQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvbXVsdGlwbGVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y1OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNWAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfVjY6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFY2YCxcclxuICBDT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT046IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uYCxcclxuICBDT05URU5UX0hJU1RPUlk6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnlgLFxyXG4gIFVTRVJfQ09OVElOVUVfTEVBUk5JTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnkvY29udGludWVgLFxyXG4gIENPTlRFTlRfUkFUSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9yYXRpbmdgLFxyXG4gIENPTlRFTlRfUkFUSU5HX1YyOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9yYXRpbmcvY29udGVudC9hdmVyYWdlLXJhdGluZ0luZm9gLFxyXG4gIENPTExFQ1RJT05fSElFUkFSQ0hZOiAodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nKSA9PlxyXG4gICAgYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvY29sbGVjdGlvbi8ke3R5cGV9LyR7aWR9YCxcclxuICBSRUdJU1RSQVRJT05fU1RBVFVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vYWRtaW4vdXNlclJlZ2lzdHJhdGlvbi9jaGVja1VzZXJSZWdpc3RyYXRpb25Db250ZW50YCxcclxuICBNQVJLX0FTX0NPTVBMRVRFX01FVEE6IChjb250ZW50SWQ6IHN0cmluZykgPT4gYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcHJvZ3Jlc3MvJHtjb250ZW50SWR9YCxcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpZGdldENvbnRlbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBmZXRjaE1hcmtBc0NvbXBsZXRlTWV0YShpZGVudGlmaWVyOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gQVBJX0VORF9QT0lOVFMuTUFSS19BU19DT01QTEVURV9NRVRBKGlkZW50aWZpZXIpXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnQoXHJcbiAgICBjb250ZW50SWQ6IHN0cmluZyxcclxuICAgIGhpZXJhcmNoeVR5cGU6ICdhbGwnIHwgJ21pbmltYWwnIHwgJ2RldGFpbCcgPSAnZGV0YWlsJyxcclxuICAgIGFkZGl0aW9uYWxGaWVsZHM6IHN0cmluZ1tdID0gW10sXHJcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlR9LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPSR7aGllcmFyY2h5VHlwZX1gXHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PE5zQ29udGVudC5JQ29udGVudD4odXJsLCB7IGFkZGl0aW9uYWxGaWVsZHMgfSlcclxuICAgICAgLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoQXV0aG9yaW5nQ29udGVudChjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5BVVRIT1JJTkdfQ09OVEVOVH0vJHtjb250ZW50SWR9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50Pih1cmwpLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoTXVsdGlwbGVDb250ZW50KGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnRbXT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLk1VTFRJUExFX0NPTlRFTlR9LyR7aWRzLmpvaW4oJywnKX1gLFxyXG4gICAgKVxyXG4gIH1cclxuICBmZXRjaENvbGxlY3Rpb25IaWVyYXJjaHkodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIgPSAwLCBwYWdlU2l6ZTogbnVtYmVyID0gMSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb2xsZWN0aW9uSGllcmFyY2h5UmVzcG9uc2U+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT0xMRUNUSU9OX0hJRVJBUkNIWShcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIGlkLFxyXG4gICAgICApfT9wYWdlTnVtYmVyPSR7cGFnZU51bWJlcn0mcGFnZVNpemU9JHtwYWdlU2l6ZX1gLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50TGlrZXMoY29udGVudElkczogeyBjb250ZW50X2lkOiBzdHJpbmdbXSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PHsgW2lkZW50aWZpZXI6IHN0cmluZ106IG51bWJlciB9PihBUElfRU5EX1BPSU5UUy5DT05URU5UX0xJS0VTLCBjb250ZW50SWRzKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICB9XHJcbiAgZmV0Y2hDb250ZW50UmF0aW5ncyhjb250ZW50SWRzOiB7IGNvbnRlbnRJZHM6IHN0cmluZ1tdIH0pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9L3JhdGluZ2AsIGNvbnRlbnRJZHMpXHJcbiAgICAgIC50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5nc1YyKGNvbnRlbnRJZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8SUNvbnRlbnRSYXRpbmc+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HX1YyfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50SGlzdG9yeShjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfSElTVE9SWX0vJHtjb250ZW50SWR9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGFzeW5jIGNvbnRpbnVlTGVhcm5pbmcoaWQ6IHN0cmluZywgY29sbGVjdGlvbklkPzogc3RyaW5nLCBjb2xsZWN0aW9uVHlwZT86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7XHJcbiAgICAgIGlmIChjb2xsZWN0aW9uVHlwZSAmJlxyXG4gICAgICAgIGNvbGxlY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdwbGF5bGlzdCcpIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgICBjb250ZXh0RnVsbFBhdGg6IFtjb2xsZWN0aW9uSWQsIGlkXSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgY29udGV4dFR5cGU6ICdwbGF5bGlzdCcsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHJlcUJvZHkgPSB7XHJcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcclxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxyXG4gICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0aW1lc3RhbXA6IERhdGUubm93KCkgfSksXHJcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBzYXZlQ29udGludWVMZWFybmluZyhjb250ZW50OiBOc0NvbnRlbnQuSVZpZXdlckNvbnRpbnVlTGVhcm5pbmdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLlVTRVJfQ09OVElOVUVfTEVBUk5JTkdcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgY29udGVudClcclxuICB9XHJcblxyXG4gIHNldFMzQ29va2llKFxyXG4gICAgY29udGVudElkOiBzdHJpbmcsXHJcbiAgICAvLyBfcGF0aDogc3RyaW5nLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19DT09LSUUsIHsgY29udGVudElkIH0pXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgfVxyXG5cclxuICBzZXRTM0ltYWdlQ29va2llKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0lNQUdFX0NPT0tJRSwge30pLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcclxuICB9XHJcblxyXG4gIGZldGNoTWFuaWZlc3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLkZFVENIX01BTklGRVNULCB7IHVybCB9KVxyXG4gIH1cclxuICBmZXRjaFdlYk1vZHVsZUNvbnRlbnQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7QVBJX0VORF9QT0lOVFMuRkVUQ0hfV0VCX01PRFVMRV9GSUxFU30/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVybCl9YClcclxuICB9XHJcbiAgc2VhcmNoKHJlcTogTlNTZWFyY2guSVNlYXJjaFJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y1LCB7XHJcbiAgICAgIHJlcXVlc3Q6IHJlcSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHNlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uKFxyXG4gICAgcmVxOiBOU1NlYXJjaC5JU2VhcmNoT3JnUmVnaW9uUmVjb21tZW5kYXRpb25SZXF1ZXN0LFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50U3RyaXBNdWx0aXBsZS5JQ29udGVudFN0cmlwUmVzcG9uc2VBcGk+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmVxLnByZUxhYmVsVmFsdWUgPVxyXG4gICAgICAocmVxLnByZUxhYmVsVmFsdWUgfHwgJycpICtcclxuICAgICAgKCh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5jb3VudHJ5KSB8fCAnJylcclxuICAgIHJlcS5maWx0ZXJzID0ge1xyXG4gICAgICAuLi5yZXEuZmlsdGVycyxcclxuICAgICAgbGFiZWxzOiBbcmVxLnByZUxhYmVsVmFsdWUgfHwgJyddLFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPihcclxuICAgICAgQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OLFxyXG4gICAgICB7IHJlcXVlc3Q6IHJlcSB9LFxyXG4gICAgKVxyXG4gIH1cclxuICBzZWFyY2hWNihyZXE6IE5TU2VhcmNoLklTZWFyY2hWNlJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNiwgcmVxKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IHJhdGluZzogbnVtYmVyIH0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgcmF0aW5nOiBudW1iZXIgfT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGRlbGV0ZUNvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGFkZENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcsIGRhdGE6IHsgcmF0aW5nOiBudW1iZXIgfSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQpOiBOc0NvbnRlbnQuSUNvbnRlbnQge1xyXG4gICAgaWYgKCEoY29udGVudC5jaGlsZHJlbiB8fCBbXSkubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBjb250ZW50XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQuY29udGVudFR5cGUgPT09ICdMZWFybmluZyBQYXRoJyAmJlxyXG4gICAgICAhKGNvbnRlbnQuYXJ0aWZhY3RVcmwgJiYgY29udGVudC5hcnRpZmFjdFVybC5sZW5ndGgpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgY2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICAgIHJldHVybiB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjaGlsZClcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29udGVudC5jb250ZW50VHlwZSA9PT0gJ1Jlc291cmNlJyB8fFxyXG4gICAgICBjb250ZW50LmNvbnRlbnRUeXBlID09PSAnS25vd2xlZGdlIEFydGlmYWN0JyB8fFxyXG4gICAgICBjb250ZW50LmNvbnRlbnRUeXBlID09PSAnTGVhcm5pbmcgUGF0aCdcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgY29uc3QgZmlyc3RDaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF1cclxuICAgIGNvbnN0IHJlc3VsdENvbnRlbnQgPSB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShmaXJzdENoaWxkKVxyXG4gICAgcmV0dXJuIHJlc3VsdENvbnRlbnRcclxuICB9XHJcblxyXG4gIGdldFJlZ2lzdHJhdGlvblN0YXR1cyhzb3VyY2U6IHN0cmluZyk6IFByb21pc2U8eyBoYXNBY2Nlc3M6IGJvb2xlYW47IHJlZ2lzdHJhdGlvblVybD86IHN0cmluZyB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLlJFR0lTVFJBVElPTl9TVEFUVVN9LyR7c291cmNlfWApLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbmZpZyh1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih1cmwpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|