vc-error-handlers 0.1.97 → 0.1.99
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/environments/environment.d.ts +39 -39
- package/{esm2020 → esm2022}/environments/environment.mjs +74 -74
- package/{esm2020 → esm2022}/lib/configuration.mjs +5 -5
- package/{esm2020 → esm2022}/lib/featureFlag/feature-flag.directive.mjs +27 -27
- package/esm2022/lib/featureFlag/feature-flag.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/featureFlag/feature-flag.service.mjs +95 -95
- package/esm2022/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +35 -0
- package/esm2022/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +65 -0
- package/esm2022/lib/shared/components/error-modal/error-modal.component.mjs +64 -0
- package/esm2022/lib/shared/components/page-not-found/page-not-found.component.mjs +92 -0
- package/esm2022/lib/shared/components/server-error/server-error.component.mjs +83 -0
- package/esm2022/lib/shared/components/session-expired/session-expired.component.mjs +35 -0
- package/esm2022/lib/shared/components/unauthorized/unauthorized.component.mjs +103 -0
- package/esm2022/lib/shared/constants/api-config.constants.mjs +240 -0
- package/esm2022/lib/shared/constants/error-handling.constants.mjs +63 -0
- package/{esm2020 → esm2022}/lib/shared/errorhandler/chunk-error.handler.mjs +18 -18
- package/esm2022/lib/shared/errorhandler/sentry-error.handler.mjs +47 -0
- package/esm2022/lib/shared/interceptors/http.interceptor.mjs +35 -0
- package/esm2022/lib/shared/services/global-error.service.mjs +115 -0
- package/{esm2020 → esm2022}/lib/shared/services/router.service.mjs +19 -19
- package/esm2022/lib/shared/services/util.service.mjs +48 -0
- package/esm2022/lib/shared/types/global-error.types.mjs +16 -0
- package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog-config.mjs +2 -2
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +15 -0
- package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog-ref.mjs +12 -12
- package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog.component.mjs +85 -85
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +21 -0
- package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog.service.mjs +52 -52
- package/{esm2020 → esm2022}/lib/ui-kit/dialog/insertion.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +50 -50
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -32
- package/esm2022/lib/vc-error-handlers.component.mjs +104 -0
- package/esm2022/lib/vc-error-handlers.module.mjs +84 -0
- package/{esm2020 → esm2022}/lib/vc-error-handlers.service.mjs +14 -14
- package/esm2022/public-api.mjs +17 -0
- package/{esm2020 → esm2022}/vc-error-handlers.mjs +4 -4
- package/{fesm2020 → fesm2022}/vc-error-handlers.mjs +1405 -1378
- package/fesm2022/vc-error-handlers.mjs.map +1 -0
- package/{vc-error-handlers.d.ts → index.d.ts} +5 -5
- package/lib/configuration.d.ts +4 -4
- package/lib/featureFlag/feature-flag.directive.d.ts +13 -13
- package/lib/featureFlag/feature-flag.module.d.ts +8 -8
- package/lib/featureFlag/feature-flag.service.d.ts +19 -19
- package/lib/shared/components/chunk-unavailable/chunk-unavailable.component.d.ts +20 -16
- package/lib/shared/components/component-level-server-error/component-level-server-error.component.d.ts +19 -15
- package/lib/shared/components/error-modal/error-modal.component.d.ts +21 -17
- package/lib/shared/components/page-not-found/page-not-found.component.d.ts +23 -18
- package/lib/shared/components/server-error/server-error.component.d.ts +19 -15
- package/lib/shared/components/session-expired/session-expired.component.d.ts +20 -16
- package/lib/shared/components/unauthorized/unauthorized.component.d.ts +23 -18
- package/lib/shared/constants/api-config.constants.d.ts +20 -24
- package/lib/shared/constants/error-handling.constants.d.ts +62 -49
- package/lib/shared/errorhandler/chunk-error.handler.d.ts +7 -7
- package/lib/shared/errorhandler/sentry-error.handler.d.ts +14 -14
- package/lib/shared/interceptors/http.interceptor.d.ts +13 -13
- package/lib/shared/services/global-error.service.d.ts +31 -31
- package/lib/shared/services/router.service.d.ts +6 -6
- package/lib/shared/services/util.service.d.ts +15 -6
- package/lib/shared/types/global-error.types.d.ts +27 -16
- package/lib/ui-kit/dialog/dialog-config.d.ts +6 -6
- package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -7
- package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -7
- package/lib/ui-kit/dialog/dialog.component.d.ts +33 -33
- package/lib/ui-kit/dialog/dialog.module.d.ts +9 -9
- package/lib/ui-kit/dialog/dialog.service.d.ts +17 -17
- package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -8
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +20 -20
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -8
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +11 -11
- package/lib/vc-error-handlers.component.d.ts +26 -26
- package/lib/vc-error-handlers.module.d.ts +26 -26
- package/lib/vc-error-handlers.service.d.ts +6 -6
- package/package.json +7 -13
- package/public-api.d.ts +13 -14
- package/esm2020/lib/featureFlag/feature-flag.module.mjs +0 -22
- package/esm2020/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +0 -34
- package/esm2020/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +0 -63
- package/esm2020/lib/shared/components/error-modal/error-modal.component.mjs +0 -61
- package/esm2020/lib/shared/components/page-not-found/page-not-found.component.mjs +0 -80
- package/esm2020/lib/shared/components/server-error/server-error.component.mjs +0 -71
- package/esm2020/lib/shared/components/session-expired/session-expired.component.mjs +0 -34
- package/esm2020/lib/shared/components/unauthorized/unauthorized.component.mjs +0 -86
- package/esm2020/lib/shared/constants/api-config.constants.mjs +0 -247
- package/esm2020/lib/shared/constants/error-handling.constants.mjs +0 -50
- package/esm2020/lib/shared/errorhandler/sentry-error.handler.mjs +0 -50
- package/esm2020/lib/shared/interceptors/http.interceptor.mjs +0 -35
- package/esm2020/lib/shared/services/auth.service.mjs +0 -20
- package/esm2020/lib/shared/services/global-error.service.mjs +0 -141
- package/esm2020/lib/shared/services/util.service.mjs +0 -21
- package/esm2020/lib/shared/types/global-error.types.mjs +0 -16
- package/esm2020/lib/ui-kit/dialog/dialog-injector.mjs +0 -15
- package/esm2020/lib/ui-kit/dialog/dialog.module.mjs +0 -21
- package/esm2020/lib/ui-kit/snack-bar/snack-bar.module.mjs +0 -18
- package/esm2020/lib/vc-error-handlers.component.mjs +0 -107
- package/esm2020/lib/vc-error-handlers.module.mjs +0 -84
- package/esm2020/public-api.mjs +0 -18
- package/fesm2015/vc-error-handlers.mjs +0 -1650
- package/fesm2015/vc-error-handlers.mjs.map +0 -1
- package/fesm2020/vc-error-handlers.mjs.map +0 -1
- package/lib/shared/services/auth.service.d.ts +0 -9
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
export const PAGE_LEVEL_API_CONFIG = [
|
|
2
|
+
{
|
|
3
|
+
method: '',
|
|
4
|
+
path: '',
|
|
5
|
+
query: null,
|
|
6
|
+
body: null,
|
|
7
|
+
pageCodes: [''],
|
|
8
|
+
},
|
|
9
|
+
];
|
|
10
|
+
export const COMPONENT_LEVEL_API_CONFIG = [
|
|
11
|
+
{
|
|
12
|
+
method: 'GET',
|
|
13
|
+
path: '/organization/?mode=organisationUsersList',
|
|
14
|
+
query: { type: 'active' },
|
|
15
|
+
body: null,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
method: 'GET',
|
|
19
|
+
path: '/organization/?mode=organisationUsersList',
|
|
20
|
+
query: { type: 'power_users' },
|
|
21
|
+
body: null,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
method: 'GET',
|
|
25
|
+
path: '/organization/?mode=organisationUsersList',
|
|
26
|
+
query: { type: 'light_users' },
|
|
27
|
+
body: null,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
method: 'GET',
|
|
31
|
+
path: '/organization/?mode=organisationUsersList',
|
|
32
|
+
query: { type: 'inactive' },
|
|
33
|
+
body: null,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
method: 'GET',
|
|
37
|
+
path: '/organization/?mode=organisationUsersList',
|
|
38
|
+
query: { type: 'power_users_small' },
|
|
39
|
+
body: null,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
method: 'GET',
|
|
43
|
+
path: '/Global-Dashboard/ManageDashboards',
|
|
44
|
+
query: null,
|
|
45
|
+
body: null,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
method: 'GET',
|
|
49
|
+
path: '/Global-Dashboard/MyDashboard',
|
|
50
|
+
query: null,
|
|
51
|
+
body: null,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
method: 'GET',
|
|
55
|
+
path: '/grc_object/?mode=grc/getGRCList',
|
|
56
|
+
query: null,
|
|
57
|
+
body: null,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
method: 'GET',
|
|
61
|
+
path: '/compliance/?mode=responsibilityCenterTree',
|
|
62
|
+
query: null,
|
|
63
|
+
body: null,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
method: 'GET',
|
|
67
|
+
path: '/organization/?mode=rcholidaylist',
|
|
68
|
+
query: null,
|
|
69
|
+
body: null,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
method: 'GET',
|
|
73
|
+
path: '/organization/?mode=roles/getRoles',
|
|
74
|
+
query: null,
|
|
75
|
+
body: null,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
method: 'GET',
|
|
79
|
+
path: '/organization/?mode=groupsList',
|
|
80
|
+
query: null,
|
|
81
|
+
body: null,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
method: 'POST',
|
|
85
|
+
path: '/compliance_post/?mode=rcProfile',
|
|
86
|
+
query: null,
|
|
87
|
+
body: null,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
method: 'POST',
|
|
91
|
+
path: '/organization_post/?mode=userProfile',
|
|
92
|
+
query: null,
|
|
93
|
+
body: null,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
method: 'GET',
|
|
97
|
+
path: '/organization/?mode=roles/roleById',
|
|
98
|
+
query: null,
|
|
99
|
+
body: null,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
method: 'GET',
|
|
103
|
+
path: '/organization/?mode=groupDetails',
|
|
104
|
+
query: null,
|
|
105
|
+
body: null,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
method: 'POST',
|
|
109
|
+
path: '/compliance_post?mode=report/list',
|
|
110
|
+
query: null,
|
|
111
|
+
body: null,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
method: 'GET',
|
|
115
|
+
path: '/organization/?mode=memberholidaylist',
|
|
116
|
+
query: null,
|
|
117
|
+
body: null,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
method: 'GET',
|
|
121
|
+
path: '/grc_object/?mode=activity/activityLogList',
|
|
122
|
+
query: null,
|
|
123
|
+
body: null,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
method: 'GET',
|
|
127
|
+
path: '/grc_object/?mode=activity/viewList',
|
|
128
|
+
query: null,
|
|
129
|
+
body: null,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
method: 'GET',
|
|
133
|
+
path: '/program/categoriesList?owner_list=1',
|
|
134
|
+
query: null,
|
|
135
|
+
body: null,
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
method: 'POST',
|
|
139
|
+
path: '/risk/?mode=category/list',
|
|
140
|
+
query: null,
|
|
141
|
+
body: null,
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
method: 'POST',
|
|
145
|
+
path: 'memberDetailsbyIds',
|
|
146
|
+
query: null,
|
|
147
|
+
body: null,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
method: 'GET',
|
|
151
|
+
path: '/organization?mode=signatureDetails',
|
|
152
|
+
query: null,
|
|
153
|
+
body: null,
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
method: 'GET',
|
|
157
|
+
path: '/program/responsibilityList',
|
|
158
|
+
query: null,
|
|
159
|
+
body: null,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
method: 'GET',
|
|
163
|
+
path: '/program/getLinkedPolicies',
|
|
164
|
+
query: null,
|
|
165
|
+
body: null,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
method: 'POST',
|
|
169
|
+
path: 'risk/list',
|
|
170
|
+
query: null,
|
|
171
|
+
body: null,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
method: 'GET',
|
|
175
|
+
path: '/program/assignee',
|
|
176
|
+
query: null,
|
|
177
|
+
body: null,
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
method: 'GET',
|
|
181
|
+
path: '/program/evidence/getEvidences/b-cycle-header',
|
|
182
|
+
query: null,
|
|
183
|
+
body: null,
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
method: 'GET',
|
|
187
|
+
path: '/program/activity-logs',
|
|
188
|
+
query: null,
|
|
189
|
+
body: null,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
method: 'GET',
|
|
193
|
+
path: '/program/activity-logs-views',
|
|
194
|
+
query: null,
|
|
195
|
+
body: null,
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
method: 'POST',
|
|
199
|
+
path: '/Assessment/?mode=category/list',
|
|
200
|
+
query: null,
|
|
201
|
+
body: null,
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
method: 'POST',
|
|
205
|
+
path: '/Assessment/?mode=assessment/list',
|
|
206
|
+
query: null,
|
|
207
|
+
body: null,
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
method: 'GET',
|
|
211
|
+
path: '/Assessment/?mode=assessment/fetchQuestionsByAssessmentId',
|
|
212
|
+
query: null,
|
|
213
|
+
body: null,
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
method: 'POST',
|
|
217
|
+
path: '/Assessment/?mode=assessment/responseSummary',
|
|
218
|
+
query: null,
|
|
219
|
+
body: null,
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
method: 'GET',
|
|
223
|
+
path: '/Assessment/?mode=assessment/logs',
|
|
224
|
+
query: null,
|
|
225
|
+
body: null,
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
method: 'GET',
|
|
229
|
+
path: '/program/subCategories',
|
|
230
|
+
query: null,
|
|
231
|
+
body: null,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
method: 'POST',
|
|
235
|
+
path: '/Assessment/?mode=assessment/getAssessmentById',
|
|
236
|
+
query: null,
|
|
237
|
+
body: null,
|
|
238
|
+
},
|
|
239
|
+
];
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbmZpZy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9jb25zdGFudHMvYXBpLWNvbmZpZy5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDbkM7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxFQUFFO1FBQ1IsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtRQUNWLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztLQUNoQjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN4QztRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1FBQ3pCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQzlCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQzlCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1FBQzNCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxL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QUFFLDJEQUEyRDtRQUNqRSxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxNQUFNO1FBQ2QsSUFBSSxFQUFFLDhDQUE4QztRQUNwRCxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxNQUFNO1FBQ2QsSUFBSSxFQUFFLGdEQUFnRDtRQUN0RCxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFBBR0VfTEVWRUxfQVBJX0NPTkZJRyA9IFtcclxuICB7XHJcbiAgICBtZXRob2Q6ICcnLFxyXG4gICAgcGF0aDogJycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgICBwYWdlQ29kZXM6IFsnJ10sXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBDT01QT05FTlRfTEVWRUxfQVBJX0NPTkZJRyA9IFtcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9b3JnYW5pc2F0aW9uVXNlcnNMaXN0JyxcclxuICAgIHF1ZXJ5OiB7IHR5cGU6ICdhY3RpdmUnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAncG93ZXJfdXNlcnMnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAnbGlnaHRfdXNlcnMnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAnaW5hY3RpdmUnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAncG93ZXJfdXNlcnNfc21hbGwnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvR2xvYmFsLURhc2hib2FyZC9NYW5hZ2VEYXNoYm9hcmRzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL0dsb2JhbC1EYXNoYm9hcmQvTXlEYXNoYm9hcmQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvZ3JjX29iamVjdC8/bW9kZT1ncmMvZ2V0R1JDTGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9jb21wbGlhbmNlLz9tb2RlPXJlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9cmNob2xpZGF5bGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9cm9sZXMvZ2V0Um9sZXMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPWdyb3Vwc0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL2NvbXBsaWFuY2VfcG9zdC8/bW9kZT1yY1Byb2ZpbGUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbl9wb3N0Lz9tb2RlPXVzZXJQcm9maWxlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbi8/bW9kZT1yb2xlcy9yb2xlQnlJZCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9Z3JvdXBEZXRhaWxzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9jb21wbGlhbmNlX3Bvc3Q/bW9kZT1yZXBvcnQvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9bWVtYmVyaG9saWRheWxpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvZ3JjX29iamVjdC8/bW9kZT1hY3Rpdml0eS9hY3Rpdml0eUxvZ0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvZ3JjX29iamVjdC8/bW9kZT1hY3Rpdml0eS92aWV3TGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL2NhdGVnb3JpZXNMaXN0P293bmVyX2xpc3Q9MScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvcmlzay8/bW9kZT1jYXRlZ29yeS9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ21lbWJlckRldGFpbHNieUlkcycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24/bW9kZT1zaWduYXR1cmVEZXRhaWxzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vcmVzcG9uc2liaWxpdHlMaXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vZ2V0TGlua2VkUG9saWNpZXMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlzay9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vYXNzaWduZWUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcHJvZ3JhbS9ldmlkZW5jZS9nZXRFdmlkZW5jZXMvYi1jeWNsZS1oZWFkZXInLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcHJvZ3JhbS9hY3Rpdml0eS1sb2dzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vYWN0aXZpdHktbG9ncy12aWV3cycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvQXNzZXNzbWVudC8/bW9kZT1jYXRlZ29yeS9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9Bc3Nlc3NtZW50Lz9tb2RlPWFzc2Vzc21lbnQvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9Bc3Nlc3NtZW50Lz9tb2RlPWFzc2Vzc21lbnQvZmV0Y2hRdWVzdGlvbnNCeUFzc2Vzc21lbnRJZCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvQXNzZXNzbWVudC8/bW9kZT1hc3Nlc3NtZW50L3Jlc3BvbnNlU3VtbWFyeScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9Bc3Nlc3NtZW50Lz9tb2RlPWFzc2Vzc21lbnQvbG9ncycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL3N1YkNhdGVnb3JpZXMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL0Fzc2Vzc21lbnQvP21vZGU9YXNzZXNzbWVudC9nZXRBc3Nlc3NtZW50QnlJZCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuXTtcclxuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export const VCOMPLY_LOGO_URL = 'https://cdn.v-comply.com/logo/prod/v-logo.svg';
|
|
2
|
+
export const API_TIMEOUT_TIME = 1000 * 15;
|
|
3
|
+
export const ORGANISATION_NAME = 'VCOMPLY TECHNOLOGIES, INC.';
|
|
4
|
+
export const ERROR_FEATURE_FLAG = 'ff_error_handling';
|
|
5
|
+
export const ERROR_CONFIG = {
|
|
6
|
+
PAGE_NOT_FOUND: {
|
|
7
|
+
imageUrl: 'https://cdn.v-comply.com/application/images/Error-page-illustration.svg',
|
|
8
|
+
title: 'Oops!',
|
|
9
|
+
description: "The page you're looking for doesn't exist.",
|
|
10
|
+
details: 'Please check the URL or return to the homepage.',
|
|
11
|
+
buttonText: 'GO TO DASHBOARD',
|
|
12
|
+
},
|
|
13
|
+
UNAUTHORIZED: {
|
|
14
|
+
imageUrl: 'https://cdn.v-comply.com/application/images/Error-page-illustration.svg',
|
|
15
|
+
title: 'Oops!',
|
|
16
|
+
description: "You don't have permission to access this page.",
|
|
17
|
+
details: 'If you believe this is an error, please contact',
|
|
18
|
+
email: 'help@v-comply.com',
|
|
19
|
+
support: 'for support',
|
|
20
|
+
buttonText: 'CONTACT SUPPORT',
|
|
21
|
+
mail: 'mailto:help@v-comply.com',
|
|
22
|
+
},
|
|
23
|
+
SESSION_EXPIRED: {
|
|
24
|
+
heading: 'Session Expired!',
|
|
25
|
+
description: 'Your session has expired. Please log in again to continue using the app.',
|
|
26
|
+
buttonText: 'LOGIN',
|
|
27
|
+
},
|
|
28
|
+
CHUNK_UNAVAILABLE: {
|
|
29
|
+
heading: 'Oops!',
|
|
30
|
+
description: 'Something went wrong. Please refresh the page or try again later.',
|
|
31
|
+
buttonText: 'REFRESH',
|
|
32
|
+
},
|
|
33
|
+
SERVER_ERROR: {
|
|
34
|
+
imageUrl: 'https://cdn.v-comply.com/application/images/Error-page-illustration.svg',
|
|
35
|
+
title: 'Oops!',
|
|
36
|
+
description: 'We are unable to load the data.',
|
|
37
|
+
details: 'Please refresh this page or try again later.',
|
|
38
|
+
buttonText: 'REFRESH',
|
|
39
|
+
snackBarMessage: `Oops! Something went wrong. Please try again later.`,
|
|
40
|
+
},
|
|
41
|
+
COMPONENT_LEVEL_SERVER_ERROR: {
|
|
42
|
+
imageUrl: 'https://cdn.v-comply.com/application/images/sad-emoji-icon.svg',
|
|
43
|
+
title: 'Oops!',
|
|
44
|
+
description: 'We are unable to load the data.',
|
|
45
|
+
details: 'Please refresh this section or try again later.',
|
|
46
|
+
buttonText: 'RETRY',
|
|
47
|
+
},
|
|
48
|
+
NETWORK_UNAVAILABLE: {
|
|
49
|
+
offlineMessage: "You're currently offline. Please check your internet connection and try again.",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
export const REDIRECTION_URL = {
|
|
53
|
+
compliance_dashboard: '/global-dashboard/compliance_dashboard',
|
|
54
|
+
};
|
|
55
|
+
export const MODAL_ERROR_TYPES = {
|
|
56
|
+
CHUNK_NOT_FOUND: 'chunk_not_found',
|
|
57
|
+
SESSION_EXPIRED: 'session_expired',
|
|
58
|
+
};
|
|
59
|
+
export const ALT_IMAGE_TEXT = {
|
|
60
|
+
ERROR_IMAGE: 'Error Image',
|
|
61
|
+
VCOMPLY_LOGO: 'VComply',
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRywrQ0FBK0MsQ0FBQztBQUNoRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQ04seUVBQXlFO1FBQzNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsV0FBVyxFQUFFLDRDQUE0QztRQUN6RCxPQUFPLEVBQUUsaURBQWlEO1FBQzFELFVBQVUsRUFBRSxpQkFBaUI7S0FDOUI7SUFFRCxZQUFZLEVBQUU7UUFDWixRQUFRLEVBQ04seUVBQXlFO1FBQzNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsV0FBVyxFQUFFLGdEQUFnRDtRQUM3RCxPQUFPLEVBQUUsaURBQWlEO1FBQzFELEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixJQUFJLEVBQUUsMEJBQTBCO0tBQ2pDO0lBRUQsZUFBZSxFQUFFO1FBQ2YsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixXQUFXLEVBQ1QsMEVBQTBFO1FBQzVFLFVBQVUsRUFBRSxPQUFPO0tBQ3BCO0lBRUQsaUJBQWlCLEVBQUU7UUFDakIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLG1FQUFtRTtRQUNoRixVQUFVLEVBQUUsU0FBUztLQUN0QjtJQUVELFlBQVksRUFBRTtRQUNaLFFBQVEsRUFDTix5RUFBeUU7UUFDM0UsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLE9BQU8sRUFBRSw4Q0FBOEM7UUFDdkQsVUFBVSxFQUFFLFNBQVM7UUFDckIsZUFBZSxFQUFFLHFEQUFxRDtLQUN2RTtJQUVELDRCQUE0QixFQUFFO1FBQzVCLFFBQVEsRUFBRSxnRUFBZ0U7UUFDMUUsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLE9BQU8sRUFBRSxpREFBaUQ7UUFDMUQsVUFBVSxFQUFFLE9BQU87S0FDcEI7SUFFRCxtQkFBbUIsRUFBRTtRQUNuQixjQUFjLEVBQ1osZ0ZBQWdGO0tBQ25GO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixvQkFBb0IsRUFBRSx3Q0FBd0M7Q0FDL0QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsZUFBZSxFQUFFLGlCQUFpQjtDQUNuQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVkNPTVBMWV9MT0dPX1VSTCA9ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbG9nby9wcm9kL3YtbG9nby5zdmcnO1xyXG5leHBvcnQgY29uc3QgQVBJX1RJTUVPVVRfVElNRSA9IDEwMDAgKiAxNTtcclxuZXhwb3J0IGNvbnN0IE9SR0FOSVNBVElPTl9OQU1FID0gJ1ZDT01QTFkgVEVDSE5PTE9HSUVTLCBJTkMuJztcclxuZXhwb3J0IGNvbnN0IEVSUk9SX0ZFQVRVUkVfRkxBRyA9ICdmZl9lcnJvcl9oYW5kbGluZyc7XHJcblxyXG5leHBvcnQgY29uc3QgRVJST1JfQ09ORklHID0ge1xyXG4gIFBBR0VfTk9UX0ZPVU5EOiB7XHJcbiAgICBpbWFnZVVybDpcclxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9hcHBsaWNhdGlvbi9pbWFnZXMvRXJyb3ItcGFnZS1pbGx1c3RyYXRpb24uc3ZnJyxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIHBhZ2UgeW91J3JlIGxvb2tpbmcgZm9yIGRvZXNuJ3QgZXhpc3QuXCIsXHJcbiAgICBkZXRhaWxzOiAnUGxlYXNlIGNoZWNrIHRoZSBVUkwgb3IgcmV0dXJuIHRvIHRoZSBob21lcGFnZS4nLFxyXG4gICAgYnV0dG9uVGV4dDogJ0dPIFRPIERBU0hCT0FSRCcsXHJcbiAgfSxcclxuXHJcbiAgVU5BVVRIT1JJWkVEOiB7XHJcbiAgICBpbWFnZVVybDpcclxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9hcHBsaWNhdGlvbi9pbWFnZXMvRXJyb3ItcGFnZS1pbGx1c3RyYXRpb24uc3ZnJyxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246IFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhpcyBwYWdlLlwiLFxyXG4gICAgZGV0YWlsczogJ0lmIHlvdSBiZWxpZXZlIHRoaXMgaXMgYW4gZXJyb3IsIHBsZWFzZSBjb250YWN0JyxcclxuICAgIGVtYWlsOiAnaGVscEB2LWNvbXBseS5jb20nLFxyXG4gICAgc3VwcG9ydDogJ2ZvciBzdXBwb3J0JyxcclxuICAgIGJ1dHRvblRleHQ6ICdDT05UQUNUIFNVUFBPUlQnLFxyXG4gICAgbWFpbDogJ21haWx0bzpoZWxwQHYtY29tcGx5LmNvbScsXHJcbiAgfSxcclxuXHJcbiAgU0VTU0lPTl9FWFBJUkVEOiB7XHJcbiAgICBoZWFkaW5nOiAnU2Vzc2lvbiBFeHBpcmVkIScsXHJcbiAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgJ1lvdXIgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIGxvZyBpbiBhZ2FpbiB0byBjb250aW51ZSB1c2luZyB0aGUgYXBwLicsXHJcbiAgICBidXR0b25UZXh0OiAnTE9HSU4nLFxyXG4gIH0sXHJcblxyXG4gIENIVU5LX1VOQVZBSUxBQkxFOiB7XHJcbiAgICBoZWFkaW5nOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246ICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHJlZnJlc2ggdGhlIHBhZ2Ugb3IgdHJ5IGFnYWluIGxhdGVyLicsXHJcbiAgICBidXR0b25UZXh0OiAnUkVGUkVTSCcsXHJcbiAgfSxcclxuXHJcbiAgU0VSVkVSX0VSUk9SOiB7XHJcbiAgICBpbWFnZVVybDpcclxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9hcHBsaWNhdGlvbi9pbWFnZXMvRXJyb3ItcGFnZS1pbGx1c3RyYXRpb24uc3ZnJyxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246ICdXZSBhcmUgdW5hYmxlIHRvIGxvYWQgdGhlIGRhdGEuJyxcclxuICAgIGRldGFpbHM6ICdQbGVhc2UgcmVmcmVzaCB0aGlzIHBhZ2Ugb3IgdHJ5IGFnYWluIGxhdGVyLicsXHJcbiAgICBidXR0b25UZXh0OiAnUkVGUkVTSCcsXHJcbiAgICBzbmFja0Jhck1lc3NhZ2U6IGBPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5gLFxyXG4gIH0sXHJcblxyXG4gIENPTVBPTkVOVF9MRVZFTF9TRVJWRVJfRVJST1I6IHtcclxuICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2FwcGxpY2F0aW9uL2ltYWdlcy9zYWQtZW1vamktaWNvbi5zdmcnLFxyXG4gICAgdGl0bGU6ICdPb3BzIScsXHJcbiAgICBkZXNjcmlwdGlvbjogJ1dlIGFyZSB1bmFibGUgdG8gbG9hZCB0aGUgZGF0YS4nLFxyXG4gICAgZGV0YWlsczogJ1BsZWFzZSByZWZyZXNoIHRoaXMgc2VjdGlvbiBvciB0cnkgYWdhaW4gbGF0ZXIuJyxcclxuICAgIGJ1dHRvblRleHQ6ICdSRVRSWScsXHJcbiAgfSxcclxuXHJcbiAgTkVUV09SS19VTkFWQUlMQUJMRToge1xyXG4gICAgb2ZmbGluZU1lc3NhZ2U6XHJcbiAgICAgIFwiWW91J3JlIGN1cnJlbnRseSBvZmZsaW5lLiBQbGVhc2UgY2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSRURJUkVDVElPTl9VUkwgPSB7XHJcbiAgY29tcGxpYW5jZV9kYXNoYm9hcmQ6ICcvZ2xvYmFsLWRhc2hib2FyZC9jb21wbGlhbmNlX2Rhc2hib2FyZCcsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgTU9EQUxfRVJST1JfVFlQRVMgPSB7XHJcbiAgQ0hVTktfTk9UX0ZPVU5EOiAnY2h1bmtfbm90X2ZvdW5kJyxcclxuICBTRVNTSU9OX0VYUElSRUQ6ICdzZXNzaW9uX2V4cGlyZWQnLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEFMVF9JTUFHRV9URVhUID0ge1xyXG4gIEVSUk9SX0lNQUdFOiAnRXJyb3IgSW1hZ2UnLFxyXG4gIFZDT01QTFlfTE9HTzogJ1ZDb21wbHknLFxyXG59XHJcbiJdfQ==
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class GlobalErrorHandler {
|
|
4
|
-
handleError(error) {
|
|
5
|
-
const chunkFailedMessage = /Loading chunk [\d]+ failed/;
|
|
6
|
-
if (chunkFailedMessage.test(error.message) &&
|
|
7
|
-
confirm(`A new version is available. Please press "OK" to refresh the page.`)) {
|
|
8
|
-
window.location.reload();
|
|
9
|
-
}
|
|
10
|
-
console.error(error);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
-
type: Injectable
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GlobalErrorHandler {
|
|
4
|
+
handleError(error) {
|
|
5
|
+
const chunkFailedMessage = /Loading chunk [\d]+ failed/;
|
|
6
|
+
if (chunkFailedMessage.test(error.message) &&
|
|
7
|
+
confirm(`A new version is available. Please press "OK" to refresh the page.`)) {
|
|
8
|
+
window.location.reload();
|
|
9
|
+
}
|
|
10
|
+
console.error(error);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorHandler }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorHandler, decorators: [{
|
|
16
|
+
type: Injectable
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmstZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2Vycm9yaGFuZGxlci9jaHVuay1lcnJvci5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd6RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsNEJBQTRCLENBQUM7UUFFeEQsSUFDRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN0QyxPQUFPLENBQ0wsb0VBQW9FLENBQ3JFLEVBQ0Q7WUFDQSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOytHQWJVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxFcnJvckhhbmRsZXIgaW1wbGVtZW50cyBFcnJvckhhbmRsZXIge1xyXG4gIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNodW5rRmFpbGVkTWVzc2FnZSA9IC9Mb2FkaW5nIGNodW5rIFtcXGRdKyBmYWlsZWQvO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgY2h1bmtGYWlsZWRNZXNzYWdlLnRlc3QoZXJyb3IubWVzc2FnZSkgJiZcclxuICAgICAgY29uZmlybShcclxuICAgICAgICBgQSBuZXcgdmVyc2lvbiBpcyBhdmFpbGFibGUuIFBsZWFzZSBwcmVzcyBcIk9LXCIgdG8gcmVmcmVzaCB0aGUgcGFnZS5gXHJcbiAgICAgIClcclxuICAgICkge1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Injectable, Optional } from '@angular/core';
|
|
2
|
+
import * as Sentry from '@sentry/angular-ivy';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@vcomply/authorizer";
|
|
5
|
+
import * as i2 from "../services/global-error.service";
|
|
6
|
+
import * as i3 from "../../configuration";
|
|
7
|
+
export class SentryErrorHandler {
|
|
8
|
+
constructor(authorizerService, errorService, config) {
|
|
9
|
+
this.authorizerService = authorizerService;
|
|
10
|
+
this.errorService = errorService;
|
|
11
|
+
if (config?.sentryConfig) {
|
|
12
|
+
const SENTRY_CONFIG = config.sentryConfig;
|
|
13
|
+
Sentry.init({
|
|
14
|
+
dsn: SENTRY_CONFIG?.DSN,
|
|
15
|
+
integrations: [
|
|
16
|
+
new Sentry.BrowserTracing({
|
|
17
|
+
tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,
|
|
18
|
+
routingInstrumentation: Sentry.routingInstrumentation,
|
|
19
|
+
}),
|
|
20
|
+
],
|
|
21
|
+
tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,
|
|
22
|
+
replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,
|
|
23
|
+
replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,
|
|
24
|
+
});
|
|
25
|
+
Sentry.setUser({ userDetails: this.authorizerService.getUser() });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
handleError(error) {
|
|
29
|
+
const ERROR = error?.originalError || error;
|
|
30
|
+
this.handleChunkError(ERROR);
|
|
31
|
+
Sentry.captureException(ERROR);
|
|
32
|
+
}
|
|
33
|
+
handleChunkError(error) {
|
|
34
|
+
const chunkFailedMessage = /Loading chunk [\d]+ failed/;
|
|
35
|
+
if (chunkFailedMessage.test(error?.message)) {
|
|
36
|
+
window.location.reload();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SentryErrorHandler, deps: [{ token: i1.AuthorizerService }, { token: i2.GlobalErrorService }, { token: i3.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SentryErrorHandler }); }
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SentryErrorHandler, decorators: [{
|
|
43
|
+
type: Injectable
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: i2.GlobalErrorService }, { type: i3.Configurations, decorators: [{
|
|
45
|
+
type: Optional
|
|
46
|
+
}] }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LWVycm9yLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9lcnJvcmhhbmRsZXIvc2VudHJ5LWVycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sS0FBSyxNQUFNLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBUzlDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxpQkFBb0MsRUFDcEMsWUFBZ0MsRUFDNUIsTUFBdUI7UUFGM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFHeEMsSUFBSSxNQUFNLEVBQUUsWUFBWSxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixHQUFHLEVBQUUsYUFBYSxFQUFFLEdBQUc7Z0JBQ3ZCLFlBQVksRUFBRTtvQkFDWixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUM7d0JBQ3hCLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxZQUFZO3dCQUNuRCxzQkFBc0IsRUFBRSxNQUFNLENBQUMsc0JBQXNCO3FCQUN0RCxDQUFDO2lCQUNIO2dCQUNELGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxrQkFBa0I7Z0JBQ2xELHdCQUF3QixFQUFFLGFBQWEsQ0FBQywwQkFBMEI7Z0JBQ2xFLHdCQUF3QixFQUFFLGFBQWEsQ0FBQywyQkFBMkI7YUFDcEUsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxhQUFhLElBQUksS0FBSyxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDM0IsTUFBTSxrQkFBa0IsR0FBRyw0QkFBNEIsQ0FBQztRQUN4RCxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDM0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7K0dBbkNVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFLTixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbic7XHJcblxyXG5pbXBvcnQgeyBBdXRob3JpemVyU2VydmljZSB9IGZyb20gJ0B2Y29tcGx5L2F1dGhvcml6ZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxFcnJvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFcnJvclN0YXR1c0NvZGUgfSBmcm9tICcuLi90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2VudHJ5RXJyb3JIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aG9yaXplclNlcnZpY2U6IEF1dGhvcml6ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlcnJvclNlcnZpY2U6IEdsb2JhbEVycm9yU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXHJcbiAgKSB7XHJcbiAgICBpZiAoY29uZmlnPy5zZW50cnlDb25maWcpIHtcclxuICAgICAgY29uc3QgU0VOVFJZX0NPTkZJRyA9IGNvbmZpZy5zZW50cnlDb25maWc7XHJcbiAgICAgIFNlbnRyeS5pbml0KHtcclxuICAgICAgICBkc246IFNFTlRSWV9DT05GSUc/LkRTTixcclxuICAgICAgICBpbnRlZ3JhdGlvbnM6IFtcclxuICAgICAgICAgIG5ldyBTZW50cnkuQnJvd3NlclRyYWNpbmcoe1xyXG4gICAgICAgICAgICB0cmFjZVByb3BhZ2F0aW9uVGFyZ2V0czogU0VOVFJZX0NPTkZJRy5BTExPV19PUklHSU4sXHJcbiAgICAgICAgICAgIHJvdXRpbmdJbnN0cnVtZW50YXRpb246IFNlbnRyeS5yb3V0aW5nSW5zdHJ1bWVudGF0aW9uLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgXSxcclxuICAgICAgICB0cmFjZXNTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlRSQUNFU19TQU1QTEVfUkFURSxcclxuICAgICAgICByZXBsYXlzU2Vzc2lvblNhbXBsZVJhdGU6IFNFTlRSWV9DT05GSUcuUkVQTEFZX1NFU1NJT05fU0FNUExFX1JBVEUsXHJcbiAgICAgICAgcmVwbGF5c09uRXJyb3JTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlJFUExBWV9PTl9FUlJPUl9TQU1QTEVfUkFURSxcclxuICAgICAgfSk7XHJcbiAgICAgIFNlbnRyeS5zZXRVc2VyKHsgdXNlckRldGFpbHM6IHRoaXMuYXV0aG9yaXplclNlcnZpY2UuZ2V0VXNlcigpIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xyXG4gICAgY29uc3QgRVJST1IgPSBlcnJvcj8ub3JpZ2luYWxFcnJvciB8fCBlcnJvcjtcclxuICAgIHRoaXMuaGFuZGxlQ2h1bmtFcnJvcihFUlJPUik7XHJcbiAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihFUlJPUik7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaHVua0Vycm9yKGVycm9yOiBFcnJvcikge1xyXG4gICAgY29uc3QgY2h1bmtGYWlsZWRNZXNzYWdlID0gL0xvYWRpbmcgY2h1bmsgW1xcZF0rIGZhaWxlZC87XHJcbiAgICBpZiAoY2h1bmtGYWlsZWRNZXNzYWdlLnRlc3QoZXJyb3I/Lm1lc3NhZ2UpKSB7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpResponse, } from '@angular/common/http';
|
|
3
|
+
import { throwError } from 'rxjs';
|
|
4
|
+
import { catchError, tap, timeout } from 'rxjs/operators';
|
|
5
|
+
import { API_TIMEOUT_TIME, ERROR_FEATURE_FLAG, } from '../constants/error-handling.constants';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../services/global-error.service";
|
|
8
|
+
import * as i2 from "../../featureFlag/feature-flag.service";
|
|
9
|
+
export class HttpReqInterceptor {
|
|
10
|
+
constructor(errorService, featureFlagService) {
|
|
11
|
+
this.errorService = errorService;
|
|
12
|
+
this.featureFlagService = featureFlagService;
|
|
13
|
+
}
|
|
14
|
+
intercept(req, next) {
|
|
15
|
+
if (this.featureFlagService.isFeatureEnabled(ERROR_FEATURE_FLAG)) {
|
|
16
|
+
return next.handle(req).pipe(timeout(API_TIMEOUT_TIME), tap((event) => {
|
|
17
|
+
if (event instanceof HttpResponse) {
|
|
18
|
+
this.errorService.handleSoftErrors(event);
|
|
19
|
+
}
|
|
20
|
+
}), catchError((error) => {
|
|
21
|
+
this.errorService.handleError(error, req);
|
|
22
|
+
return throwError(error);
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return next.handle(req);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpReqInterceptor, deps: [{ token: i1.GlobalErrorService }, { token: i2.FeatureFlagService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpReqInterceptor }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpReqInterceptor, decorators: [{
|
|
33
|
+
type: Injectable
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.FeatureFlagService }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQU1MLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLMUQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUcvQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsWUFBZ0MsRUFDaEMsa0JBQXNDO1FBRHRDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzdDLENBQUM7SUFFSixTQUFTLENBQ1AsR0FBcUIsRUFDckIsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMxQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFDekIsR0FBRyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFO2dCQUM1QixJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzNDO1lBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzsrR0ExQlUsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwRXJyb3JSZXNwb25zZSxcclxuICBIdHRwUmVzcG9uc2UsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCwgdGltZW91dCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEdsb2JhbEVycm9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dsb2JhbC1lcnJvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZUZsYWcvZmVhdHVyZS1mbGFnLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBUElfVElNRU9VVF9USU1FLFxyXG4gIEVSUk9SX0ZFQVRVUkVfRkxBRyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBSZXFJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogR2xvYmFsRXJyb3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmZWF0dXJlRmxhZ1NlcnZpY2U6IEZlYXR1cmVGbGFnU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlRmxhZ1NlcnZpY2UuaXNGZWF0dXJlRW5hYmxlZChFUlJPUl9GRUFUVVJFX0ZMQUcpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXHJcbiAgICAgICAgdGltZW91dChBUElfVElNRU9VVF9USU1FKSxcclxuICAgICAgICB0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmhhbmRsZVNvZnRFcnJvcnMoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IsIHJlcSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { ErrorStatusCode } from '../types/global-error.types';
|
|
4
|
+
import { PAGE_LEVEL_API_CONFIG, COMPONENT_LEVEL_API_CONFIG, } from '../constants/api-config.constants';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../ui-kit/snack-bar/snack-bar.service";
|
|
7
|
+
import * as i2 from "./util.service";
|
|
8
|
+
import * as i3 from "@angular/router";
|
|
9
|
+
export class GlobalErrorService {
|
|
10
|
+
constructor(snackBarService, utilService, router) {
|
|
11
|
+
this.snackBarService = snackBarService;
|
|
12
|
+
this.utilService = utilService;
|
|
13
|
+
this.router = router;
|
|
14
|
+
this.globalError$ = new Subject();
|
|
15
|
+
this.localError$ = new Subject();
|
|
16
|
+
this.pageLevelApiConfig = PAGE_LEVEL_API_CONFIG;
|
|
17
|
+
this.componentLevelApiConfig = COMPONENT_LEVEL_API_CONFIG;
|
|
18
|
+
}
|
|
19
|
+
handleSoftErrors(event) {
|
|
20
|
+
const xData = event.headers.get('X-Data');
|
|
21
|
+
if (xData) {
|
|
22
|
+
const parsedData = JSON.parse(xData);
|
|
23
|
+
const statusCode = parsedData.statusCode;
|
|
24
|
+
const statusMessage = parsedData.message;
|
|
25
|
+
if (statusCode && statusCode !== 0) {
|
|
26
|
+
this.snackBarService.show(statusMessage || 'Error occurred', 'error');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
handleError(error, request) {
|
|
31
|
+
if (this.isUnauthenticated(error) ||
|
|
32
|
+
this.isUnauthorizedAccess(error) ||
|
|
33
|
+
this.isNetworkUnavailable(error)) {
|
|
34
|
+
this.publishGlobalError(error);
|
|
35
|
+
}
|
|
36
|
+
else if (this.isServerError(error)) {
|
|
37
|
+
this.handleServerError(error, request);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.handleSoftErrors(error);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
isServerError(error) {
|
|
44
|
+
const serverErrorCodes = [
|
|
45
|
+
ErrorStatusCode.InternalServerError,
|
|
46
|
+
ErrorStatusCode.ServiceUnavailable,
|
|
47
|
+
ErrorStatusCode.BadGateway,
|
|
48
|
+
ErrorStatusCode.RequestTimeout,
|
|
49
|
+
];
|
|
50
|
+
return serverErrorCodes.includes(error.status);
|
|
51
|
+
}
|
|
52
|
+
isUnauthenticated(error) {
|
|
53
|
+
return error.status === ErrorStatusCode.Unauthenticated;
|
|
54
|
+
}
|
|
55
|
+
isUnauthorizedAccess(error) {
|
|
56
|
+
return error.status === ErrorStatusCode.UnauthorizedAccess;
|
|
57
|
+
}
|
|
58
|
+
isNetworkUnavailable(error) {
|
|
59
|
+
return error.status === ErrorStatusCode.NetworkUnavailable;
|
|
60
|
+
}
|
|
61
|
+
handleServerError(error, request) {
|
|
62
|
+
if (this.isPageLevelError(error, request)) {
|
|
63
|
+
this.publishGlobalError(error);
|
|
64
|
+
}
|
|
65
|
+
else if (this.isComponentLevelError(error, request)) {
|
|
66
|
+
this.publishLocalError(error, request);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
publishGlobalError(error) {
|
|
70
|
+
this.globalError$.next(error);
|
|
71
|
+
}
|
|
72
|
+
publishLocalError(error, request) {
|
|
73
|
+
this.localError$.next({ error, request });
|
|
74
|
+
}
|
|
75
|
+
isPageLevelError(error, request) {
|
|
76
|
+
const requestDetails = {
|
|
77
|
+
method: request.method,
|
|
78
|
+
path: request.url,
|
|
79
|
+
query: this.utilService.extractQueryParams(request.params),
|
|
80
|
+
body: request.body,
|
|
81
|
+
pageCode: this.getPageCode(),
|
|
82
|
+
};
|
|
83
|
+
return this.pageLevelApiConfig.some((apiConfig) => this.isApiConfigMatching(apiConfig, requestDetails));
|
|
84
|
+
}
|
|
85
|
+
isComponentLevelError(error, request) {
|
|
86
|
+
const requestDetails = {
|
|
87
|
+
method: request.method,
|
|
88
|
+
path: request.url,
|
|
89
|
+
query: this.utilService.extractQueryParams(request.params),
|
|
90
|
+
body: request.body,
|
|
91
|
+
};
|
|
92
|
+
return this.componentLevelApiConfig.some((apiConfig) => this.isApiConfigMatching(apiConfig, requestDetails));
|
|
93
|
+
}
|
|
94
|
+
getPageCode() {
|
|
95
|
+
const currentRoute = this.router.routerState.snapshot.root.firstChild;
|
|
96
|
+
return currentRoute?.data?.pageCode;
|
|
97
|
+
}
|
|
98
|
+
isApiConfigMatching(apiConfig, requestDetails) {
|
|
99
|
+
return (this.utilService.isStringEqual(apiConfig.method, requestDetails.method) &&
|
|
100
|
+
this.utilService.isSubstringInString(apiConfig.path, requestDetails.path) &&
|
|
101
|
+
this.utilService.isSubsetOfObject(apiConfig.query, requestDetails.query) &&
|
|
102
|
+
this.utilService.isSubsetOfArray(apiConfig.body, requestDetails.body) &&
|
|
103
|
+
(!apiConfig.pageCodes ||
|
|
104
|
+
this.utilService.isValueInArray(apiConfig.pageCodes, requestDetails.pageCode || '')));
|
|
105
|
+
}
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorService, deps: [{ token: i1.SnackBarService }, { token: i2.UtilsService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
107
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorService, providedIn: 'root' }); }
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorService, decorators: [{
|
|
110
|
+
type: Injectable,
|
|
111
|
+
args: [{
|
|
112
|
+
providedIn: 'root',
|
|
113
|
+
}]
|
|
114
|
+
}], ctorParameters: function () { return [{ type: i1.SnackBarService }, { type: i2.UtilsService }, { type: i3.Router }]; } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLL0IsT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLDBCQUEwQixHQUMzQixNQUFNLG1DQUFtQyxDQUFDOzs7OztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBTzdCLFlBQ1UsZUFBZ0MsRUFDaEMsV0FBeUIsRUFDekIsTUFBYztRQUZkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBVGpCLGlCQUFZLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0MsZ0JBQVcsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6Qyx1QkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztRQUMzQyw0QkFBdUIsR0FBRywwQkFBMEIsQ0FBQztJQU0xRCxDQUFDO0lBRUcsZ0JBQWdCLENBQUMsS0FBNEM7UUFDbEUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFDekMsTUFBTSxhQUFhLEdBQUcsVUFB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RSxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQzdCLFNBQVMsQ0FBQyxTQUFTLEVBQ25CLGNBQWMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUM5QixDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7K0dBakpVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBSZXNwb25zZSxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEVycm9yU3RhdHVzQ29kZSwgUmVxdWVzdERldGFpbHMgfSBmcm9tICcuLi90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gIFBBR0VfTEVWRUxfQVBJX0NPTkZJRyxcclxuICBDT01QT05FTlRfTEVWRUxfQVBJX0NPTkZJRyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbmZpZy5jb25zdGFudHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbEVycm9yU2VydmljZSB7XHJcbiAgcHVibGljIGdsb2JhbEVycm9yJDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgbG9jYWxFcnJvciQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByaXZhdGUgcGFnZUxldmVsQXBpQ29uZmlnID0gUEFHRV9MRVZFTF9BUElfQ09ORklHO1xyXG4gIHByaXZhdGUgY29tcG9uZW50TGV2ZWxBcGlDb25maWcgPSBDT01QT05FTlRfTEVWRUxfQVBJX0NPTkZJRztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGhhbmRsZVNvZnRFcnJvcnMoZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+IHwgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IHhEYXRhID0gZXZlbnQuaGVhZGVycy5nZXQoJ1gtRGF0YScpO1xyXG5cclxuICAgIGlmICh4RGF0YSkge1xyXG4gICAgICBjb25zdCBwYXJzZWREYXRhID0gSlNPTi5wYXJzZSh4RGF0YSk7XHJcbiAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBwYXJzZWREYXRhLnN0YXR1c0NvZGU7XHJcbiAgICAgIGNvbnN0IHN0YXR1c01lc3NhZ2UgPSBwYXJzZWREYXRhLm1lc3NhZ2U7XHJcblxyXG4gICAgICBpZiAoc3RhdHVzQ29kZSAmJiBzdGF0dXNDb2RlICE9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uuc2hvdyhzdGF0dXNNZXNzYWdlIHx8ICdFcnJvciBvY2N1cnJlZCcsICdlcnJvcicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuaXNVbmF1dGhlbnRpY2F0ZWQoZXJyb3IpIHx8XHJcbiAgICAgIHRoaXMuaXNVbmF1dGhvcml6ZWRBY2Nlc3MoZXJyb3IpIHx8XHJcbiAgICAgIHRoaXMuaXNOZXR3b3JrVW5hdmFpbGFibGUoZXJyb3IpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wdWJsaXNoR2xvYmFsRXJyb3IoZXJyb3IpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzU2VydmVyRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2VydmVyRXJyb3IoZXJyb3IsIHJlcXVlc3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oYW5kbGVTb2Z0RXJyb3JzKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1NlcnZlckVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VydmVyRXJyb3JDb2RlcyA9IFtcclxuICAgICAgRXJyb3JTdGF0dXNDb2RlLkludGVybmFsU2VydmVyRXJyb3IsXHJcbiAgICAgIEVycm9yU3RhdHVzQ29kZS5TZXJ2aWNlVW5hdmFpbGFibGUsXHJcbiAgICAgIEVycm9yU3RhdHVzQ29kZS5CYWRHYXRld2F5LFxyXG4gICAgICBFcnJvclN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQsXHJcbiAgICBdO1xyXG5cclxuICAgIHJldHVybiBzZXJ2ZXJFcnJvckNvZGVzLmluY2x1ZGVzKGVycm9yLnN0YXR1cyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVW5hdXRoZW50aWNhdGVkKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gRXJyb3JTdGF0dXNDb2RlLlVuYXV0aGVudGljYXRlZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNVbmF1dGhvcml6ZWRBY2Nlc3MoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSBFcnJvclN0YXR1c0NvZGUuVW5hdXRob3JpemVkQWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc05ldHdvcmtVbmF2YWlsYWJsZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPT09IEVycm9yU3RhdHVzQ29kZS5OZXR3b3JrVW5hdmFpbGFibGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNlcnZlckVycm9yKFxyXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PlxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuaXNQYWdlTGV2ZWxFcnJvcihlcnJvciwgcmVxdWVzdCkpIHtcclxuICAgICAgdGhpcy5wdWJsaXNoR2xvYmFsRXJyb3IoZXJyb3IpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQ29tcG9uZW50TGV2ZWxFcnJvcihlcnJvciwgcmVxdWVzdCkpIHtcclxuICAgICAgdGhpcy5wdWJsaXNoTG9jYWxFcnJvcihlcnJvciwgcmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHB1Ymxpc2hHbG9iYWxFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIHRoaXMuZ2xvYmFsRXJyb3IkLm5leHQoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwdWJsaXNoTG9jYWxFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT5cclxuICApIHtcclxuICAgIHRoaXMubG9jYWxFcnJvciQubmV4dCh7IGVycm9yLCByZXF1ZXN0IH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1BhZ2VMZXZlbEVycm9yKFxyXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PlxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVxdWVzdERldGFpbHM6IFJlcXVlc3REZXRhaWxzID0ge1xyXG4gICAgICBtZXRob2Q6IHJlcXVlc3QubWV0aG9kLFxyXG4gICAgICBwYXRoOiByZXF1ZXN0LnVybCxcclxuICAgICAgcXVlcnk6IHRoaXMudXRpbFNlcnZpY2UuZXh0cmFjdFF1ZXJ5UGFyYW1zKHJlcXVlc3QucGFyYW1zKSxcclxuICAgICAgYm9keTogcmVxdWVzdC5ib2R5LFxyXG4gICAgICBwYWdlQ29kZTogdGhpcy5nZXRQYWdlQ29kZSgpLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wYWdlTGV2ZWxBcGlDb25maWcuc29tZSgoYXBpQ29uZmlnKSA9PlxyXG4gICAgICB0aGlzLmlzQXBpQ29uZmlnTWF0Y2hpbmcoYXBpQ29uZmlnLCByZXF1ZXN0RGV0YWlscylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQ29tcG9uZW50TGV2ZWxFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT5cclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHJlcXVlc3REZXRhaWxzOiBSZXF1ZXN0RGV0YWlscyA9IHtcclxuICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcclxuICAgICAgcGF0aDogcmVxdWVzdC51cmwsXHJcbiAgICAgIHF1ZXJ5OiB0aGlzLnV0aWxTZXJ2aWNlLmV4dHJhY3RRdWVyeVBhcmFtcyhyZXF1ZXN0LnBhcmFtcyksXHJcbiAgICAgIGJvZHk6IHJlcXVlc3QuYm9keSxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50TGV2ZWxBcGlDb25maWcuc29tZSgoYXBpQ29uZmlnKSA9PlxyXG4gICAgICB0aGlzLmlzQXBpQ29uZmlnTWF0Y2hpbmcoYXBpQ29uZmlnLCByZXF1ZXN0RGV0YWlscylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhZ2VDb2RlKCkge1xyXG4gICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdC5maXJzdENoaWxkO1xyXG4gICAgcmV0dXJuIGN1cnJlbnRSb3V0ZT8uZGF0YT8ucGFnZUNvZGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQXBpQ29uZmlnTWF0Y2hpbmcoXHJcbiAgICBhcGlDb25maWc6IGFueSxcclxuICAgIHJlcXVlc3REZXRhaWxzOiBSZXF1ZXN0RGV0YWlsc1xyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy51dGlsU2VydmljZS5pc1N0cmluZ0VxdWFsKGFwaUNvbmZpZy5tZXRob2QsIHJlcXVlc3REZXRhaWxzLm1ldGhvZCkgJiZcclxuICAgICAgdGhpcy51dGlsU2VydmljZS5pc1N1YnN0cmluZ0luU3RyaW5nKFxyXG4gICAgICAgIGFwaUNvbmZpZy5wYXRoLFxyXG4gICAgICAgIHJlcXVlc3REZXRhaWxzLnBhdGhcclxuICAgICAgKSAmJlxyXG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLmlzU3Vic2V0T2ZPYmplY3QoXHJcbiAgICAgICAgYXBpQ29uZmlnLnF1ZXJ5LFxyXG4gICAgICAgIHJlcXVlc3REZXRhaWxzLnF1ZXJ5XHJcbiAgICAgICkgJiZcclxuICAgICAgdGhpcy51dGlsU2VydmljZS5pc1N1YnNldE9mQXJyYXkoYXBpQ29uZmlnLmJvZHksIHJlcXVlc3REZXRhaWxzLmJvZHkpICYmXHJcbiAgICAgICghYXBpQ29uZmlnLnBhZ2VDb2RlcyB8fFxyXG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2UuaXNWYWx1ZUluQXJyYXkoXHJcbiAgICAgICAgICBhcGlDb25maWcucGFnZUNvZGVzLFxyXG4gICAgICAgICAgcmVxdWVzdERldGFpbHMucGFnZUNvZGUgfHwgJydcclxuICAgICAgICApKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|