@sunbird-cb/utils-v2 0.0.9 → 0.0.11
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/bundles/sunbird-cb-utils-v2.umd.js +6680 -6693
- package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -1
- package/bundles/sunbird-cb-utils-v2.umd.min.js +1 -1
- package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -1
- package/esm2015/lib/components/image-crop/image-crop.component.js +194 -194
- package/esm2015/lib/components/image-crop/image-crop.module.js +26 -26
- package/esm2015/lib/constants/features.enum.js +554 -554
- package/esm2015/lib/constants/instances.enum.js +4 -4
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +86 -86
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +14 -14
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +37 -37
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +14 -14
- package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +91 -91
- package/esm2015/lib/directives/image-responsive/image-responsive.module.js +14 -14
- package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +67 -67
- package/esm2015/lib/directives/in-view-port/in-view-port.module.js +14 -14
- package/esm2015/lib/directives/navigation/navigation.directive.js +38 -38
- package/esm2015/lib/directives/navigation/navigation.module.js +14 -14
- package/esm2015/lib/directives/permission/permission.directive.js +10 -10
- package/esm2015/lib/directives/permission/permission.module.js +14 -14
- package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +8 -8
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +98 -98
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +18 -18
- package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +194 -194
- package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +19 -19
- package/esm2015/lib/helpers/logout/logout.component.js +89 -89
- package/esm2015/lib/helpers/logout/logout.module.js +19 -19
- package/esm2015/lib/models/profile-v3.models.js +104 -104
- package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +15 -15
- package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +94 -111
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +12 -12
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +58 -58
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +14 -14
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +32 -32
- package/esm2015/lib/pipes/pipe-coursename/PipeCourseNameModule.js +15 -15
- package/esm2015/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +13 -13
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +14 -14
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +42 -42
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +14 -14
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +81 -81
- package/esm2015/lib/pipes/pipe-email/pipe-email.module.js +15 -15
- package/esm2015/lib/pipes/pipe-email/pipe-email.pipe.js +12 -12
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +14 -14
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +15 -15
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +14 -14
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +37 -37
- package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +14 -14
- package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +20 -20
- package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +15 -15
- package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +23 -23
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +14 -14
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +11 -11
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +14 -14
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +24 -24
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +14 -14
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +16 -16
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +14 -14
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +26 -26
- package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.module.js +15 -15
- package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +39 -39
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +14 -14
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +15 -15
- package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.module.js +15 -15
- package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +17 -17
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +14 -14
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +17 -17
- package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +15 -15
- package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +26 -26
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +14 -14
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +15 -15
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +14 -14
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +34 -34
- package/esm2015/lib/resolvers/explore-detail.resolver.js +88 -88
- package/esm2015/lib/resolvers/marketing-offering.resolve.js +39 -39
- package/esm2015/lib/resolvers/module-name.resolver.js +38 -38
- package/esm2015/lib/resolvers/page-name.resolver.js +32 -32
- package/esm2015/lib/resolvers/page.constant.js +3 -3
- package/esm2015/lib/resolvers/page.model.js +47 -47
- package/esm2015/lib/resolvers/page.resolver.js +89 -89
- package/esm2015/lib/resolvers/resolver.model.js +5 -5
- package/esm2015/lib/services/auth-keycloak.service.js +267 -267
- package/esm2015/lib/services/auth-microsoft.service.js +195 -195
- package/esm2015/lib/services/card-content.model.js +30 -30
- package/esm2015/lib/services/configurations.model.js +550 -550
- package/esm2015/lib/services/configurations.service.js +140 -140
- package/esm2015/lib/services/content-strip-multiple.model.js +74 -74
- package/esm2015/lib/services/event.model.js +257 -257
- package/esm2015/lib/services/event.service.js +210 -210
- package/esm2015/lib/services/logger.service.js +54 -54
- package/esm2015/lib/services/ms-office.model.js +7 -7
- package/esm2015/lib/services/multilingual-translations.service.js +136 -136
- package/esm2015/lib/services/nps-grid.service.js +45 -45
- package/esm2015/lib/services/subapplication-respond.service.js +213 -213
- package/esm2015/lib/services/telemetry.service.js +620 -620
- package/esm2015/lib/services/user-preference.model.js +37 -37
- package/esm2015/lib/services/user-preference.service.js +89 -89
- package/esm2015/lib/services/utility.service.js +144 -144
- package/esm2015/lib/services/value.service.js +30 -30
- package/esm2015/lib/services/widget-content.model.js +372 -372
- package/esm2015/lib/services/widget-content.service.js +204 -200
- package/esm2015/lib/services/widget-resolver.model.js +56 -56
- package/esm2015/lib/services/widget-search.model.js +125 -125
- package/esm2015/public-api.js +87 -87
- package/esm2015/sunbird-cb-utils-v2.js +9 -9
- package/esm5/lib/components/image-crop/image-crop.component.js +199 -199
- package/esm5/lib/components/image-crop/image-crop.module.js +30 -30
- package/esm5/lib/constants/features.enum.js +554 -554
- package/esm5/lib/constants/instances.enum.js +4 -4
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +104 -104
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +18 -18
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +39 -39
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +18 -18
- package/esm5/lib/directives/image-responsive/image-responsive.directive.js +94 -94
- package/esm5/lib/directives/image-responsive/image-responsive.module.js +18 -18
- package/esm5/lib/directives/in-view-port/in-view-port.directive.js +72 -72
- package/esm5/lib/directives/in-view-port/in-view-port.module.js +18 -18
- package/esm5/lib/directives/navigation/navigation.directive.js +40 -40
- package/esm5/lib/directives/navigation/navigation.module.js +18 -18
- package/esm5/lib/directives/permission/permission.directive.js +13 -13
- package/esm5/lib/directives/permission/permission.module.js +18 -18
- package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +8 -8
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +102 -102
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +22 -22
- package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +199 -199
- package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +23 -23
- package/esm5/lib/helpers/logout/logout.component.js +95 -95
- package/esm5/lib/helpers/logout/logout.module.js +23 -23
- package/esm5/lib/models/profile-v3.models.js +104 -104
- package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +19 -19
- package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +96 -113
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +16 -16
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +62 -62
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +18 -18
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +36 -36
- package/esm5/lib/pipes/pipe-coursename/PipeCourseNameModule.js +19 -19
- package/esm5/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +17 -17
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +18 -18
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +44 -44
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +18 -18
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +85 -85
- package/esm5/lib/pipes/pipe-email/pipe-email.module.js +19 -19
- package/esm5/lib/pipes/pipe-email/pipe-email.pipe.js +16 -16
- package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +18 -18
- package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +19 -19
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +18 -18
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +45 -45
- package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +18 -18
- package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +24 -24
- package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +19 -19
- package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +31 -31
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +18 -18
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +15 -15
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +18 -18
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +29 -29
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +18 -18
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +20 -20
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +18 -18
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +30 -30
- package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.module.js +19 -19
- package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +41 -41
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +18 -18
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +17 -17
- package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.module.js +19 -19
- package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +21 -21
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +18 -18
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +33 -33
- package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +19 -19
- package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +28 -28
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +18 -18
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +19 -19
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +18 -18
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +37 -37
- package/esm5/lib/resolvers/explore-detail.resolver.js +92 -92
- package/esm5/lib/resolvers/marketing-offering.resolve.js +42 -42
- package/esm5/lib/resolvers/module-name.resolver.js +40 -40
- package/esm5/lib/resolvers/page-name.resolver.js +35 -35
- package/esm5/lib/resolvers/page.constant.js +3 -3
- package/esm5/lib/resolvers/page.model.js +47 -47
- package/esm5/lib/resolvers/page.resolver.js +97 -97
- package/esm5/lib/resolvers/resolver.model.js +5 -5
- package/esm5/lib/services/auth-keycloak.service.js +352 -352
- package/esm5/lib/services/auth-microsoft.service.js +250 -250
- package/esm5/lib/services/card-content.model.js +30 -30
- package/esm5/lib/services/configurations.model.js +550 -550
- package/esm5/lib/services/configurations.service.js +142 -142
- package/esm5/lib/services/content-strip-multiple.model.js +74 -74
- package/esm5/lib/services/event.model.js +257 -257
- package/esm5/lib/services/event.service.js +214 -214
- package/esm5/lib/services/logger.service.js +72 -72
- package/esm5/lib/services/ms-office.model.js +7 -7
- package/esm5/lib/services/multilingual-translations.service.js +138 -138
- package/esm5/lib/services/nps-grid.service.js +47 -47
- package/esm5/lib/services/subapplication-respond.service.js +218 -218
- package/esm5/lib/services/telemetry.service.js +669 -669
- package/esm5/lib/services/user-preference.model.js +37 -37
- package/esm5/lib/services/user-preference.service.js +108 -108
- package/esm5/lib/services/utility.service.js +177 -177
- package/esm5/lib/services/value.service.js +32 -32
- package/esm5/lib/services/widget-content.model.js +372 -372
- package/esm5/lib/services/widget-content.service.js +226 -222
- package/esm5/lib/services/widget-resolver.model.js +56 -56
- package/esm5/lib/services/widget-search.model.js +125 -125
- package/esm5/public-api.js +87 -87
- package/esm5/sunbird-cb-utils-v2.js +9 -9
- package/fesm2015/sunbird-cb-utils-v2.js +6168 -6181
- package/fesm2015/sunbird-cb-utils-v2.js.map +1 -1
- package/fesm5/sunbird-cb-utils-v2.js +6677 -6690
- package/fesm5/sunbird-cb-utils-v2.js.map +1 -1
- package/lib/components/image-crop/image-crop.component.d.ts +56 -56
- package/lib/components/image-crop/image-crop.module.d.ts +2 -2
- package/lib/constants/features.enum.d.ts +553 -553
- package/lib/constants/instances.enum.d.ts +3 -3
- package/lib/constants/misc.constants.d.ts +2 -2
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +18 -18
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +2 -2
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +9 -9
- package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +2 -2
- package/lib/directives/image-responsive/image-responsive.directive.d.ts +17 -17
- package/lib/directives/image-responsive/image-responsive.module.d.ts +2 -2
- package/lib/directives/in-view-port/in-view-port.directive.d.ts +11 -11
- package/lib/directives/in-view-port/in-view-port.module.d.ts +2 -2
- package/lib/directives/navigation/navigation.directive.d.ts +9 -9
- package/lib/directives/navigation/navigation.module.d.ts +2 -2
- package/lib/directives/permission/permission.directive.d.ts +3 -3
- package/lib/directives/permission/permission.module.d.ts +2 -2
- package/lib/helpers/functions/getStringifiedQueryParams.d.ts +3 -3
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +18 -18
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +2 -2
- package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +36 -36
- package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +2 -2
- package/lib/helpers/logout/logout.component.d.ts +20 -20
- package/lib/helpers/logout/logout.module.d.ts +2 -2
- package/lib/models/profile-v3.models.d.ts +91 -91
- package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.d.ts +2 -2
- package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.d.ts +6 -6
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +2 -2
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +10 -10
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +2 -2
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +4 -4
- package/lib/pipes/pipe-coursename/PipeCourseNameModule.d.ts +2 -2
- package/lib/pipes/pipe-coursename/pipe-coursename.pipe.d.ts +4 -4
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +2 -2
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +13 -13
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +2 -2
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +6 -6
- package/lib/pipes/pipe-email/pipe-email.module.d.ts +2 -2
- package/lib/pipes/pipe-email/pipe-email.pipe.d.ts +4 -4
- package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +2 -2
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +4 -4
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +2 -2
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +4 -4
- package/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.d.ts +2 -2
- package/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.d.ts +4 -4
- package/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.d.ts +2 -2
- package/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.d.ts +4 -4
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +2 -2
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +4 -4
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +2 -2
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +4 -4
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +2 -2
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +4 -4
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +2 -2
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +9 -9
- package/lib/pipes/pipe-nic-relative/pipe-nic-relative.module.d.ts +2 -2
- package/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.d.ts +7 -7
- package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +2 -2
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +9 -9
- package/lib/pipes/pipe-ordinal/pipe-ordinal.module.d.ts +2 -2
- package/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.d.ts +4 -4
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +2 -2
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +4 -4
- package/lib/pipes/pipe-public-URL/pipe-public-URL.module.d.ts +2 -2
- package/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +6 -6
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +2 -2
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +4 -4
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +2 -2
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +7 -7
- package/lib/resolvers/explore-detail.resolver.d.ts +16 -16
- package/lib/resolvers/marketing-offering.resolve.d.ts +10 -10
- package/lib/resolvers/module-name.resolver.d.ts +6 -6
- package/lib/resolvers/page-name.resolver.d.ts +5 -5
- package/lib/resolvers/page.constant.d.ts +1 -1
- package/lib/resolvers/page.model.d.ts +41 -41
- package/lib/resolvers/page.resolver.d.ts +17 -17
- package/lib/resolvers/resolver.model.d.ts +4 -4
- package/lib/services/auth-keycloak.service.d.ts +31 -31
- package/lib/services/auth-microsoft.service.d.ts +30 -30
- package/lib/services/card-content.model.d.ts +29 -29
- package/lib/services/configurations.model.d.ts +523 -523
- package/lib/services/configurations.service.d.ts +73 -73
- package/lib/services/content-strip-multiple.model.d.ts +79 -79
- package/lib/services/event.model.d.ts +221 -221
- package/lib/services/event.service.d.ts +30 -30
- package/lib/services/logger.service.d.ts +15 -15
- package/lib/services/ms-office.model.d.ts +6 -6
- package/lib/services/multilingual-translations.service.d.ts +20 -20
- package/lib/services/nps-grid.service.d.ts +12 -12
- package/lib/services/subapplication-respond.service.d.ts +23 -23
- package/lib/services/telemetry.service.d.ts +56 -56
- package/lib/services/user-preference.model.d.ts +34 -34
- package/lib/services/user-preference.service.d.ts +11 -11
- package/lib/services/utility.service.d.ts +31 -31
- package/lib/services/value.service.d.ts +8 -8
- package/lib/services/widget-content.model.d.ts +344 -344
- package/lib/services/widget-content.service.d.ts +50 -49
- package/lib/services/widget-resolver.model.d.ts +48 -48
- package/lib/services/widget-search.model.d.ts +114 -114
- package/package.json +1 -1
- package/public-api.d.ts +87 -87
- package/sunbird-cb-utils-v2.d.ts +9 -9
- package/sunbird-cb-utils-v2.metadata.json +1 -1
|
@@ -1,200 +1,204 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { of, EMPTY } from 'rxjs';
|
|
5
|
-
import { catchError, retry } from 'rxjs/operators';
|
|
6
|
-
import { ConfigurationsService } from './configurations.service';
|
|
7
|
-
import { NsContent } from './widget-content.model';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common/http";
|
|
10
|
-
import * as i2 from "./configurations.service";
|
|
11
|
-
const PROTECTED_SLAG_V8 = '/apis/protected/v8';
|
|
12
|
-
const ɵ0 = (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`, ɵ1 = (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`, ɵ2 = (contentId) => `/apis/proxies/v8/cios-enroll/v1/readby/useridcourseid/${contentId}`;
|
|
13
|
-
const API_END_POINTS = {
|
|
14
|
-
CONTENT: `${PROTECTED_SLAG_V8}/content`,
|
|
15
|
-
AUTHORING_CONTENT: `/apis/authApi/hierarchy`,
|
|
16
|
-
CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,
|
|
17
|
-
SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,
|
|
18
|
-
SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,
|
|
19
|
-
FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,
|
|
20
|
-
FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,
|
|
21
|
-
MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,
|
|
22
|
-
CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,
|
|
23
|
-
CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,
|
|
24
|
-
CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,
|
|
25
|
-
CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,
|
|
26
|
-
USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,
|
|
27
|
-
CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,
|
|
28
|
-
COLLECTION_HIERARCHY: (ɵ0),
|
|
29
|
-
REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,
|
|
30
|
-
MARK_AS_COMPLETE_META: (ɵ1),
|
|
31
|
-
EXT_USER_COURSE_ENROLL: (ɵ2),
|
|
32
|
-
EXT_CONTENT_EROLL: `/apis/proxies/v8/cios-enroll/v1/create`,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
req.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
content.primaryCategory === NsContent.EPrimaryCategory.
|
|
161
|
-
content.primaryCategory === NsContent.EPrimaryCategory.
|
|
162
|
-
content.primaryCategory === NsContent.EPrimaryCategory.
|
|
163
|
-
content.primaryCategory === NsContent.EPrimaryCategory.
|
|
164
|
-
content.primaryCategory === NsContent.EPrimaryCategory.
|
|
165
|
-
content.primaryCategory === NsContent.EPrimaryCategory.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
];
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O01BSTVDLGlCQUFpQixHQUFHLG9CQUFvQjtXQWlCdEIsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFFLEVBQUUsQ0FDakQsR0FBRyxpQkFBaUIsdUJBQXVCLElBQUksSUFBSSxFQUFFLEVBQUUsT0FFbEMsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixrQkFBa0IsU0FBUyxFQUFFLE9BQ3RFLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyx5REFBeUQsU0FBUyxFQUFFO01BbkI3RyxjQUFjLEdBQUc7SUFDckIsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLFVBQVU7SUFDdkMsaUJBQWlCLEVBQUUseUJBQXlCO0lBQzVDLGFBQWEsRUFBRSxHQUFHLGlCQUFpQixvQkFBb0I7SUFDdkQsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLG9CQUFvQjtJQUN2RCxtQkFBbUIsRUFBRSxHQUFHLGlCQUFpQix5QkFBeUI7SUFDbEUsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLCtCQUErQjtJQUNuRSxzQkFBc0IsRUFBRSxHQUFH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QUFRLENBQUMsQ0FBQyxDQUFDO2NBQ2hDLGFBQWEsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDO1FBQy9ELE9BQU8sYUFBYSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFjO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxjQUFjLENBQUMsbUJBQW1CLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUMxRixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsU0FBaUI7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxjQUFjLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUUsV0FBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ2hGLENBQUM7OztZQWxORixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXJDUSxVQUFVO1lBSVYscUJBQXFCOzs7O0lBdUMxQixvQ0FBd0I7SUFDeEIseUNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIEVNUFRZIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBOc0NvbnRlbnRTdHJpcE11bHRpcGxlIH0gZnJvbSAnLi9jb250ZW50LXN0cmlwLW11bHRpcGxlLm1vZGVsJ1xyXG5pbXBvcnQgeyBOc0NvbnRlbnQgfSBmcm9tICcuL3dpZGdldC1jb250ZW50Lm1vZGVsJ1xyXG5pbXBvcnQgeyBOU1NlYXJjaCB9IGZyb20gJy4vd2lkZ2V0LXNlYXJjaC5tb2RlbCdcclxuXHJcbi8vIFRPRE86IG1vdmUgdGhpcyBpbiBzb21lIGNvbW1vbiBwbGFjZVxyXG5jb25zdCBQUk9URUNURURfU0xBR19WOCA9ICcvYXBpcy9wcm90ZWN0ZWQvdjgnXHJcblxyXG5jb25zdCBBUElfRU5EX1BPSU5UUyA9IHtcclxuICBDT05URU5UOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudGAsXHJcbiAgQVVUSE9SSU5HX0NPTlRFTlQ6IGAvYXBpcy9hdXRoQXBpL2hpZXJhcmNoeWAsXHJcbiAgQ09OVEVOVF9MSUtFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvbGlrZUNvdW50YCxcclxuICBTRVRfUzNfQ09PS0lFOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZXRDb29raWVgLFxyXG4gIFNFVF9TM19JTUFHRV9DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldEltYWdlQ29va2llYCxcclxuICBGRVRDSF9NQU5JRkVTVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlTWFuaWZlc3RgLFxyXG4gIEZFVENIX1dFQl9NT0RVTEVfRklMRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZUZpbGVzYCxcclxuICBNVUxUSVBMRV9DT05URU5UOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9tdWx0aXBsZWAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfVjU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFY1YCxcclxuICBDT05URU5UX1NFQVJDSF9WNjogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoVjZgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1JFR0lPTl9SRUNPTU1FTkRBVElPTjogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoUmVnaW9uUmVjb21tZW5kYXRpb25gLFxyXG4gIENPTlRFTlRfSElTVE9SWTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvaGlzdG9yeWAsXHJcbiAgVVNFUl9DT05USU5VRV9MRUFSTklORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvaGlzdG9yeS9jb250aW51ZWAsXHJcbiAgQ09OVEVOVF9SQVRJTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL3JhdGluZ2AsXHJcbiAgQ09MTEVDVElPTl9ISUVSQVJDSFk6ICh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcpID0+XHJcbiAgICBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9jb2xsZWN0aW9uLyR7dHlwZX0vJHtpZH1gLFxyXG4gIFJFR0lTVFJBVElPTl9TVEFUVVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9hZG1pbi91c2VyUmVnaXN0cmF0aW9uL2NoZWNrVXNlclJlZ2lzdHJhdGlvbkNvbnRlbnRgLFxyXG4gIE1BUktfQVNfQ09NUExFVEVfTUVUQTogKGNvbnRlbnRJZDogc3RyaW5nKSA9PiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9wcm9ncmVzcy8ke2NvbnRlbnRJZH1gLFxyXG4gIEVYVF9VU0VSX0NPVVJTRV9FTlJPTEwgOiAoY29udGVudElkOiBhbnkpID0+IGAvYXBpcy9wcm94aWVzL3Y4L2Npb3MtZW5yb2xsL3YxL3JlYWRieS91c2VyaWRjb3Vyc2VpZC8ke2NvbnRlbnRJZH1gLFxyXG4gIEVYVF9DT05URU5UX0VST0xMOiBgL2FwaXMvcHJveGllcy92OC9jaW9zLWVucm9sbC92MS9jcmVhdGVgLFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgdGhpcyB3aWxsIGJlIGRlcHJpY2F0ZWRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb250ZW50U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgZmV0Y2hNYXJrQXNDb21wbGV0ZU1ldGEoaWRlbnRpZmllcjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxyXG4gICAgY29uc3QgdXJsID0gQVBJX0VORF9QT0lOVFMuTUFSS19BU19DT01QTEVURV9NRVRBKGlkZW50aWZpZXIpXHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnRvUHJvbWlzZSgpXHJcbiAgICBpZiAodXJsKSB7IH1cclxuICAgIHJldHVybiBvZigpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnQoXHJcbiAgICBjb250ZW50SWQ6IHN0cmluZyxcclxuICAgIGhpZXJhcmNoeVR5cGU6ICdhbGwnIHwgJ21pbmltYWwnIHwgJ2RldGFpbCcgPSAnZGV0YWlsJyxcclxuICAgIGFkZGl0aW9uYWxGaWVsZHM6IHN0cmluZ1tdID0gW10sXHJcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlR9LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPSR7aGllcmFyY2h5VHlwZX1gXHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PE5zQ29udGVudC5JQ29udGVudD4odXJsLCB7IGFkZGl0aW9uYWxGaWVsZHMgfSlcclxuICAgICAgLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoQXV0aG9yaW5nQ29udGVudChjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5BVVRIT1JJTkdfQ09OVEVOVH0vJHtjb250ZW50SWR9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50Pih1cmwpLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoTXVsdGlwbGVDb250ZW50KGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnRbXT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLk1VTFRJUExFX0NPTlRFTlR9LyR7aWRzLmpvaW4oJywnKX1gLFxyXG4gICAgKVxyXG4gIH1cclxuICBmZXRjaENvbGxlY3Rpb25IaWVyYXJjaHkodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIgPSAwLCBwYWdlU2l6ZTogbnVtYmVyID0gMSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb2xsZWN0aW9uSGllcmFyY2h5UmVzcG9uc2U+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT0xMRUNUSU9OX0hJRVJBUkNIWShcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIGlkLFxyXG4gICAgICApfT9wYWdlTnVtYmVyPSR7cGFnZU51bWJlcn0mcGFnZVNpemU9JHtwYWdlU2l6ZX1gLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50TGlrZXMoY29udGVudElkczogeyBjb250ZW50X2lkOiBzdHJpbmdbXSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PHsgW2lkZW50aWZpZXI6IHN0cmluZ106IG51bWJlciB9PihBUElfRU5EX1BPSU5UUy5DT05URU5UX0xJS0VTLCBjb250ZW50SWRzKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZ3MoY29udGVudElkczogeyBjb250ZW50SWRzOiBzdHJpbmdbXSB9KSB7XHJcbiAgICBpZiAoY29udGVudElkcykgeyB9XHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAvLyAgIC5wb3N0KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS9yYXRpbmdgLCBjb250ZW50SWRzKVxyXG4gICAgLy8gICAudG9Qcm9taXNlKClcclxuICAgIHJldHVybiBvZigpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRIaXN0b3J5KGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9ISVNUT1JZfS8ke2NvbnRlbnRJZH1gLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY29udGludWVMZWFybmluZyhpZDogc3RyaW5nLCBjb2xsZWN0aW9uSWQ/OiBzdHJpbmcsIGNvbGxlY3Rpb25UeXBlPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHtcclxuICAgICAgaWYgKGNvbGxlY3Rpb25UeXBlICYmXHJcbiAgICAgICAgY29sbGVjdGlvblR5cGUudG9Mb3dlckNhc2UoKSA9PT0gJ3BsYXlsaXN0Jykge1xyXG4gICAgICAgIGNvbnN0IHJlcUJvZHkgPSB7XHJcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcclxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxyXG4gICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXHJcbiAgICAgICAgICAgIGNvbnRleHRGdWxsUGF0aDogW2NvbGxlY3Rpb25JZCwgaWRdLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXHJcbiAgICAgICAgICBjb250ZXh0VHlwZTogJ3BsYXlsaXN0JyxcclxuICAgICAgICB9XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlQ29udGludWVMZWFybmluZyhyZXFCb2R5KS50b1Byb21pc2UoKS5jYXRjaCgpLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcclxuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxyXG4gICAgICAgICAgcmVzb3VyY2VJZDogaWQsXHJcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHRpbWVzdGFtcDogRGF0ZS5ub3coKSB9KSxcclxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcclxuICAgICAgICB9XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlQ29udGludWVMZWFybmluZyhyZXFCb2R5KS50b1Byb21pc2UoKS5jYXRjaCgpLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHNhdmVDb250aW51ZUxlYXJuaW5nKGNvbnRlbnQ6IE5zQ29udGVudC5JVmlld2VyQ29udGludWVMZWFybmluZ1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gY29uc3QgdXJsID0gQVBJX0VORF9QT0lOVFMuVVNFUl9DT05USU5VRV9MRUFSTklOR1xyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBjb250ZW50KVxyXG4gICAgaWYgKGNvbnRlbnQpIHtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoKSBhcyBhbnlcclxuICB9XHJcblxyXG4gIHNldFMzQ29va2llKFxyXG4gICAgX2NvbnRlbnRJZDogc3RyaW5nLFxyXG4gICAgLy8gX3BhdGg6IHN0cmluZyxcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgLy8gICAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfQ09PS0lFLCB7IGNvbnRlbnRJZCB9KVxyXG4gICAgLy8gICAucGlwZShjYXRjaEVycm9yKF9lcnIgPT4gb2YodHJ1ZSkpKVxyXG4gICAgcmV0dXJuIEVNUFRZXHJcbiAgfVxyXG5cclxuICBzZXRTM0ltYWdlQ29va2llKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0lNQUdFX0NPT0tJRSwge30pLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcclxuICB9XHJcblxyXG4gIGZldGNoTWFuaWZlc3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLkZFVENIX01BTklGRVNULCB7IHVybCB9KVxyXG4gIH1cclxuICBmZXRjaFdlYk1vZHVsZUNvbnRlbnQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7QVBJX0VORF9QT0lOVFMuRkVUQ0hfV0VCX01PRFVMRV9GSUxFU30/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVybCl9YClcclxuICB9XHJcbiAgc2VhcmNoKHJlcTogTlNTZWFyY2guSVNlYXJjaFJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y1LCB7XHJcbiAgICAgIHJlcXVlc3Q6IHJlcSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHNlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uKFxyXG4gICAgcmVxOiBOU1NlYXJjaC5JU2VhcmNoT3JnUmVnaW9uUmVjb21tZW5kYXRpb25SZXF1ZXN0LFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50U3RyaXBNdWx0aXBsZS5JQ29udGVudFN0cmlwUmVzcG9uc2VBcGk+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmVxLnByZUxhYmVsVmFsdWUgPVxyXG4gICAgICAocmVxLnByZUxhYmVsVmFsdWUgfHwgJycpICtcclxuICAgICAgKCh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5jb3VudHJ5KSB8fCAnJylcclxuICAgIHJlcS5maWx0ZXJzID0ge1xyXG4gICAgICAuLi5yZXEuZmlsdGVycyxcclxuICAgICAgbGFiZWxzOiBbcmVxLnByZUxhYmVsVmFsdWUgfHwgJyddLFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPihcclxuICAgICAgQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OLFxyXG4gICAgICB7IHJlcXVlc3Q6IHJlcSB9LFxyXG4gICAgKVxyXG4gIH1cclxuICBzZWFyY2hWNihyZXE6IE5TU2VhcmNoLklTZWFyY2hWNlJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNiwgcmVxKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IHJhdGluZzogbnVtYmVyIH0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgcmF0aW5nOiBudW1iZXIgfT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGRlbGV0ZUNvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGFkZENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcsIGRhdGE6IHsgcmF0aW5nOiBudW1iZXIgfSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YCwgZGF0YSlcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHdpbGwgYmUgZGVwcmljYXRlZC5cclxuICAgKi9cclxuICBnZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY29udGVudDogTnNDb250ZW50LklDb250ZW50KTogTnNDb250ZW50LklDb250ZW50IHtcclxuICAgIGlmICghKGNvbnRlbnQuY2hpbGRyZW4gfHwgW10pLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gJ1Byb2dyYW0nICYmXHJcbiAgICAgICEoY29udGVudC5hcnRpZmFjdFVybCAmJiBjb250ZW50LmFydGlmYWN0VXJsLmxlbmd0aClcclxuICAgICkge1xyXG4gICAgICBjb25zdCBjaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF1cclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGNoaWxkKVxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUkVTT1VSQ0UgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LktOT1dMRURHRV9BUlRJRkFDVCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJPR1JBTSB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJBQ1RJQ0VfUkVTT1VSQ0UgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LkZJTkFMX0FTU0VTU01FTlQgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LkNPTVBfQVNTRVNTTUVOVCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuTUFOREFUT1JZX0NPVVJTRV9HT0FMIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5PRkZMSU5FX1NFU1NJT05cclxuICAgICkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgY29uc3QgZmlyc3RDaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF1cclxuICAgIGNvbnN0IHJlc3VsdENvbnRlbnQgPSB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShmaXJzdENoaWxkKVxyXG4gICAgcmV0dXJuIHJlc3VsdENvbnRlbnRcclxuICB9XHJcblxyXG4gIGdldFJlZ2lzdHJhdGlvblN0YXR1cyhzb3VyY2U6IHN0cmluZyk6IFByb21pc2U8eyBoYXNBY2Nlc3M6IGJvb2xlYW47IHJlZ2lzdHJhdGlvblVybD86IHN0cmluZyB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLlJFR0lTVFJBVElPTl9TVEFUVVN9LyR7c291cmNlfWApLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbmZpZyh1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih1cmwpXHJcbiAgfVxyXG5cclxuICBmZXRjaEV4dFVzZXJDb250ZW50RW5yb2xsKGNvbnRlbnRJZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KEFQSV9FTkRfUE9JTlRTLkVYVF9VU0VSX0NPVVJTRV9FTlJPTEwoY29udGVudElkKSlcclxuICB9XHJcblxyXG4gIGV4dENvbnRlbnRFbnJvbGwgKHJlcXVlc3RCb2R5OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkVYVF9DT05URU5UX0VST0xMfWAsIHJlcXVlc3RCb2R5KVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { of, EMPTY } from 'rxjs';
|
|
5
|
+
import { catchError, retry } from 'rxjs/operators';
|
|
6
|
+
import { ConfigurationsService } from './configurations.service';
|
|
7
|
+
import { NsContent } from './widget-content.model';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common/http";
|
|
10
|
+
import * as i2 from "./configurations.service";
|
|
11
|
+
const PROTECTED_SLAG_V8 = '/apis/protected/v8';
|
|
12
|
+
const ɵ0 = (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`, ɵ1 = (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`, ɵ2 = (contentId) => `/apis/proxies/v8/cios-enroll/v1/readby/useridcourseid/${contentId}`, ɵ3 = (certId) => `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/download/${certId}`;
|
|
13
|
+
const API_END_POINTS = {
|
|
14
|
+
CONTENT: `${PROTECTED_SLAG_V8}/content`,
|
|
15
|
+
AUTHORING_CONTENT: `/apis/authApi/hierarchy`,
|
|
16
|
+
CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,
|
|
17
|
+
SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,
|
|
18
|
+
SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,
|
|
19
|
+
FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,
|
|
20
|
+
FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,
|
|
21
|
+
MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,
|
|
22
|
+
CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,
|
|
23
|
+
CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,
|
|
24
|
+
CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,
|
|
25
|
+
CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,
|
|
26
|
+
USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,
|
|
27
|
+
CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,
|
|
28
|
+
COLLECTION_HIERARCHY: (ɵ0),
|
|
29
|
+
REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,
|
|
30
|
+
MARK_AS_COMPLETE_META: (ɵ1),
|
|
31
|
+
EXT_USER_COURSE_ENROLL: (ɵ2),
|
|
32
|
+
EXT_CONTENT_EROLL: `/apis/proxies/v8/cios-enroll/v1/create`,
|
|
33
|
+
CERT_DOWNLOAD: (ɵ3),
|
|
34
|
+
};
|
|
35
|
+
export class WidgetContentService {
|
|
36
|
+
constructor(http, configSvc) {
|
|
37
|
+
this.http = http;
|
|
38
|
+
this.configSvc = configSvc;
|
|
39
|
+
}
|
|
40
|
+
fetchMarkAsCompleteMeta(identifier) {
|
|
41
|
+
const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier);
|
|
42
|
+
if (url) { }
|
|
43
|
+
return of().toPromise();
|
|
44
|
+
}
|
|
45
|
+
fetchContent(contentId, hierarchyType = 'detail', additionalFields = []) {
|
|
46
|
+
const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`;
|
|
47
|
+
return this.http
|
|
48
|
+
.post(url, { additionalFields })
|
|
49
|
+
.pipe(retry(1));
|
|
50
|
+
}
|
|
51
|
+
fetchAuthoringContent(contentId) {
|
|
52
|
+
const url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}`;
|
|
53
|
+
return this.http.get(url).pipe(retry(1));
|
|
54
|
+
}
|
|
55
|
+
fetchMultipleContent(ids) {
|
|
56
|
+
return this.http.get(`${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`);
|
|
57
|
+
}
|
|
58
|
+
fetchCollectionHierarchy(type, id, pageNumber = 0, pageSize = 1) {
|
|
59
|
+
return this.http.get(`${API_END_POINTS.COLLECTION_HIERARCHY(type, id)}?pageNumber=${pageNumber}&pageSize=${pageSize}`);
|
|
60
|
+
}
|
|
61
|
+
fetchContentLikes(contentIds) {
|
|
62
|
+
return this.http
|
|
63
|
+
.post(API_END_POINTS.CONTENT_LIKES, contentIds)
|
|
64
|
+
.toPromise();
|
|
65
|
+
}
|
|
66
|
+
fetchContentRatings(contentIds) {
|
|
67
|
+
if (contentIds) { }
|
|
68
|
+
return of().toPromise();
|
|
69
|
+
}
|
|
70
|
+
fetchContentHistory(contentId) {
|
|
71
|
+
return this.http.get(`${API_END_POINTS.CONTENT_HISTORY}/${contentId}`);
|
|
72
|
+
}
|
|
73
|
+
continueLearning(id, collectionId, collectionType) {
|
|
74
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
return new Promise(((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
if (collectionType &&
|
|
77
|
+
collectionType.toLowerCase() === 'playlist') {
|
|
78
|
+
const reqBody = {
|
|
79
|
+
contextPathId: collectionId ? collectionId : id,
|
|
80
|
+
resourceId: id,
|
|
81
|
+
data: JSON.stringify({
|
|
82
|
+
timestamp: Date.now(),
|
|
83
|
+
contextFullPath: [collectionId, id],
|
|
84
|
+
}),
|
|
85
|
+
dateAccessed: Date.now(),
|
|
86
|
+
contextType: 'playlist',
|
|
87
|
+
};
|
|
88
|
+
yield this.saveContinueLearning(reqBody).toPromise().catch().finally((() => {
|
|
89
|
+
resolve(true);
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const reqBody = {
|
|
94
|
+
contextPathId: collectionId ? collectionId : id,
|
|
95
|
+
resourceId: id,
|
|
96
|
+
data: JSON.stringify({ timestamp: Date.now() }),
|
|
97
|
+
dateAccessed: Date.now(),
|
|
98
|
+
};
|
|
99
|
+
yield this.saveContinueLearning(reqBody).toPromise().catch().finally((() => {
|
|
100
|
+
resolve(true);
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
})));
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
saveContinueLearning(content) {
|
|
107
|
+
if (content) {
|
|
108
|
+
}
|
|
109
|
+
return ((of()));
|
|
110
|
+
}
|
|
111
|
+
setS3Cookie(_contentId) {
|
|
112
|
+
return EMPTY;
|
|
113
|
+
}
|
|
114
|
+
setS3ImageCookie() {
|
|
115
|
+
return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError((_err => of(true))));
|
|
116
|
+
}
|
|
117
|
+
fetchManifest(url) {
|
|
118
|
+
return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url });
|
|
119
|
+
}
|
|
120
|
+
fetchWebModuleContent(url) {
|
|
121
|
+
return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`);
|
|
122
|
+
}
|
|
123
|
+
search(req) {
|
|
124
|
+
req.query = req.query || '';
|
|
125
|
+
return this.http.post(API_END_POINTS.CONTENT_SEARCH_V5, {
|
|
126
|
+
request: req,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
searchRegionRecommendation(req) {
|
|
130
|
+
req.query = req.query || '';
|
|
131
|
+
req.preLabelValue =
|
|
132
|
+
(req.preLabelValue || '') +
|
|
133
|
+
((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');
|
|
134
|
+
req.filters = Object.assign({}, req.filters, { labels: [req.preLabelValue || ''] });
|
|
135
|
+
return this.http.post(API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION, { request: req });
|
|
136
|
+
}
|
|
137
|
+
searchV6(req) {
|
|
138
|
+
req.query = req.query || '';
|
|
139
|
+
return this.http.post(API_END_POINTS.CONTENT_SEARCH_V6, req);
|
|
140
|
+
}
|
|
141
|
+
fetchContentRating(contentId) {
|
|
142
|
+
return this.http.get(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);
|
|
143
|
+
}
|
|
144
|
+
deleteContentRating(contentId) {
|
|
145
|
+
return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);
|
|
146
|
+
}
|
|
147
|
+
addContentRating(contentId, data) {
|
|
148
|
+
return this.http.post(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data);
|
|
149
|
+
}
|
|
150
|
+
getFirstChildInHierarchy(content) {
|
|
151
|
+
if (!(content.children || []).length) {
|
|
152
|
+
return content;
|
|
153
|
+
}
|
|
154
|
+
if (content.primaryCategory === 'Program' &&
|
|
155
|
+
!(content.artifactUrl && content.artifactUrl.length)) {
|
|
156
|
+
const child = content.children[0];
|
|
157
|
+
return this.getFirstChildInHierarchy(child);
|
|
158
|
+
}
|
|
159
|
+
if (content.primaryCategory === NsContent.EPrimaryCategory.RESOURCE ||
|
|
160
|
+
content.primaryCategory === NsContent.EPrimaryCategory.KNOWLEDGE_ARTIFACT ||
|
|
161
|
+
content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM ||
|
|
162
|
+
content.primaryCategory === NsContent.EPrimaryCategory.PRACTICE_RESOURCE ||
|
|
163
|
+
content.primaryCategory === NsContent.EPrimaryCategory.FINAL_ASSESSMENT ||
|
|
164
|
+
content.primaryCategory === NsContent.EPrimaryCategory.COMP_ASSESSMENT ||
|
|
165
|
+
content.primaryCategory === NsContent.EPrimaryCategory.MANDATORY_COURSE_GOAL ||
|
|
166
|
+
content.primaryCategory === NsContent.EPrimaryCategory.OFFLINE_SESSION) {
|
|
167
|
+
return content;
|
|
168
|
+
}
|
|
169
|
+
const firstChild = content.children[0];
|
|
170
|
+
const resultContent = this.getFirstChildInHierarchy(firstChild);
|
|
171
|
+
return resultContent;
|
|
172
|
+
}
|
|
173
|
+
getRegistrationStatus(source) {
|
|
174
|
+
return this.http.get(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise();
|
|
175
|
+
}
|
|
176
|
+
fetchConfig(url) {
|
|
177
|
+
return this.http.get(url);
|
|
178
|
+
}
|
|
179
|
+
fetchExtUserContentEnroll(contentId) {
|
|
180
|
+
return this.http.get(API_END_POINTS.EXT_USER_COURSE_ENROLL(contentId));
|
|
181
|
+
}
|
|
182
|
+
extContentEnroll(requestBody) {
|
|
183
|
+
return this.http.post(`${API_END_POINTS.EXT_CONTENT_EROLL}`, requestBody);
|
|
184
|
+
}
|
|
185
|
+
downloadCert(certId) {
|
|
186
|
+
return this.http.get(`${API_END_POINTS.CERT_DOWNLOAD(certId)}`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
WidgetContentService.decorators = [
|
|
190
|
+
{ type: Injectable, args: [{
|
|
191
|
+
providedIn: 'root',
|
|
192
|
+
},] }
|
|
193
|
+
];
|
|
194
|
+
WidgetContentService.ctorParameters = () => [
|
|
195
|
+
{ type: HttpClient },
|
|
196
|
+
{ type: ConfigurationsService }
|
|
197
|
+
];
|
|
198
|
+
/** @nocollapse */ WidgetContentService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function WidgetContentService_Factory() { return new WidgetContentService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigurationsService)); }, token: WidgetContentService, providedIn: "root" });
|
|
199
|
+
if (false) {
|
|
200
|
+
WidgetContentService.prototype.http;
|
|
201
|
+
WidgetContentService.prototype.configSvc;
|
|
202
|
+
}
|
|
203
|
+
export { ɵ0, ɵ1, ɵ2, ɵ3 };
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O01BSTVDLGlCQUFpQixHQUFHLG9CQUFvQjtXQWlCdEIsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFFLEVBQUUsQ0FDakQsR0FBRyxpQkFBaUIsdUJBQXVCLElBQUksSUFBSSxFQUFFLEVBQUUsT0FFbEMsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixrQkFBa0IsU0FBUyxFQUFFLE9BQ3ZFLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyx5REFBeUQsU0FBUyxFQUFFLE9BRWpHLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQix1Q0FBdUMsTUFBTSxFQUFFO01BckIvRixjQUFjLEdBQUc7SUFDckIsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLFVBQVU7SUFDdkMsaUJBQWlCLEVBQUUseUJBQXlCO0lBQzVDLGFBQWEsRUFBRSxHQUFHLGlCQUFpQixvQkFBb0I7SUFDdkQsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLG9CQUFvQjtJQUN2RCxtQkFBbUIsRUFBRSxHQUFHLGlCQUFpQix5QkFB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fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBFTVBUWSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4vY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCdcclxuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi93aWRnZXQtY29udGVudC5tb2RlbCdcclxuaW1wb3J0IHsgTlNTZWFyY2ggfSBmcm9tICcuL3dpZGdldC1zZWFyY2gubW9kZWwnXHJcblxyXG4vLyBUT0RPOiBtb3ZlIHRoaXMgaW4gc29tZSBjb21tb24gcGxhY2VcclxuY29uc3QgUFJPVEVDVEVEX1NMQUdfVjggPSAnL2FwaXMvcHJvdGVjdGVkL3Y4J1xyXG5cclxuY29uc3QgQVBJX0VORF9QT0lOVFMgPSB7XHJcbiAgQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnRgLFxyXG4gIEFVVEhPUklOR19DT05URU5UOiBgL2FwaXMvYXV0aEFwaS9oaWVyYXJjaHlgLFxyXG4gIENPTlRFTlRfTElLRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2xpa2VDb3VudGAsXHJcbiAgU0VUX1MzX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0Q29va2llYCxcclxuICBTRVRfUzNfSU1BR0VfQ09PS0lFOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZXRJbWFnZUNvb2tpZWAsXHJcbiAgRkVUQ0hfTUFOSUZFU1Q6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZU1hbmlmZXN0YCxcclxuICBGRVRDSF9XRUJfTU9EVUxFX0ZJTEVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVGaWxlc2AsXHJcbiAgTVVMVElQTEVfQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvbXVsdGlwbGVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y1OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNWAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfVjY6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFY2YCxcclxuICBDT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT046IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uYCxcclxuICBDT05URU5UX0hJU1RPUlk6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnlgLFxyXG4gIFVTRVJfQ09OVElOVUVfTEVBUk5JTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnkvY29udGludWVgLFxyXG4gIENPTlRFTlRfUkFUSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9yYXRpbmdgLFxyXG4gIENPTExFQ1RJT05fSElFUkFSQ0hZOiAodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nKSA9PlxyXG4gICAgYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvY29sbGVjdGlvbi8ke3R5cGV9LyR7aWR9YCxcclxuICBSRUdJU1RSQVRJT05fU1RBVFVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vYWRtaW4vdXNlclJlZ2lzdHJhdGlvbi9jaGVja1VzZXJSZWdpc3RyYXRpb25Db250ZW50YCxcclxuICBNQVJLX0FTX0NPTVBMRVRFX01FVEE6IChjb250ZW50SWQ6IHN0cmluZykgPT4gYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcHJvZ3Jlc3MvJHtjb250ZW50SWR9YCxcclxuICBFWFRfVVNFUl9DT1VSU0VfRU5ST0xMOiAoY29udGVudElkOiBhbnkpID0+IGAvYXBpcy9wcm94aWVzL3Y4L2Npb3MtZW5yb2xsL3YxL3JlYWRieS91c2VyaWRjb3Vyc2VpZC8ke2NvbnRlbnRJZH1gLFxyXG4gIEVYVF9DT05URU5UX0VST0xMOiBgL2FwaXMvcHJveGllcy92OC9jaW9zLWVucm9sbC92MS9jcmVhdGVgLFxyXG4gIENFUlRfRE9XTkxPQUQ6IChjZXJ0SWQ6IGFueSkgPT4gYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvaG9ydHMvY291cnNlL2JhdGNoL2NlcnQvZG93bmxvYWQvJHtjZXJ0SWR9YCxcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIHRoaXMgd2lsbCBiZSBkZXByaWNhdGVkXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgV2lkZ2V0Q29udGVudFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIGZldGNoTWFya0FzQ29tcGxldGVNZXRhKGlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLk1BUktfQVNfQ09NUExFVEVfTUVUQShpZGVudGlmaWVyKVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS50b1Byb21pc2UoKVxyXG4gICAgaWYgKHVybCkgeyB9XHJcbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50KFxyXG4gICAgY29udGVudElkOiBzdHJpbmcsXHJcbiAgICBoaWVyYXJjaHlUeXBlOiAnYWxsJyB8ICdtaW5pbWFsJyB8ICdkZXRhaWwnID0gJ2RldGFpbCcsXHJcbiAgICBhZGRpdGlvbmFsRmllbGRzOiBzdHJpbmdbXSA9IFtdLFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UfS8ke2NvbnRlbnRJZH0/aGllcmFyY2h5VHlwZT0ke2hpZXJhcmNoeVR5cGV9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxOc0NvbnRlbnQuSUNvbnRlbnQ+KHVybCwgeyBhZGRpdGlvbmFsRmllbGRzIH0pXHJcbiAgICAgIC5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaEF1dGhvcmluZ0NvbnRlbnQoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQVVUSE9SSU5HX0NPTlRFTlR9LyR7Y29udGVudElkfWBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudD4odXJsKS5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaE11bHRpcGxlQ29udGVudChpZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5NVUxUSVBMRV9DT05URU5UfS8ke2lkcy5qb2luKCcsJyl9YCxcclxuICAgIClcclxuICB9XHJcbiAgZmV0Y2hDb2xsZWN0aW9uSGllcmFyY2h5KHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZywgcGFnZU51bWJlcjogbnVtYmVyID0gMCwgcGFnZVNpemU6IG51bWJlciA9IDEpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09MTEVDVElPTl9ISUVSQVJDSFkoXHJcbiAgICAgICAgdHlwZSxcclxuICAgICAgICBpZCxcclxuICAgICAgKX0/cGFnZU51bWJlcj0ke3BhZ2VOdW1iZXJ9JnBhZ2VTaXplPSR7cGFnZVNpemV9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudExpa2VzKGNvbnRlbnRJZHM6IHsgY29udGVudF9pZDogc3RyaW5nW10gfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDx7IFtpZGVudGlmaWVyOiBzdHJpbmddOiBudW1iZXIgfT4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9MSUtFUywgY29udGVudElkcylcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRSYXRpbmdzKGNvbnRlbnRJZHM6IHsgY29udGVudElkczogc3RyaW5nW10gfSkge1xyXG4gICAgaWYgKGNvbnRlbnRJZHMpIHsgfVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgLy8gICAucG9zdChgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vcmF0aW5nYCwgY29udGVudElkcylcclxuICAgIC8vICAgLnRvUHJvbWlzZSgpXHJcbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50SGlzdG9yeShjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfSElTVE9SWX0vJHtjb250ZW50SWR9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGFzeW5jIGNvbnRpbnVlTGVhcm5pbmcoaWQ6IHN0cmluZywgY29sbGVjdGlvbklkPzogc3RyaW5nLCBjb2xsZWN0aW9uVHlwZT86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7XHJcbiAgICAgIGlmIChjb2xsZWN0aW9uVHlwZSAmJlxyXG4gICAgICAgIGNvbGxlY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdwbGF5bGlzdCcpIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgICBjb250ZXh0RnVsbFBhdGg6IFtjb2xsZWN0aW9uSWQsIGlkXSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgY29udGV4dFR5cGU6ICdwbGF5bGlzdCcsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHJlcUJvZHkgPSB7XHJcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcclxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxyXG4gICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0aW1lc3RhbXA6IERhdGUubm93KCkgfSksXHJcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBzYXZlQ29udGludWVMZWFybmluZyhjb250ZW50OiBOc0NvbnRlbnQuSVZpZXdlckNvbnRpbnVlTGVhcm5pbmdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLlVTRVJfQ09OVElOVUVfTEVBUk5JTkdcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgY29udGVudClcclxuICAgIGlmIChjb250ZW50KSB7XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9mKCkgYXMgYW55XHJcbiAgfVxyXG5cclxuICBzZXRTM0Nvb2tpZShcclxuICAgIF9jb250ZW50SWQ6IHN0cmluZyxcclxuICAgIC8vIF9wYXRoOiBzdHJpbmcsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC8vICAgLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0NPT0tJRSwgeyBjb250ZW50SWQgfSlcclxuICAgIC8vICAgLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcclxuICAgIHJldHVybiBFTVBUWVxyXG4gIH1cclxuXHJcbiAgc2V0UzNJbWFnZUNvb2tpZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19JTUFHRV9DT09LSUUsIHt9KS5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgfVxyXG5cclxuICBmZXRjaE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChBUElfRU5EX1BPSU5UUy5GRVRDSF9NQU5JRkVTVCwgeyB1cmwgfSlcclxuICB9XHJcbiAgZmV0Y2hXZWJNb2R1bGVDb250ZW50KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke0FQSV9FTkRfUE9JTlRTLkZFVENIX1dFQl9NT0RVTEVfRklMRVN9P3VybD0ke2VuY29kZVVSSUNvbXBvbmVudCh1cmwpfWApXHJcbiAgfVxyXG4gIHNlYXJjaChyZXE6IE5TU2VhcmNoLklTZWFyY2hSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNSwge1xyXG4gICAgICByZXF1ZXN0OiByZXEsXHJcbiAgICB9KVxyXG4gIH1cclxuICBzZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbihcclxuICAgIHJlcTogTlNTZWFyY2guSVNlYXJjaE9yZ1JlZ2lvblJlY29tbWVuZGF0aW9uUmVxdWVzdCxcclxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJlcS5wcmVMYWJlbFZhbHVlID1cclxuICAgICAgKHJlcS5wcmVMYWJlbFZhbHVlIHx8ICcnKSArXHJcbiAgICAgICgodGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUgJiYgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUuY291bnRyeSkgfHwgJycpXHJcbiAgICByZXEuZmlsdGVycyA9IHtcclxuICAgICAgLi4ucmVxLmZpbHRlcnMsXHJcbiAgICAgIGxhYmVsczogW3JlcS5wcmVMYWJlbFZhbHVlIHx8ICcnXSxcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4oXHJcbiAgICAgIEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1JFR0lPTl9SRUNPTU1FTkRBVElPTixcclxuICAgICAgeyByZXF1ZXN0OiByZXEgfSxcclxuICAgIClcclxuICB9XHJcbiAgc2VhcmNoVjYocmVxOiBOU1NlYXJjaC5JU2VhcmNoVjZSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfVjYsIHJlcSlcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8eyByYXRpbmc6IG51bWJlciB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IHJhdGluZzogbnVtYmVyIH0+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBkZWxldGVDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBhZGRDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nLCBkYXRhOiB7IHJhdGluZzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWAsIGRhdGEpXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQGRlcHJlY2F0ZWQgdGhpcyB3aWxsIGJlIGRlcHJpY2F0ZWQuXHJcbiAgICovXHJcbiAgZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGNvbnRlbnQ6IE5zQ29udGVudC5JQ29udGVudCk6IE5zQ29udGVudC5JQ29udGVudCB7XHJcbiAgICBpZiAoIShjb250ZW50LmNoaWxkcmVuIHx8IFtdKS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGNvbnRlbnRcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09ICdQcm9ncmFtJyAmJlxyXG4gICAgICAhKGNvbnRlbnQuYXJ0aWZhY3RVcmwgJiYgY29udGVudC5hcnRpZmFjdFVybC5sZW5ndGgpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgY2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICAgIHJldHVybiB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjaGlsZClcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LlJFU09VUkNFIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5LTk9XTEVER0VfQVJUSUZBQ1QgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LlBST0dSQU0gfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LlBSQUNUSUNFX1JFU09VUkNFIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5GSU5BTF9BU1NFU1NNRU5UIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5DT01QX0FTU0VTU01FTlQgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5Lk1BTkRBVE9SWV9DT1VSU0VfR09BTCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuT0ZGTElORV9TRVNTSU9OXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGNvbnRlbnRcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICBjb25zdCByZXN1bHRDb250ZW50ID0gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoZmlyc3RDaGlsZClcclxuICAgIHJldHVybiByZXN1bHRDb250ZW50XHJcbiAgfVxyXG5cclxuICBnZXRSZWdpc3RyYXRpb25TdGF0dXMoc291cmNlOiBzdHJpbmcpOiBQcm9taXNlPHsgaGFzQWNjZXNzOiBib29sZWFuOyByZWdpc3RyYXRpb25Vcmw/OiBzdHJpbmcgfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHtBUElfRU5EX1BPSU5UUy5SRUdJU1RSQVRJT05fU1RBVFVTfS8ke3NvdXJjZX1gKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb25maWcodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hFeHRVc2VyQ29udGVudEVucm9sbChjb250ZW50SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihBUElfRU5EX1BPSU5UUy5FWFRfVVNFUl9DT1VSU0VfRU5ST0xMKGNvbnRlbnRJZCkpXHJcbiAgfVxyXG5cclxuICBleHRDb250ZW50RW5yb2xsKHJlcXVlc3RCb2R5OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkVYVF9DT05URU5UX0VST0xMfWAsIHJlcXVlc3RCb2R5KVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRDZXJ0KGNlcnRJZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNFUlRfRE9XTkxPQUQoY2VydElkKX1gKVxyXG4gIH1cclxufVxyXG4iXX0=
|