@hmcts/opal-frontend-common 0.0.37 → 0.0.39
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/components/govuk/govuk-text-area/index.d.ts +4 -2
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-action-links.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-page-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-label.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-value.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-back-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-button.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-details.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-table.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tag.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-task-list.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs +15 -9
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-alert.mjs +21 -21
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-badge.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-keyword.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected-moj-filter-panel-selected-tag.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-page-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sortable-table.mjs +18 -18
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-timeline.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-directives-capitalisation.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-directives-govuk-button.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-guards-route-permissions.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-guards-route-permissions.mjs.map +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-CEk8OxKG.mjs → hmcts-opal-frontend-common-pages-access-denied.component-hiZGRfTW.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-CEk8OxKG.mjs.map → hmcts-opal-frontend-common-pages-access-denied.component-hiZGRfTW.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-C3b4FPOI.mjs → hmcts-opal-frontend-common-pages-sign-in-stub.component-DvotrIUM.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-C3b4FPOI.mjs.map → hmcts-opal-frontend-common-pages-sign-in-stub.component-DvotrIUM.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-DPtCip_V.mjs → hmcts-opal-frontend-common-pages-sign-in.component-Ck69JvR1.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-DPtCip_V.mjs.map → hmcts-opal-frontend-common-pages-sign-in.component-Ck69JvR1.mjs.map} +1 -1
- package/fesm2022/hmcts-opal-frontend-common-pages.mjs +2 -2
- package/fesm2022/hmcts-opal-frontend-common-pipes-date-format.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-days-ago.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-national-insurance.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-resolvers-title.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-resolvers-user-state.mjs +2 -2
- package/fesm2022/hmcts-opal-frontend-common-resolvers-user-state.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-services-app-initializer-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-app-insights-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-auth-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-date-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-interfaces.mjs +4 -0
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-interfaces.mjs.map +1 -0
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-mocks.mjs +164 -0
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-mocks.mjs.map +1 -0
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs +46 -0
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs.map +1 -0
- package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs +4 -4
- package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service-constants.mjs +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service-constants.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service-mocks.mjs +1 -387
- package/fesm2022/hmcts-opal-frontend-common-services-session-service-mocks.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs +8 -36
- package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-services-sort-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-transformation-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-utils-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-stores-global.mjs.map +1 -1
- package/package.json +16 -1
- package/resolvers/user-state/index.d.ts +2 -2
- package/services/opal-user-service/index.d.ts +41 -0
- package/services/opal-user-service/interfaces/index.d.ts +25 -0
- package/services/opal-user-service/mocks/index.d.ts +9 -0
- package/services/permissions-service/index.d.ts +4 -4
- package/services/session-service/index.d.ts +3 -16
- package/services/session-service/interfaces/index.d.ts +1 -18
- package/services/session-service/mocks/index.d.ts +2 -4
- package/stores/global/index.d.ts +5 -4
|
@@ -216,10 +216,10 @@ class DateService {
|
|
|
216
216
|
to: this.toFormat(this.getFromIso(dateTo), format),
|
|
217
217
|
};
|
|
218
218
|
}
|
|
219
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
220
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
219
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
220
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DateService, providedIn: 'root' });
|
|
221
221
|
}
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DateService, decorators: [{
|
|
223
223
|
type: Injectable,
|
|
224
224
|
args: [{
|
|
225
225
|
providedIn: 'root',
|
|
@@ -80,10 +80,10 @@ class LaunchDarklyService {
|
|
|
80
80
|
ngOnDestroy() {
|
|
81
81
|
this.closeLaunchDarklyClient();
|
|
82
82
|
}
|
|
83
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
84
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: LaunchDarklyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
84
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: LaunchDarklyService, providedIn: 'root' });
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: LaunchDarklyService, decorators: [{
|
|
87
87
|
type: Injectable,
|
|
88
88
|
args: [{
|
|
89
89
|
providedIn: 'root',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmcts-opal-frontend-common-services-opal-user-service-interfaces.mjs","sources":["../../../projects/opal-frontend-common/services/opal-user-service/interfaces/hmcts-opal-frontend-common-services-opal-user-service-interfaces.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA;;AAEG"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
const OPAL_USER_PERMISSIONS_MOCK = [
|
|
2
|
+
{
|
|
3
|
+
permission_id: 54,
|
|
4
|
+
permission_name: 'Account Enquiry',
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
permission_id: 41,
|
|
8
|
+
permission_name: 'Account Enquiry - Account Notes',
|
|
9
|
+
},
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const OPAL_USER_BUSINESS_UNIT_USER_MOCK = [
|
|
13
|
+
{
|
|
14
|
+
business_unit_user_id: 'L017KG',
|
|
15
|
+
business_unit_id: 17,
|
|
16
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
business_unit_user_id: 'L016KG',
|
|
20
|
+
business_unit_id: 16,
|
|
21
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
business_unit_user_id: 'L019KG',
|
|
25
|
+
business_unit_id: 19,
|
|
26
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
business_unit_user_id: 'L013KG',
|
|
30
|
+
business_unit_id: 13,
|
|
31
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
business_unit_user_id: 'L076KG',
|
|
35
|
+
business_unit_id: 76,
|
|
36
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
business_unit_user_id: 'L081KG',
|
|
40
|
+
business_unit_id: 81,
|
|
41
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
business_unit_user_id: 'L077KG',
|
|
45
|
+
business_unit_id: 77,
|
|
46
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
business_unit_user_id: 'L078KG',
|
|
50
|
+
business_unit_id: 78,
|
|
51
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
business_unit_user_id: 'L079KG',
|
|
55
|
+
business_unit_id: 79,
|
|
56
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
business_unit_user_id: 'L040KG',
|
|
60
|
+
business_unit_id: 40,
|
|
61
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
business_unit_user_id: 'L066KG',
|
|
65
|
+
business_unit_id: 66,
|
|
66
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
business_unit_user_id: 'L072KG',
|
|
70
|
+
business_unit_id: 72,
|
|
71
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
business_unit_user_id: 'L067KG',
|
|
75
|
+
business_unit_id: 67,
|
|
76
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
business_unit_user_id: 'L073KG',
|
|
80
|
+
business_unit_id: 73,
|
|
81
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
business_unit_user_id: 'L068KG',
|
|
85
|
+
business_unit_id: 68,
|
|
86
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
business_unit_user_id: 'L074KG',
|
|
90
|
+
business_unit_id: 74,
|
|
91
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
business_unit_user_id: 'L069KG',
|
|
95
|
+
business_unit_id: 69,
|
|
96
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
business_unit_user_id: 'L075KG',
|
|
100
|
+
business_unit_id: 75,
|
|
101
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
business_unit_user_id: 'L080KG',
|
|
105
|
+
business_unit_id: 80,
|
|
106
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
business_unit_user_id: 'L062KG',
|
|
110
|
+
business_unit_id: 62,
|
|
111
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
business_unit_user_id: 'L025KG',
|
|
115
|
+
business_unit_id: 25,
|
|
116
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
business_unit_user_id: 'L032KG',
|
|
120
|
+
business_unit_id: 32,
|
|
121
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
business_unit_user_id: 'L063KG',
|
|
125
|
+
business_unit_id: 63,
|
|
126
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
business_unit_user_id: 'L064KG',
|
|
130
|
+
business_unit_id: 64,
|
|
131
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
business_unit_user_id: 'L070KG',
|
|
135
|
+
business_unit_id: 70,
|
|
136
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
business_unit_user_id: 'L065KG',
|
|
140
|
+
business_unit_id: 65,
|
|
141
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
business_unit_user_id: 'L071KG',
|
|
145
|
+
business_unit_id: 71,
|
|
146
|
+
permissions: OPAL_USER_PERMISSIONS_MOCK,
|
|
147
|
+
},
|
|
148
|
+
];
|
|
149
|
+
|
|
150
|
+
const OPAL_USER_STATE_MOCK = {
|
|
151
|
+
user_id: 50000000,
|
|
152
|
+
username: 'timmyTest@HMCTS.NET',
|
|
153
|
+
name: 'Timmy Test',
|
|
154
|
+
status: 'active',
|
|
155
|
+
version: 1,
|
|
156
|
+
business_unit_users: OPAL_USER_BUSINESS_UNIT_USER_MOCK,
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Generated bundle index. Do not edit.
|
|
161
|
+
*/
|
|
162
|
+
|
|
163
|
+
export { OPAL_USER_BUSINESS_UNIT_USER_MOCK, OPAL_USER_PERMISSIONS_MOCK, OPAL_USER_STATE_MOCK };
|
|
164
|
+
//# sourceMappingURL=hmcts-opal-frontend-common-services-opal-user-service-mocks.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmcts-opal-frontend-common-services-opal-user-service-mocks.mjs","sources":["../../../projects/opal-frontend-common/services/opal-user-service/mocks/opal-user-permissions.mock.ts","../../../projects/opal-frontend-common/services/opal-user-service/mocks/opal-user-business-unit-user.mock.ts","../../../projects/opal-frontend-common/services/opal-user-service/mocks/opal-user-state.mock.ts","../../../projects/opal-frontend-common/services/opal-user-service/mocks/hmcts-opal-frontend-common-services-opal-user-service-mocks.ts"],"sourcesContent":["import { IOpalUserPermissions } from '@hmcts/opal-frontend-common/services/opal-user-service/interfaces';\n\nexport const OPAL_USER_PERMISSIONS_MOCK: IOpalUserPermissions[] = [\n {\n permission_id: 54,\n permission_name: 'Account Enquiry',\n },\n {\n permission_id: 41,\n permission_name: 'Account Enquiry - Account Notes',\n },\n];\n","import { IOpalUserBusinessUnitUser } from '@hmcts/opal-frontend-common/services/opal-user-service/interfaces';\nimport { OPAL_USER_PERMISSIONS_MOCK } from './opal-user-permissions.mock';\n\nexport const OPAL_USER_BUSINESS_UNIT_USER_MOCK: IOpalUserBusinessUnitUser[] = [\n {\n business_unit_user_id: 'L017KG',\n business_unit_id: 17,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L016KG',\n business_unit_id: 16,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L019KG',\n business_unit_id: 19,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L013KG',\n business_unit_id: 13,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L076KG',\n business_unit_id: 76,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L081KG',\n business_unit_id: 81,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L077KG',\n business_unit_id: 77,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L078KG',\n business_unit_id: 78,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L079KG',\n business_unit_id: 79,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L040KG',\n business_unit_id: 40,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L066KG',\n business_unit_id: 66,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L072KG',\n business_unit_id: 72,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L067KG',\n business_unit_id: 67,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L073KG',\n business_unit_id: 73,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L068KG',\n business_unit_id: 68,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L074KG',\n business_unit_id: 74,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L069KG',\n business_unit_id: 69,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L075KG',\n business_unit_id: 75,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L080KG',\n business_unit_id: 80,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L062KG',\n business_unit_id: 62,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L025KG',\n business_unit_id: 25,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L032KG',\n business_unit_id: 32,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L063KG',\n business_unit_id: 63,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L064KG',\n business_unit_id: 64,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L070KG',\n business_unit_id: 70,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L065KG',\n business_unit_id: 65,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n {\n business_unit_user_id: 'L071KG',\n business_unit_id: 71,\n permissions: OPAL_USER_PERMISSIONS_MOCK,\n },\n];\n","import { IOpalUserState } from '@hmcts/opal-frontend-common/services/opal-user-service/interfaces';\nimport { OPAL_USER_BUSINESS_UNIT_USER_MOCK } from './opal-user-business-unit-user.mock';\n\nexport const OPAL_USER_STATE_MOCK: IOpalUserState = {\n user_id: 50000000,\n username: 'timmyTest@HMCTS.NET',\n name: 'Timmy Test',\n status: 'active',\n version: 1,\n business_unit_users: OPAL_USER_BUSINESS_UNIT_USER_MOCK,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, Injectable } from '@angular/core';
|
|
4
|
+
import { GlobalStore } from '@hmcts/opal-frontend-common/stores/global';
|
|
5
|
+
import { tap } from 'rxjs';
|
|
6
|
+
|
|
7
|
+
const baseUrl = '/opal-user-service/';
|
|
8
|
+
const users = 'users/';
|
|
9
|
+
const currentUser = '0/';
|
|
10
|
+
const userState = 'state';
|
|
11
|
+
const OPAL_USER_PATHS = {
|
|
12
|
+
loggedInUserState: `${baseUrl}${users}${currentUser}${userState}`,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
class OpalUserService {
|
|
16
|
+
http = inject(HttpClient);
|
|
17
|
+
globalStore = inject(GlobalStore);
|
|
18
|
+
/**
|
|
19
|
+
* Retrieves the current logged-in user's state from the backend and updates the global store.
|
|
20
|
+
*
|
|
21
|
+
* This method first resets the user state in the global store to an empty object,
|
|
22
|
+
* then performs an HTTP GET request to fetch the latest user state.
|
|
23
|
+
* Upon receiving the response, it updates the global store with the fetched user state.
|
|
24
|
+
*
|
|
25
|
+
* @returns An Observable that emits the current {@link IOpalUserState}.
|
|
26
|
+
*/
|
|
27
|
+
getLoggedInUserState() {
|
|
28
|
+
this.globalStore.setUserState({});
|
|
29
|
+
return this.http
|
|
30
|
+
.get(OPAL_USER_PATHS.loggedInUserState)
|
|
31
|
+
.pipe(tap((userState) => this.globalStore.setUserState(userState)));
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: OpalUserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: OpalUserService, providedIn: 'root' });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: OpalUserService, decorators: [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{ providedIn: 'root' }]
|
|
39
|
+
}] });
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Generated bundle index. Do not edit.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
export { OpalUserService };
|
|
46
|
+
//# sourceMappingURL=hmcts-opal-frontend-common-services-opal-user-service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmcts-opal-frontend-common-services-opal-user-service.mjs","sources":["../../../projects/opal-frontend-common/services/opal-user-service/constants/opal-user-paths.constant.ts","../../../projects/opal-frontend-common/services/opal-user-service/opal-user.service.ts","../../../projects/opal-frontend-common/services/opal-user-service/hmcts-opal-frontend-common-services-opal-user-service.ts"],"sourcesContent":["import { IOpalUserPaths } from '@hmcts/opal-frontend-common/services/opal-user-service/interfaces';\n\nconst baseUrl = '/opal-user-service/';\nconst users = 'users/';\nconst currentUser = '0/';\nconst userState = 'state';\n\nexport const OPAL_USER_PATHS: IOpalUserPaths = {\n loggedInUserState: `${baseUrl}${users}${currentUser}${userState}`,\n};\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { GlobalStore } from '@hmcts/opal-frontend-common/stores/global';\nimport { IOpalUserState } from './interfaces/opal-user-state.interface';\nimport { tap, Observable } from 'rxjs';\nimport { OPAL_USER_PATHS } from './constants/opal-user-paths.constant';\n\n@Injectable({ providedIn: 'root' })\nexport class OpalUserService {\n private readonly http = inject(HttpClient);\n private readonly globalStore = inject(GlobalStore);\n\n /**\n * Retrieves the current logged-in user's state from the backend and updates the global store.\n *\n * This method first resets the user state in the global store to an empty object,\n * then performs an HTTP GET request to fetch the latest user state.\n * Upon receiving the response, it updates the global store with the fetched user state.\n *\n * @returns An Observable that emits the current {@link IOpalUserState}.\n */\n public getLoggedInUserState(): Observable<IOpalUserState> {\n this.globalStore.setUserState({} as IOpalUserState);\n return this.http\n .get<IOpalUserState>(OPAL_USER_PATHS.loggedInUserState)\n .pipe(tap((userState) => this.globalStore.setUserState(userState)));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAEA,MAAM,OAAO,GAAG,qBAAqB;AACrC,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,WAAW,GAAG,IAAI;AACxB,MAAM,SAAS,GAAG,OAAO;AAElB,MAAM,eAAe,GAAmB;IAC7C,iBAAiB,EAAE,GAAG,OAAO,CAAA,EAAG,KAAK,CAAA,EAAG,WAAW,CAAA,EAAG,SAAS,CAAA,CAAE;CAClE;;MCDY,eAAe,CAAA;AACT,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAElD;;;;;;;;AAQG;IACI,oBAAoB,GAAA;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAoB,CAAC;QACnD,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CAAiB,eAAe,CAAC,iBAAiB;AACrD,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE;uGAlBW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACPlC;;AAEG;;;;"}
|
|
@@ -9,7 +9,7 @@ class PermissionsService {
|
|
|
9
9
|
* @returns An array of unique permission IDs.
|
|
10
10
|
*/
|
|
11
11
|
getUniquePermissions(userState) {
|
|
12
|
-
const roles = userState ? userState['
|
|
12
|
+
const roles = userState ? userState['business_unit_users'] : null;
|
|
13
13
|
if (!this.storedUniquePermissionIds.length && roles) {
|
|
14
14
|
const permissionIds = roles.flatMap((role) => {
|
|
15
15
|
return role.permissions.map(({ permission_id: permissionId }) => permissionId);
|
|
@@ -53,10 +53,10 @@ class PermissionsService {
|
|
|
53
53
|
// if we don't have any roles, we can't have any permissions
|
|
54
54
|
return true;
|
|
55
55
|
}
|
|
56
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
57
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: PermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: PermissionsService, providedIn: 'root' });
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: PermissionsService, decorators: [{
|
|
60
60
|
type: Injectable,
|
|
61
61
|
args: [{
|
|
62
62
|
providedIn: 'root',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmcts-opal-frontend-common-services-permissions-service.mjs","sources":["../../../projects/opal-frontend-common/services/permissions-service/permissions.service.ts","../../../projects/opal-frontend-common/services/permissions-service/hmcts-opal-frontend-common-services-permissions-service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n
|
|
1
|
+
{"version":3,"file":"hmcts-opal-frontend-common-services-permissions-service.mjs","sources":["../../../projects/opal-frontend-common/services/permissions-service/permissions.service.ts","../../../projects/opal-frontend-common/services/permissions-service/hmcts-opal-frontend-common-services-permissions-service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n IOpalUserState,\n IOpalUserBusinessUnitUser,\n} from '@hmcts/opal-frontend-common/services/opal-user-service/interfaces';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionsService {\n private storedUniquePermissionIds: number[] = [];\n\n /**\n * Retrieves the unique permission IDs associated with the user.\n * If the unique permission IDs have not been stored yet, it calculates them based on the user's roles and permissions.\n * @returns An array of unique permission IDs.\n */\n public getUniquePermissions(userState: IOpalUserState | null): number[] {\n const roles = userState ? userState['business_unit_users'] : null;\n\n if (!this.storedUniquePermissionIds.length && roles) {\n const permissionIds = roles.flatMap((role) => {\n return role.permissions.map(({ permission_id: permissionId }) => permissionId);\n });\n\n this.storedUniquePermissionIds = [...new Set(permissionIds)];\n }\n\n return this.storedUniquePermissionIds;\n }\n\n /**\n * Determines whether the user has access to a specific permission based on their roles.\n *\n * This method short-circuits and returns as soon as a matching permission is found for efficiency.\n *\n * @param permissionId - The ID of the permission to check for access.\n * @param roles - An array of user roles, each containing a list of permissions.\n * @returns `true` if the user has the specified permission in any of their roles,\n * or if no roles are provided; otherwise, returns `false`.\n */\n public hasPermissionAccess(permissionId: number, roles: IOpalUserBusinessUnitUser[]): boolean {\n if (roles?.length) {\n return roles.some((role) => role.permissions.some((permission) => permission.permission_id === permissionId));\n }\n // if we don't have any roles, we can't have any permissions\n return true;\n }\n\n /**\n * Checks if the user has access to a specific permission within a given business unit.\n *\n * This method short-circuits and returns as soon as a matching permission is found for efficiency.\n *\n * @param permissionId - The ID of the permission to check.\n * @param businessUnitId - The ID of the business unit to check against.\n * @param roles - An array of user roles, each containing permissions and associated business unit IDs.\n * @returns `true` if the user has the specified permission for the business unit, or if no roles are provided; otherwise, `false`.\n */\n public hasBusinessUnitPermissionAccess(\n permissionId: number,\n businessUnitId: number,\n roles: IOpalUserBusinessUnitUser[],\n ): boolean {\n if (roles?.length) {\n return roles.some(\n (role) =>\n role.business_unit_id === businessUnitId &&\n role.permissions.some((permission) => permission.permission_id === permissionId),\n );\n }\n // if we don't have any roles, we can't have any permissions\n return true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MASa,kBAAkB,CAAA;IACrB,yBAAyB,GAAa,EAAE;AAEhD;;;;AAIG;AACI,IAAA,oBAAoB,CAAC,SAAgC,EAAA;AAC1D,QAAA,MAAM,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,qBAAqB,CAAC,GAAG,IAAI;QAEjE,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,IAAI,KAAK,EAAE;YACnD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC3C,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,YAAY,CAAC;AAChF,YAAA,CAAC,CAAC;YAEF,IAAI,CAAC,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9D;QAEA,OAAO,IAAI,CAAC,yBAAyB;IACvC;AAEA;;;;;;;;;AASG;IACI,mBAAmB,CAAC,YAAoB,EAAE,KAAkC,EAAA;AACjF,QAAA,IAAI,KAAK,EAAE,MAAM,EAAE;YACjB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC;QAC/G;;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;;;AASG;AACI,IAAA,+BAA+B,CACpC,YAAoB,EACpB,cAAsB,EACtB,KAAkC,EAAA;AAElC,QAAA,IAAI,KAAK,EAAE,MAAM,EAAE;AACjB,YAAA,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,KACH,IAAI,CAAC,gBAAgB,KAAK,cAAc;AACxC,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,aAAa,KAAK,YAAY,CAAC,CACnF;QACH;;AAEA,QAAA,OAAO,IAAI;IACb;uGAhEW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmcts-opal-frontend-common-services-session-service-constants.mjs","sources":["../../../projects/opal-frontend-common/services/session-service/constants/session-endpoints.constant.ts","../../../projects/opal-frontend-common/services/session-service/constants/hmcts-opal-frontend-common-services-session-service-constants.ts"],"sourcesContent":["import { ISessionEndpoints } from '@hmcts/opal-frontend-common/services/session-service/interfaces';\n\nexport const SESSION_ENDPOINTS: ISessionEndpoints = {\n
|
|
1
|
+
{"version":3,"file":"hmcts-opal-frontend-common-services-session-service-constants.mjs","sources":["../../../projects/opal-frontend-common/services/session-service/constants/session-endpoints.constant.ts","../../../projects/opal-frontend-common/services/session-service/constants/hmcts-opal-frontend-common-services-session-service-constants.ts"],"sourcesContent":["import { ISessionEndpoints } from '@hmcts/opal-frontend-common/services/session-service/interfaces';\n\nexport const SESSION_ENDPOINTS: ISessionEndpoints = {\n expiry: '/session/expiry',\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAEO,MAAM,iBAAiB,GAAsB;AAClD,IAAA,MAAM,EAAE,iBAAiB;;;ACH3B;;AAEG;;;;"}
|