@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.26.2 → 4.26.4

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.
Files changed (45) hide show
  1. package/dpr/all.scss +118 -15
  2. package/dpr/components/_catalogue/catalogue-list/styles.scss +1 -1
  3. package/dpr/components/_reports/report/view.njk +2 -2
  4. package/dpr/components/_reports/report-data-table/style.scss +94 -2
  5. package/dpr/components/_reports/report-data-table/view.njk +2 -2
  6. package/dpr/components/_reports/report-data-table-wrapper/view.njk +3 -3
  7. package/dpr/components/_reports/report-heading/styles.scss +12 -3
  8. package/dpr/components/_reports/report-summary-table/styles.scss +0 -1
  9. package/dpr/components/_reports/report-totals/style.scss +1 -1
  10. package/dpr/components/_reports/report-wrapper/view.njk +1 -1
  11. package/dpr/components/report-list/style.scss +10 -7
  12. package/dpr/routes/journeys/request-report/controller.js +1 -1
  13. package/dpr/routes/journeys/request-report/controller.js.map +2 -2
  14. package/dpr/routes/journeys/request-report/controller.ts +5 -4
  15. package/dpr/routes/journeys/request-report/filters/controller.js +1 -1
  16. package/dpr/routes/journeys/request-report/filters/controller.js.map +2 -2
  17. package/dpr/routes/journeys/request-report/filters/controller.ts +4 -3
  18. package/dpr/routes/journeys/request-report/status/controller.js +1 -1
  19. package/dpr/routes/journeys/request-report/status/controller.js.map +2 -2
  20. package/dpr/routes/journeys/request-report/status/controller.ts +1 -0
  21. package/dpr/routes/journeys/view-report/async/controller.js +1 -1
  22. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  23. package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
  24. package/dpr/routes/journeys/view-report/async/dashboard/controller.js +1 -1
  25. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +2 -2
  26. package/dpr/routes/journeys/view-report/async/dashboard/controller.ts +1 -0
  27. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  28. package/dpr/routes/journeys/view-report/async/report/controller.js.map +2 -2
  29. package/dpr/routes/journeys/view-report/async/report/controller.ts +1 -0
  30. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  31. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +3 -3
  32. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +841 -841
  33. package/dpr/routes/journeys/view-report/controller.js +1 -1
  34. package/dpr/routes/journeys/view-report/controller.js.map +2 -2
  35. package/dpr/routes/journeys/view-report/controller.ts +2 -2
  36. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js +1 -1
  37. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +2 -2
  38. package/dpr/routes/journeys/view-report/sync/dashboard/controller.ts +1 -0
  39. package/dpr/routes/journeys/view-report/sync/report/controller.js +1 -1
  40. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +2 -2
  41. package/dpr/routes/journeys/view-report/sync/report/controller.ts +3 -2
  42. package/dpr/utils/DataTableBuilder/DataTableBuilder.js +1 -1
  43. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +3 -3
  44. package/dpr/utils/DataTableBuilder/DataTableBuilder.ts +10 -2
  45. package/package.json +3 -4
package/dpr/all.scss CHANGED
@@ -173,6 +173,13 @@ ul.dpr-card-group__item__filters-list {
173
173
  display: none;
174
174
  }
175
175
 
176
+ .govuk-main-wrapper,
177
+ .govuk-width-container {
178
+ margin: 0px;
179
+ width: 100%;
180
+ max-width: none;
181
+ }
182
+
176
183
  .data-table-header-button-sort-ascending:after,
177
184
  .data-table-header-button-sort-descending:after,
178
185
  .data-table-header-button-sort-none:after,
@@ -182,7 +189,9 @@ ul.dpr-card-group__item__filters-list {
182
189
 
183
190
  .govuk-table__cell,
184
191
  .govuk-table__header {
185
- font-size: 14px;
192
+ font-size: 12px;
193
+ padding: govuk-spacing(1);
194
+ padding-left: 0px;
186
195
  }
187
196
 
188
197
  .moj-button-menu__wrapper a {
@@ -191,12 +200,6 @@ ul.dpr-card-group__item__filters-list {
191
200
  font-size: 14px;
192
201
  }
193
202
 
194
- div.govuk-width-container {
195
- margin: 0;
196
- max-width: none;
197
- width: 100%;
198
- }
199
-
200
203
  .moj-page-header-actions {
201
204
  margin-bottom: 5px;
202
205
  }
@@ -710,7 +713,7 @@ ul.dpr-card-group__item__filters-list {
710
713
  font-weight: normal;
711
714
  text-align: right;
712
715
  margin-bottom: govuk-spacing(1);
713
- font-size: 16px;
716
+ font-size: 12px;
714
717
  }
715
718
  }
716
719
  .dpr-summary-container-group {
@@ -718,7 +721,6 @@ ul.dpr-card-group__item__filters-list {
718
721
  position: relative;
719
722
  row-gap: 15px;
720
723
  flex-flow: column wrap;
721
- padding-bottom: 40px;
722
724
 
723
725
  .dpr-summary-container {
724
726
  min-width: 200px;
@@ -824,23 +826,32 @@ ul.dpr-card-group__item__filters-list {
824
826
  display: block;
825
827
 
826
828
  .dpr-request-details {
827
- p, ul, li, h1 {
828
- font-size: 16px;
829
+ p, ul, li, h1, h2 {
830
+ font-size: 12px;
829
831
  margin-top: 0px;
830
- margin-bottom: 10px;
832
+ margin-bottom: 5px;
831
833
  padding-top: 0px;
832
834
  }
833
835
  ul {
836
+ padding: 0;
837
+ list-style-type: none;
834
838
  li {
835
839
  display: inline;
836
840
  padding-right: 10px;
837
841
  }
838
842
  }
839
843
  .dpr-request-details__table {
844
+ margin-top: 0px;
845
+ margin-bottom: 0px;
846
+
840
847
  tbody {
841
848
  vertical-align: top;
842
849
  }
843
850
 
851
+ td {
852
+ padding: 0px;
853
+ }
854
+
844
855
  .dpr-request-details__table-heading {
845
856
  width: 15%;
846
857
  }
@@ -861,9 +872,22 @@ ul.dpr-card-group__item__filters-list {
861
872
 
862
873
  .dpr-table-container {
863
874
  position: relative;
875
+
876
+ #dpr-data-table-list {
877
+ .govuk-table__header {
878
+ padding-right: govuk-spacing(4);
879
+ white-space: nowrap;
880
+ }
881
+
882
+ .govuk-table__cell {
883
+ padding-right: govuk-spacing(4);
884
+ }
864
885
 
865
- td {
866
- padding: govuk-spacing(2);
886
+ .govuk-table__body {
887
+ tr.govuk-table__row:nth-child(odd) {
888
+ background-color: govuk-colour("light-grey");
889
+ }
890
+ }
867
891
  }
868
892
 
869
893
  .dpr-section-header {
@@ -901,6 +925,7 @@ ul.dpr-card-group__item__filters-list {
901
925
  padding-left: govuk-spacing(2);
902
926
  padding-right: govuk-spacing(2);
903
927
  padding-top: govuk-spacing(1);
928
+ background-color: white;
904
929
  }
905
930
 
906
931
  .govuk-table__cell {
@@ -945,6 +970,7 @@ ul.dpr-card-group__item__filters-list {
945
970
  -webkit-mask-size: 100% 100%;
946
971
  -webkit-mask-repeat: no-repeat;
947
972
  -webkit-mask-position: left top, left bottom;
973
+ z-index: 100;
948
974
  }
949
975
 
950
976
  .data-table-header-button {
@@ -1012,6 +1038,10 @@ ul.dpr-card-group__item__filters-list {
1012
1038
  word-break: break-all;
1013
1039
  }
1014
1040
 
1041
+ .data-table-cell-long-string {
1042
+ min-width: 300px;
1043
+ }
1044
+
1015
1045
  #pageSize {
1016
1046
  min-width: 5em;
1017
1047
  }
@@ -1179,8 +1209,81 @@ ul.dpr-card-group__item__filters-list {
1179
1209
  width: 0px;
1180
1210
  }
1181
1211
  }
1212
+
1213
+ .govuk-footer {
1214
+ display: none;
1215
+ }
1216
+
1217
+ .dpr-request-details,
1218
+ .govuk-main-wrapper,
1182
1219
  .govuk-width-container {
1183
1220
  max-width: 100% !important;
1221
+ margin: 0px;
1222
+ padding: 0px;
1223
+ }
1224
+
1225
+ .dpr-reports-heading-container {
1226
+ margin-top: govuk-spacing(1);
1227
+ margin-bottom: 0px;
1228
+ padding: 0px;
1229
+ }
1230
+
1231
+ .govuk-table__body {
1232
+ tr.govuk-table__row:nth-child(odd) {
1233
+ background-color: transparent !important;
1234
+ }
1235
+ }
1236
+
1237
+ a {
1238
+ color: black;
1239
+ text-decoration: none;
1240
+ }
1241
+
1242
+ // Parent Child table
1243
+ .dpr-table-container--parent-child-section,
1244
+ .dpr-table-container--parent-child {
1245
+ .dpr-section-header-spacer {
1246
+ padding: 5px
1247
+ }
1248
+
1249
+ .govuk-table__cell {
1250
+ .dpr-child-report {
1251
+ h2 {
1252
+ font-size: 12px;
1253
+ font-weight: 700;
1254
+ }
1255
+ .dpr-child-report_table {
1256
+ padding: 0px;
1257
+
1258
+ td, th {
1259
+ padding: govuk-spacing(1);
1260
+ }
1261
+ }
1262
+ }
1263
+ }
1264
+ }
1265
+
1266
+ .dpr-section-header {
1267
+ padding: govuk-spacing(1);
1268
+ h2 {
1269
+ font-size: 14px;
1270
+ span.govuk-caption-m {
1271
+ font-size: 12px;
1272
+ }
1273
+ }
1274
+ }
1275
+ .dpr-table-container--list-section {
1276
+ .dpr-section-header-spacer {
1277
+ padding: 5px
1278
+ }
1279
+
1280
+ .dpr-report-summary-cell-table-footer,
1281
+ .dpr-report-summary-cell-table-header {
1282
+ background-color: transparent;
1283
+ padding: govuk-spacing(2);
1284
+ padding-left: 0px;
1285
+ border-bottom: 1px solid #b1b4b6;
1286
+ }
1184
1287
  }
1185
1288
  }
1186
1289
  .dpr-columns-form {
@@ -1950,7 +2053,7 @@ ul.dpr-card-group__item__filters-list {
1950
2053
  }
1951
2054
  td.govuk-table__cell {
1952
2055
  font-size: 16px;
1953
- padding: 20px 20px 20px 0
2056
+ padding: 20px 40px 20px 0
1954
2057
  }
1955
2058
 
1956
2059
  .govuk-table__cell:last-child {
@@ -4,7 +4,7 @@
4
4
  }
5
5
  td.govuk-table__cell {
6
6
  font-size: 16px;
7
- padding: 20px 20px 20px 0
7
+ padding: 20px 40px 20px 0
8
8
  }
9
9
 
10
10
  .govuk-table__cell:last-child {
@@ -25,11 +25,11 @@
25
25
  {% endif %}
26
26
  {% endfor %}
27
27
  {% else %}
28
- {{ dprDataTableWrapper(dataTable, classification) }}
28
+ {{ dprDataTableWrapper(dataTable, classification, template) }}
29
29
  {% endif %}
30
30
  </div>
31
31
 
32
- <div class='govuk-!-margin-bottom-6'>
32
+ <div class='govuk-!-margin-bottom-6 govuk-!-margin-top-6'>
33
33
  {{ dprReportTotals(options.totals) }}
34
34
  </div>
35
35
 
@@ -2,9 +2,22 @@
2
2
 
3
3
  .dpr-table-container {
4
4
  position: relative;
5
+
6
+ #dpr-data-table-list {
7
+ .govuk-table__header {
8
+ padding-right: govuk-spacing(4);
9
+ white-space: nowrap;
10
+ }
11
+
12
+ .govuk-table__cell {
13
+ padding-right: govuk-spacing(4);
14
+ }
5
15
 
6
- td {
7
- padding: govuk-spacing(2);
16
+ .govuk-table__body {
17
+ tr.govuk-table__row:nth-child(odd) {
18
+ background-color: govuk-colour("light-grey");
19
+ }
20
+ }
8
21
  }
9
22
 
10
23
  .dpr-section-header {
@@ -42,6 +55,7 @@
42
55
  padding-left: govuk-spacing(2);
43
56
  padding-right: govuk-spacing(2);
44
57
  padding-top: govuk-spacing(1);
58
+ background-color: white;
45
59
  }
46
60
 
47
61
  .govuk-table__cell {
@@ -86,6 +100,7 @@
86
100
  -webkit-mask-size: 100% 100%;
87
101
  -webkit-mask-repeat: no-repeat;
88
102
  -webkit-mask-position: left top, left bottom;
103
+ z-index: 100;
89
104
  }
90
105
 
91
106
  .data-table-header-button {
@@ -153,6 +168,10 @@
153
168
  word-break: break-all;
154
169
  }
155
170
 
171
+ .data-table-cell-long-string {
172
+ min-width: 300px;
173
+ }
174
+
156
175
  #pageSize {
157
176
  min-width: 5em;
158
177
  }
@@ -320,7 +339,80 @@
320
339
  width: 0px;
321
340
  }
322
341
  }
342
+
343
+ .govuk-footer {
344
+ display: none;
345
+ }
346
+
347
+ .dpr-request-details,
348
+ .govuk-main-wrapper,
323
349
  .govuk-width-container {
324
350
  max-width: 100% !important;
351
+ margin: 0px;
352
+ padding: 0px;
353
+ }
354
+
355
+ .dpr-reports-heading-container {
356
+ margin-top: govuk-spacing(1);
357
+ margin-bottom: 0px;
358
+ padding: 0px;
359
+ }
360
+
361
+ .govuk-table__body {
362
+ tr.govuk-table__row:nth-child(odd) {
363
+ background-color: transparent !important;
364
+ }
365
+ }
366
+
367
+ a {
368
+ color: black;
369
+ text-decoration: none;
370
+ }
371
+
372
+ // Parent Child table
373
+ .dpr-table-container--parent-child-section,
374
+ .dpr-table-container--parent-child {
375
+ .dpr-section-header-spacer {
376
+ padding: 5px
377
+ }
378
+
379
+ .govuk-table__cell {
380
+ .dpr-child-report {
381
+ h2 {
382
+ font-size: 12px;
383
+ font-weight: 700;
384
+ }
385
+ .dpr-child-report_table {
386
+ padding: 0px;
387
+
388
+ td, th {
389
+ padding: govuk-spacing(1);
390
+ }
391
+ }
392
+ }
393
+ }
394
+ }
395
+
396
+ .dpr-section-header {
397
+ padding: govuk-spacing(1);
398
+ h2 {
399
+ font-size: 14px;
400
+ span.govuk-caption-m {
401
+ font-size: 12px;
402
+ }
403
+ }
404
+ }
405
+ .dpr-table-container--list-section {
406
+ .dpr-section-header-spacer {
407
+ padding: 5px
408
+ }
409
+
410
+ .dpr-report-summary-cell-table-footer,
411
+ .dpr-report-summary-cell-table-header {
412
+ background-color: transparent;
413
+ padding: govuk-spacing(2);
414
+ padding-left: 0px;
415
+ border-bottom: 1px solid #b1b4b6;
416
+ }
325
417
  }
326
418
  }
@@ -1,6 +1,6 @@
1
1
  {% from "govuk/components/table/macro.njk" import govukTable %}
2
2
 
3
- {% macro dprDataTable(dataTable, classification) %}
3
+ {% macro dprDataTable(dataTable, classification, template) %}
4
4
  {% set rows = dataTable.rows %}
5
5
  {% set head = dataTable.head %}
6
6
  {% set colCount = dataTable.colCount %}
@@ -13,7 +13,7 @@
13
13
  head: head,
14
14
  rows: rows,
15
15
  attributes: {
16
- 'id': 'dpr-data-table',
16
+ 'id': 'dpr-data-table-' + template,
17
17
  'data-classification': classification,
18
18
  'data-col-length': colCount
19
19
  }
@@ -1,14 +1,14 @@
1
1
  {% from "../report-data-table/view.njk" import dprDataTable %}
2
2
  {% from "govuk/components/tabs/macro.njk" import govukTabs %}
3
3
 
4
- {% macro dprDataTableWrapper(dataTables, classification) %}
4
+ {% macro dprDataTableWrapper(dataTables, classification, template) %}
5
5
 
6
6
  {% if dataTables.length > 1 %}
7
7
  {% set tabItems = [] %}
8
8
  {% for dataTable in dataTables %}
9
9
 
10
10
  {% set dataTableHtml %}
11
- {{ dprDataTable(dataTable, classification) }}
11
+ {{ dprDataTable(dataTable, classification, template) }}
12
12
  {% endset -%}
13
13
 
14
14
  {% set tabItems = (tabItems.push({
@@ -22,6 +22,6 @@
22
22
 
23
23
  {{ govukTabs({ items: tabItems}) }}
24
24
  {% else %}
25
- {{ dprDataTable(dataTables[0], classification) }}
25
+ {{ dprDataTable(dataTables[0], classification, template) }}
26
26
  {% endif %}
27
27
  {% endmacro %}
@@ -48,23 +48,32 @@
48
48
  display: block;
49
49
 
50
50
  .dpr-request-details {
51
- p, ul, li, h1 {
52
- font-size: 16px;
51
+ p, ul, li, h1, h2 {
52
+ font-size: 12px;
53
53
  margin-top: 0px;
54
- margin-bottom: 10px;
54
+ margin-bottom: 5px;
55
55
  padding-top: 0px;
56
56
  }
57
57
  ul {
58
+ padding: 0;
59
+ list-style-type: none;
58
60
  li {
59
61
  display: inline;
60
62
  padding-right: 10px;
61
63
  }
62
64
  }
63
65
  .dpr-request-details__table {
66
+ margin-top: 0px;
67
+ margin-bottom: 0px;
68
+
64
69
  tbody {
65
70
  vertical-align: top;
66
71
  }
67
72
 
73
+ td {
74
+ padding: 0px;
75
+ }
76
+
68
77
  .dpr-request-details__table-heading {
69
78
  width: 15%;
70
79
  }
@@ -3,7 +3,6 @@
3
3
  position: relative;
4
4
  row-gap: 15px;
5
5
  flex-flow: column wrap;
6
- padding-bottom: 40px;
7
6
 
8
7
  .dpr-summary-container {
9
8
  min-width: 200px;
@@ -9,6 +9,6 @@
9
9
  font-weight: normal;
10
10
  text-align: right;
11
11
  margin-bottom: govuk-spacing(1);
12
- font-size: 16px;
12
+ font-size: 12px;
13
13
  }
14
14
  }
@@ -10,7 +10,7 @@
10
10
  {% if (printable == false) %}
11
11
  {{ dprReportPrintMessage() }}
12
12
  {% endif %}
13
- <div class="dpr-reports-heading-container govuk-!-margin-top-5">
13
+ <div class="dpr-reports-heading-container">
14
14
  {{ dprReportHeading(renderData) }}
15
15
  </div>
16
16
  {{ dprReportTemplate(renderData)}}
@@ -31,6 +31,13 @@
31
31
  display: none;
32
32
  }
33
33
 
34
+ .govuk-main-wrapper,
35
+ .govuk-width-container {
36
+ margin: 0px;
37
+ width: 100%;
38
+ max-width: none;
39
+ }
40
+
34
41
  .data-table-header-button-sort-ascending:after,
35
42
  .data-table-header-button-sort-descending:after,
36
43
  .data-table-header-button-sort-none:after,
@@ -40,7 +47,9 @@
40
47
 
41
48
  .govuk-table__cell,
42
49
  .govuk-table__header {
43
- font-size: 14px;
50
+ font-size: 12px;
51
+ padding: govuk-spacing(1);
52
+ padding-left: 0px;
44
53
  }
45
54
 
46
55
  .moj-button-menu__wrapper a {
@@ -49,12 +58,6 @@
49
58
  font-size: 14px;
50
59
  }
51
60
 
52
- div.govuk-width-container {
53
- margin: 0;
54
- max-width: none;
55
- width: 100%;
56
- }
57
-
58
61
  .moj-page-header-actions {
59
62
  margin-bottom: 5px;
60
63
  }
@@ -1,2 +1,2 @@
1
- "use strict";var d=Object.create;var a=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var h=(t,r)=>{for(var e in r)a(t,e,{get:r[e],enumerable:!0})},l=(t,r,e,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of R(r))!f.call(t,o)&&o!==e&&a(t,o,{get:()=>r[o],enumerable:!(s=y(r,o))||s.enumerable});return t};var n=(t,r,e)=>(e=t!=null?d(p(t)):{},l(r||!t||!t.__esModule?a(e,"default",{value:t,enumerable:!0}):e,t)),m=t=>l(a({},"__esModule",{value:!0}),t);var g={};h(g,{RequestReportController:()=>i,default:()=>b});module.exports=m(g);var c=n(require("./filters/utils")),u=n(require("../../../utils/ErrorHandler"));class i{layoutPath;services;constructor(r,e){this.layoutPath=r,this.services=e}errorHandler=async(r,e,s,o)=>{s.render("dpr/routes/journeys/view-report/error",{layoutPath:this.layoutPath,...e.body,...e.params,error:e.body.error,params:e.params})};CANCEL=async(r,e,s)=>{try{await c.default.cancelRequest({req:r,res:e,services:this.services})}catch(o){return r.body.title="Failed to abort request",r.body.errorDescription="We were unable to abort the report request for the following reason:",r.body.error=new u.default(o).formatError(),r.flash("ERROR_BODY",JSON.stringify(r.body)),r.flash("ERROR_PARAMS",JSON.stringify(r.params)),r.flash("ERROR",JSON.stringify(r.body.error)),e.redirect(`${r.originalUrl}/failed`)}return e.redirect(r.originalUrl.replace("/cancel","/status"))}}var b=i;0&&(module.exports={RequestReportController});
1
+ "use strict";var u=Object.create;var a=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var h=(t,r)=>{for(var e in r)a(t,e,{get:r[e],enumerable:!0})},l=(t,r,e,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of R(r))!f.call(t,o)&&o!==e&&a(t,o,{get:()=>r[o],enumerable:!(s=y(r,o))||s.enumerable});return t};var n=(t,r,e)=>(e=t!=null?u(p(t)):{},l(r||!t||!t.__esModule?a(e,"default",{value:t,enumerable:!0}):e,t)),m=t=>l(a({},"__esModule",{value:!0}),t);var g={};h(g,{RequestReportController:()=>i,default:()=>b});module.exports=m(g);var c=n(require("./filters/utils")),d=n(require("../../../utils/ErrorHandler"));class i{layoutPath;services;constructor(r,e){this.layoutPath=r,this.services=e}errorHandler=async(r,e,s,o)=>{s.render("dpr/routes/journeys/view-report/error",{layoutPath:this.layoutPath,...e.body&&{...e.body},...e.params,error:e.body?.error,params:e?.params})};CANCEL=async(r,e,s)=>{try{await c.default.cancelRequest({req:r,res:e,services:this.services})}catch(o){return r.body??={},r.body.title="Failed to abort request",r.body.errorDescription="We were unable to abort the report request for the following reason:",r.body.error=new d.default(o).formatError(),r.flash("ERROR_BODY",JSON.stringify(r.body)),r.flash("ERROR_PARAMS",JSON.stringify(r.params)),r.flash("ERROR",JSON.stringify(r.body?.error||{})),e.redirect(`${r.originalUrl}/failed`)}return e.redirect(r.originalUrl.replace("/cancel","/status"))}}var b=i;0&&(module.exports={RequestReportController});
2
2
  //# sourceMappingURL=controller.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/routes/journeys/request-report/controller.ts"],
4
- "sourcesContent": ["import { ErrorRequestHandler, RequestHandler } from 'express'\nimport { Services } from '../../../types/Services'\nimport AsyncRequestUtils from './filters/utils'\nimport ErrorHandler from '../../../utils/ErrorHandler'\n\nclass RequestReportController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n errorHandler: ErrorRequestHandler = async (_error, req, res, _next) => {\n res.render(`dpr/routes/journeys/view-report/error`, {\n layoutPath: this.layoutPath,\n ...req.body,\n ...req.params,\n error: req.body.error,\n params: req.params,\n })\n }\n\n CANCEL: RequestHandler = async (req, res, _next) => {\n try {\n await AsyncRequestUtils.cancelRequest({\n req,\n res,\n services: this.services,\n })\n } catch (error) {\n req.body.title = 'Failed to abort request'\n req.body.errorDescription = 'We were unable to abort the report request for the following reason:'\n req.body.error = new ErrorHandler(error).formatError()\n\n req.flash('ERROR_BODY', JSON.stringify(req.body))\n req.flash('ERROR_PARAMS', JSON.stringify(req.params))\n req.flash('ERROR', JSON.stringify(req.body.error))\n\n return res.redirect(`${req.originalUrl}/failed`)\n }\n return res.redirect(req.originalUrl.replace('/cancel', '/status'))\n }\n}\n\nexport { RequestReportController }\nexport default RequestReportController\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAA8B,8BAC9BC,EAAyB,0CAEzB,MAAMJ,CAAwB,CAC5B,WAEA,SAEA,YAAYK,EAAoBC,EAAoB,CAClD,KAAK,WAAaD,EAClB,KAAK,SAAWC,CAClB,CAEA,aAAoC,MAAOC,EAAQC,EAAKC,EAAKC,IAAU,CACrED,EAAI,OAAO,wCAAyC,CAClD,WAAY,KAAK,WACjB,GAAGD,EAAI,KACP,GAAGA,EAAI,OACP,MAAOA,EAAI,KAAK,MAChB,OAAQA,EAAI,MACd,CAAC,CACH,EAEA,OAAyB,MAAOA,EAAKC,EAAKC,IAAU,CAClD,GAAI,CACF,MAAM,EAAAC,QAAkB,cAAc,CACpC,IAAAH,EACA,IAAAC,EACA,SAAU,KAAK,QACjB,CAAC,CACH,OAASG,EAAO,CACd,OAAAJ,EAAI,KAAK,MAAQ,0BACjBA,EAAI,KAAK,iBAAmB,uEAC5BA,EAAI,KAAK,MAAQ,IAAI,EAAAK,QAAaD,CAAK,EAAE,YAAY,EAErDJ,EAAI,MAAM,aAAc,KAAK,UAAUA,EAAI,IAAI,CAAC,EAChDA,EAAI,MAAM,eAAgB,KAAK,UAAUA,EAAI,MAAM,CAAC,EACpDA,EAAI,MAAM,QAAS,KAAK,UAAUA,EAAI,KAAK,KAAK,CAAC,EAE1CC,EAAI,SAAS,GAAGD,EAAI,WAAW,SAAS,CACjD,CACA,OAAOC,EAAI,SAASD,EAAI,YAAY,QAAQ,UAAW,SAAS,CAAC,CACnE,CACF,CAGA,IAAOP,EAAQD",
4
+ "sourcesContent": ["import { ErrorRequestHandler, RequestHandler } from 'express'\nimport { Services } from '../../../types/Services'\nimport AsyncRequestUtils from './filters/utils'\nimport ErrorHandler from '../../../utils/ErrorHandler'\n\nclass RequestReportController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n errorHandler: ErrorRequestHandler = async (_error, req, res, _next) => {\n res.render(`dpr/routes/journeys/view-report/error`, {\n layoutPath: this.layoutPath,\n ...(req.body && { ...req.body }),\n ...req.params,\n error: req.body?.error,\n params: req?.params,\n })\n }\n\n CANCEL: RequestHandler = async (req, res, _next) => {\n try {\n await AsyncRequestUtils.cancelRequest({\n req,\n res,\n services: this.services,\n })\n } catch (error) {\n req.body ??= {}\n req.body.title = 'Failed to abort request'\n req.body.errorDescription = 'We were unable to abort the report request for the following reason:'\n req.body.error = new ErrorHandler(error).formatError()\n\n req.flash('ERROR_BODY', JSON.stringify(req.body))\n req.flash('ERROR_PARAMS', JSON.stringify(req.params))\n req.flash('ERROR', JSON.stringify(req.body?.error || {}))\n\n return res.redirect(`${req.originalUrl}/failed`)\n }\n return res.redirect(req.originalUrl.replace('/cancel', '/status'))\n }\n}\n\nexport { RequestReportController }\nexport default RequestReportController\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAA8B,8BAC9BC,EAAyB,0CAEzB,MAAMJ,CAAwB,CAC5B,WAEA,SAEA,YAAYK,EAAoBC,EAAoB,CAClD,KAAK,WAAaD,EAClB,KAAK,SAAWC,CAClB,CAEA,aAAoC,MAAOC,EAAQC,EAAKC,EAAKC,IAAU,CACrED,EAAI,OAAO,wCAAyC,CAClD,WAAY,KAAK,WACjB,GAAID,EAAI,MAAQ,CAAE,GAAGA,EAAI,IAAK,EAC9B,GAAGA,EAAI,OACP,MAAOA,EAAI,MAAM,MACjB,OAAQA,GAAK,MACf,CAAC,CACH,EAEA,OAAyB,MAAOA,EAAKC,EAAKC,IAAU,CAClD,GAAI,CACF,MAAM,EAAAC,QAAkB,cAAc,CACpC,IAAAH,EACA,IAAAC,EACA,SAAU,KAAK,QACjB,CAAC,CACH,OAASG,EAAO,CACd,OAAAJ,EAAI,OAAS,CAAC,EACdA,EAAI,KAAK,MAAQ,0BACjBA,EAAI,KAAK,iBAAmB,uEAC5BA,EAAI,KAAK,MAAQ,IAAI,EAAAK,QAAaD,CAAK,EAAE,YAAY,EAErDJ,EAAI,MAAM,aAAc,KAAK,UAAUA,EAAI,IAAI,CAAC,EAChDA,EAAI,MAAM,eAAgB,KAAK,UAAUA,EAAI,MAAM,CAAC,EACpDA,EAAI,MAAM,QAAS,KAAK,UAAUA,EAAI,MAAM,OAAS,CAAC,CAAC,CAAC,EAEjDC,EAAI,SAAS,GAAGD,EAAI,WAAW,SAAS,CACjD,CACA,OAAOC,EAAI,SAASD,EAAI,YAAY,QAAQ,UAAW,SAAS,CAAC,CACnE,CACF,CAGA,IAAOP,EAAQD",
6
6
  "names": ["controller_exports", "__export", "RequestReportController", "controller_default", "__toCommonJS", "import_utils", "import_ErrorHandler", "layoutPath", "services", "_error", "req", "res", "_next", "AsyncRequestUtils", "error", "ErrorHandler"]
7
7
  }
@@ -16,10 +16,10 @@ class RequestReportController {
16
16
  errorHandler: ErrorRequestHandler = async (_error, req, res, _next) => {
17
17
  res.render(`dpr/routes/journeys/view-report/error`, {
18
18
  layoutPath: this.layoutPath,
19
- ...req.body,
19
+ ...(req.body && { ...req.body }),
20
20
  ...req.params,
21
- error: req.body.error,
22
- params: req.params,
21
+ error: req.body?.error,
22
+ params: req?.params,
23
23
  })
24
24
  }
25
25
 
@@ -31,13 +31,14 @@ class RequestReportController {
31
31
  services: this.services,
32
32
  })
33
33
  } catch (error) {
34
+ req.body ??= {}
34
35
  req.body.title = 'Failed to abort request'
35
36
  req.body.errorDescription = 'We were unable to abort the report request for the following reason:'
36
37
  req.body.error = new ErrorHandler(error).formatError()
37
38
 
38
39
  req.flash('ERROR_BODY', JSON.stringify(req.body))
39
40
  req.flash('ERROR_PARAMS', JSON.stringify(req.params))
40
- req.flash('ERROR', JSON.stringify(req.body.error))
41
+ req.flash('ERROR', JSON.stringify(req.body?.error || {}))
41
42
 
42
43
  return res.redirect(`${req.originalUrl}/failed`)
43
44
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.create;var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var E=(s,e)=>{for(var t in e)l(s,t,{get:e[t],enumerable:!0})},m=(s,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of R(e))!b.call(s,r)&&r!==t&&l(s,r,{get:()=>e[r],enumerable:!(a=v(e,r))||a.enumerable});return s};var c=(s,e,t)=>(t=s!=null?p(D(s)):{},m(e||!s||!s.__esModule?l(t,"default",{value:s,enumerable:!0}):t,s)),P=s=>m(l({},"__esModule",{value:!0}),s);var F={};E(F,{RequestReportController:()=>y,default:()=>w});module.exports=P(F);var u=c(require("./utils")),d=c(require("../../../../utils/Personalisation/personalisationUtils")),n=require("../../../../components/_filters/filtersTypeEnum"),i=c(require("../../../../utils/ErrorHandler"));class y{layoutPath;services;constructor(e,t){this.layoutPath=e,this.services=t}GET=async(e,t,a)=>{try{const r=await u.default.renderRequest({req:e,res:t,services:this.services,next:a});t.render("dpr/routes/journeys/request-report/filters/view",{layoutPath:this.layoutPath,...r})}catch(r){e.body.title="Request failed",e.body.errorDescription=`Your ${e.params.type} has failed to generate.`,e.body.error=new i.default(r).formatError(),a()}};POST=async(e,t,a)=>{try{const r=await u.default.request({req:e,res:t,services:this.services,next:a}),{executionId:o,dataProductDefinitionsPath:f}=r;if(o){const h=f?`${o}/status?dataProductDefinitionsPath=${f}`:`${o}/status`;t.redirect(h)}else t.end()}catch(r){const o=u.default.getFiltersFromReqBody(e);e.body={title:"Request Failed",errorDescription:`Your ${e.params.type} has failed to generate.`,error:new i.default(r).formatError(),retry:!0,filters:o,...e.body},a(r)}};saveDefaultFilterValues=async(e,t,a)=>{try{await d.default.saveDefaults(n.FiltersType.REQUEST,t,e,this.services),t.redirect(`${e.baseUrl}?defaultsSaved=true`)}catch(r){e.body={title:"Failed to save defaults",error:new i.default(r).formatError(),...e.body},a()}};removeDefaultFilterValues=async(e,t,a)=>{try{await d.default.removeDefaults(n.FiltersType.REQUEST,t,e,this.services),t.redirect(e.baseUrl)}catch(r){e.body={title:"Failed to remove defaults",error:new i.default(r).formatError(),...e.body},a()}}}var w=y;0&&(module.exports={RequestReportController});
1
+ "use strict";var p=Object.create;var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var E=(s,e)=>{for(var t in e)l(s,t,{get:e[t],enumerable:!0})},m=(s,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of R(e))!D.call(s,r)&&r!==t&&l(s,r,{get:()=>e[r],enumerable:!(o=v(e,r))||o.enumerable});return s};var u=(s,e,t)=>(t=s!=null?p(b(s)):{},m(e||!s||!s.__esModule?l(t,"default",{value:s,enumerable:!0}):t,s)),P=s=>m(l({},"__esModule",{value:!0}),s);var F={};E(F,{RequestReportController:()=>y,default:()=>w});module.exports=P(F);var d=u(require("./utils")),c=u(require("../../../../utils/Personalisation/personalisationUtils")),n=require("../../../../components/_filters/filtersTypeEnum"),i=u(require("../../../../utils/ErrorHandler"));class y{layoutPath;services;constructor(e,t){this.layoutPath=e,this.services=t}GET=async(e,t,o)=>{try{const r=await d.default.renderRequest({req:e,res:t,services:this.services,next:o});t.render("dpr/routes/journeys/request-report/filters/view",{layoutPath:this.layoutPath,...r})}catch(r){e.body??={},e.body.title="Request failed",e.body.errorDescription=`Your ${e.params.type} has failed to generate.`,e.body.error=new i.default(r).formatError(),o()}};POST=async(e,t,o)=>{try{const r=await d.default.request({req:e,res:t,services:this.services,next:o}),{executionId:a,dataProductDefinitionsPath:f}=r;if(a){const h=f?`${a}/status?dataProductDefinitionsPath=${f}`:`${a}/status`;t.redirect(h)}else t.end()}catch(r){const a=d.default.getFiltersFromReqBody(e);e.body={title:"Request Failed",errorDescription:`Your ${e.params.type} has failed to generate.`,error:new i.default(r).formatError(),retry:!0,filters:a,...e.body&&{...e.body}},o(r)}};saveDefaultFilterValues=async(e,t,o)=>{try{await c.default.saveDefaults(n.FiltersType.REQUEST,t,e,this.services),t.redirect(`${e.baseUrl}?defaultsSaved=true`)}catch(r){e.body={title:"Failed to save defaults",error:new i.default(r).formatError(),...e.body&&{...e.body}},o()}};removeDefaultFilterValues=async(e,t,o)=>{try{await c.default.removeDefaults(n.FiltersType.REQUEST,t,e,this.services),t.redirect(e.baseUrl)}catch(r){e.body={title:"Failed to remove defaults",error:new i.default(r).formatError(),...e.body&&{...e.body}},o()}}}var w=y;0&&(module.exports={RequestReportController});
2
2
  //# sourceMappingURL=controller.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/dpr/routes/journeys/request-report/filters/controller.ts"],
4
- "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../types/Services'\nimport { RequestDataResult } from '../../../../types/AsyncReportUtils'\nimport AysncRequestUtils from './utils'\nimport PersonalisationUtils from '../../../../utils/Personalisation/personalisationUtils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\nimport ErrorHandler from '../../../../utils/ErrorHandler'\n\nclass RequestReportController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n // Render request page\n GET: RequestHandler = async (req, res, next) => {\n try {\n const requestRenderData = <RequestDataResult>await AysncRequestUtils.renderRequest({\n req,\n res,\n services: this.services,\n next,\n })\n\n res.render(`dpr/routes/journeys/request-report/filters/view`, {\n layoutPath: this.layoutPath,\n ...requestRenderData,\n })\n } catch (error) {\n req.body.title = 'Request failed'\n req.body.errorDescription = `Your ${req.params['type']} has failed to generate.`\n req.body.error = new ErrorHandler(error).formatError()\n next()\n }\n }\n\n // Request report\n POST: RequestHandler = async (req, res, next) => {\n try {\n const executionData = await AysncRequestUtils.request({\n req,\n res,\n services: this.services,\n next,\n })\n\n const { executionId, dataProductDefinitionsPath } = executionData\n\n if (executionId) {\n const redirect = dataProductDefinitionsPath\n ? `${executionId}/status?dataProductDefinitionsPath=${dataProductDefinitionsPath}`\n : `${executionId}/status`\n res.redirect(redirect)\n } else {\n res.end()\n }\n } catch (error) {\n const filters = AysncRequestUtils.getFiltersFromReqBody(req)\n\n req.body = {\n title: 'Request Failed',\n errorDescription: `Your ${req.params['type']} has failed to generate.`,\n error: new ErrorHandler(error).formatError(),\n retry: true,\n filters,\n ...req.body,\n }\n next(error)\n }\n }\n\n saveDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n await PersonalisationUtils.saveDefaults(FiltersType.REQUEST, res, req, this.services)\n res.redirect(`${req.baseUrl}?defaultsSaved=true`)\n } catch (error) {\n req.body = {\n title: 'Failed to save defaults',\n error: new ErrorHandler(error).formatError(),\n ...req.body,\n }\n next()\n }\n }\n\n removeDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n await PersonalisationUtils.removeDefaults(FiltersType.REQUEST, res, req, this.services)\n res.redirect(req.baseUrl)\n } catch (error) {\n req.body = {\n title: 'Failed to remove defaults',\n error: new ErrorHandler(error).formatError(),\n ...req.body,\n }\n next()\n }\n }\n}\n\nexport { RequestReportController }\nexport default RequestReportController\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAGA,IAAAK,EAA8B,sBAC9BC,EAAiC,qEACjCC,EAA4B,2DAC5BC,EAAyB,6CAEzB,MAAMN,CAAwB,CAC5B,WAEA,SAEA,YAAYO,EAAoBC,EAAoB,CAClD,KAAK,WAAaD,EAClB,KAAK,SAAWC,CAClB,CAGA,IAAsB,MAAOC,EAAKC,EAAKC,IAAS,CAC9C,GAAI,CACF,MAAMC,EAAuC,MAAM,EAAAC,QAAkB,cAAc,CACjF,IAAAJ,EACA,IAAAC,EACA,SAAU,KAAK,SACf,KAAAC,CACF,CAAC,EAEDD,EAAI,OAAO,kDAAmD,CAC5D,WAAY,KAAK,WACjB,GAAGE,CACL,CAAC,CACH,OAASE,EAAO,CACdL,EAAI,KAAK,MAAQ,iBACjBA,EAAI,KAAK,iBAAmB,QAAQA,EAAI,OAAO,IAAO,2BACtDA,EAAI,KAAK,MAAQ,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EACrDH,EAAK,CACP,CACF,EAGA,KAAuB,MAAOF,EAAKC,EAAKC,IAAS,CAC/C,GAAI,CACF,MAAMK,EAAgB,MAAM,EAAAH,QAAkB,QAAQ,CACpD,IAAAJ,EACA,IAAAC,EACA,SAAU,KAAK,SACf,KAAAC,CACF,CAAC,EAEK,CAAE,YAAAM,EAAa,2BAAAC,CAA2B,EAAIF,EAEpD,GAAIC,EAAa,CACf,MAAME,EAAWD,EACb,GAAGD,CAAW,sCAAsCC,CAA0B,GAC9E,GAAGD,CAAW,UAClBP,EAAI,SAASS,CAAQ,CACvB,MACET,EAAI,IAAI,CAEZ,OAASI,EAAO,CACd,MAAMM,EAAU,EAAAP,QAAkB,sBAAsBJ,CAAG,EAE3DA,EAAI,KAAO,CACT,MAAO,iBACP,iBAAkB,QAAQA,EAAI,OAAO,IAAO,2BAC5C,MAAO,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EAC3C,MAAO,GACP,QAAAM,EACA,GAAGX,EAAI,IACT,EACAE,EAAKG,CAAK,CACZ,CACF,EAEA,wBAA0C,MAAOL,EAAKC,EAAKC,IAAS,CAClE,GAAI,CACF,MAAM,EAAAU,QAAqB,aAAa,cAAY,QAASX,EAAKD,EAAK,KAAK,QAAQ,EACpFC,EAAI,SAAS,GAAGD,EAAI,OAAO,qBAAqB,CAClD,OAASK,EAAO,CACdL,EAAI,KAAO,CACT,MAAO,0BACP,MAAO,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EAC3C,GAAGL,EAAI,IACT,EACAE,EAAK,CACP,CACF,EAEA,0BAA4C,MAAOF,EAAKC,EAAKC,IAAS,CACpE,GAAI,CACF,MAAM,EAAAU,QAAqB,eAAe,cAAY,QAASX,EAAKD,EAAK,KAAK,QAAQ,EACtFC,EAAI,SAASD,EAAI,OAAO,CAC1B,OAASK,EAAO,CACdL,EAAI,KAAO,CACT,MAAO,4BACP,MAAO,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EAC3C,GAAGL,EAAI,IACT,EACAE,EAAK,CACP,CACF,CACF,CAGA,IAAOV,EAAQD",
4
+ "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../types/Services'\nimport { RequestDataResult } from '../../../../types/AsyncReportUtils'\nimport AysncRequestUtils from './utils'\nimport PersonalisationUtils from '../../../../utils/Personalisation/personalisationUtils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\nimport ErrorHandler from '../../../../utils/ErrorHandler'\n\nclass RequestReportController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n // Render request page\n GET: RequestHandler = async (req, res, next) => {\n try {\n const requestRenderData = <RequestDataResult>await AysncRequestUtils.renderRequest({\n req,\n res,\n services: this.services,\n next,\n })\n\n res.render(`dpr/routes/journeys/request-report/filters/view`, {\n layoutPath: this.layoutPath,\n ...requestRenderData,\n })\n } catch (error) {\n req.body ??= {}\n req.body.title = 'Request failed'\n req.body.errorDescription = `Your ${req.params['type']} has failed to generate.`\n req.body.error = new ErrorHandler(error).formatError()\n next()\n }\n }\n\n // Request report\n POST: RequestHandler = async (req, res, next) => {\n try {\n const executionData = await AysncRequestUtils.request({\n req,\n res,\n services: this.services,\n next,\n })\n\n const { executionId, dataProductDefinitionsPath } = executionData\n\n if (executionId) {\n const redirect = dataProductDefinitionsPath\n ? `${executionId}/status?dataProductDefinitionsPath=${dataProductDefinitionsPath}`\n : `${executionId}/status`\n res.redirect(redirect)\n } else {\n res.end()\n }\n } catch (error) {\n const filters = AysncRequestUtils.getFiltersFromReqBody(req)\n\n req.body = {\n title: 'Request Failed',\n errorDescription: `Your ${req.params['type']} has failed to generate.`,\n error: new ErrorHandler(error).formatError(),\n retry: true,\n filters,\n ...(req.body && { ...req.body }),\n }\n next(error)\n }\n }\n\n saveDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n await PersonalisationUtils.saveDefaults(FiltersType.REQUEST, res, req, this.services)\n res.redirect(`${req.baseUrl}?defaultsSaved=true`)\n } catch (error) {\n req.body = {\n title: 'Failed to save defaults',\n error: new ErrorHandler(error).formatError(),\n ...(req.body && { ...req.body }),\n }\n next()\n }\n }\n\n removeDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n await PersonalisationUtils.removeDefaults(FiltersType.REQUEST, res, req, this.services)\n res.redirect(req.baseUrl)\n } catch (error) {\n req.body = {\n title: 'Failed to remove defaults',\n error: new ErrorHandler(error).formatError(),\n ...(req.body && { ...req.body }),\n }\n next()\n }\n }\n}\n\nexport { RequestReportController }\nexport default RequestReportController\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAGA,IAAAK,EAA8B,sBAC9BC,EAAiC,qEACjCC,EAA4B,2DAC5BC,EAAyB,6CAEzB,MAAMN,CAAwB,CAC5B,WAEA,SAEA,YAAYO,EAAoBC,EAAoB,CAClD,KAAK,WAAaD,EAClB,KAAK,SAAWC,CAClB,CAGA,IAAsB,MAAOC,EAAKC,EAAKC,IAAS,CAC9C,GAAI,CACF,MAAMC,EAAuC,MAAM,EAAAC,QAAkB,cAAc,CACjF,IAAAJ,EACA,IAAAC,EACA,SAAU,KAAK,SACf,KAAAC,CACF,CAAC,EAEDD,EAAI,OAAO,kDAAmD,CAC5D,WAAY,KAAK,WACjB,GAAGE,CACL,CAAC,CACH,OAASE,EAAO,CACdL,EAAI,OAAS,CAAC,EACdA,EAAI,KAAK,MAAQ,iBACjBA,EAAI,KAAK,iBAAmB,QAAQA,EAAI,OAAO,IAAO,2BACtDA,EAAI,KAAK,MAAQ,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EACrDH,EAAK,CACP,CACF,EAGA,KAAuB,MAAOF,EAAKC,EAAKC,IAAS,CAC/C,GAAI,CACF,MAAMK,EAAgB,MAAM,EAAAH,QAAkB,QAAQ,CACpD,IAAAJ,EACA,IAAAC,EACA,SAAU,KAAK,SACf,KAAAC,CACF,CAAC,EAEK,CAAE,YAAAM,EAAa,2BAAAC,CAA2B,EAAIF,EAEpD,GAAIC,EAAa,CACf,MAAME,EAAWD,EACb,GAAGD,CAAW,sCAAsCC,CAA0B,GAC9E,GAAGD,CAAW,UAClBP,EAAI,SAASS,CAAQ,CACvB,MACET,EAAI,IAAI,CAEZ,OAASI,EAAO,CACd,MAAMM,EAAU,EAAAP,QAAkB,sBAAsBJ,CAAG,EAE3DA,EAAI,KAAO,CACT,MAAO,iBACP,iBAAkB,QAAQA,EAAI,OAAO,IAAO,2BAC5C,MAAO,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EAC3C,MAAO,GACP,QAAAM,EACA,GAAIX,EAAI,MAAQ,CAAE,GAAGA,EAAI,IAAK,CAChC,EACAE,EAAKG,CAAK,CACZ,CACF,EAEA,wBAA0C,MAAOL,EAAKC,EAAKC,IAAS,CAClE,GAAI,CACF,MAAM,EAAAU,QAAqB,aAAa,cAAY,QAASX,EAAKD,EAAK,KAAK,QAAQ,EACpFC,EAAI,SAAS,GAAGD,EAAI,OAAO,qBAAqB,CAClD,OAASK,EAAO,CACdL,EAAI,KAAO,CACT,MAAO,0BACP,MAAO,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EAC3C,GAAIL,EAAI,MAAQ,CAAE,GAAGA,EAAI,IAAK,CAChC,EACAE,EAAK,CACP,CACF,EAEA,0BAA4C,MAAOF,EAAKC,EAAKC,IAAS,CACpE,GAAI,CACF,MAAM,EAAAU,QAAqB,eAAe,cAAY,QAASX,EAAKD,EAAK,KAAK,QAAQ,EACtFC,EAAI,SAASD,EAAI,OAAO,CAC1B,OAASK,EAAO,CACdL,EAAI,KAAO,CACT,MAAO,4BACP,MAAO,IAAI,EAAAM,QAAaD,CAAK,EAAE,YAAY,EAC3C,GAAIL,EAAI,MAAQ,CAAE,GAAGA,EAAI,IAAK,CAChC,EACAE,EAAK,CACP,CACF,CACF,CAGA,IAAOV,EAAQD",
6
6
  "names": ["controller_exports", "__export", "RequestReportController", "controller_default", "__toCommonJS", "import_utils", "import_personalisationUtils", "import_filtersTypeEnum", "import_ErrorHandler", "layoutPath", "services", "req", "res", "next", "requestRenderData", "AysncRequestUtils", "error", "ErrorHandler", "executionData", "executionId", "dataProductDefinitionsPath", "redirect", "filters", "PersonalisationUtils"]
7
7
  }
@@ -31,6 +31,7 @@ class RequestReportController {
31
31
  ...requestRenderData,
32
32
  })
33
33
  } catch (error) {
34
+ req.body ??= {}
34
35
  req.body.title = 'Request failed'
35
36
  req.body.errorDescription = `Your ${req.params['type']} has failed to generate.`
36
37
  req.body.error = new ErrorHandler(error).formatError()
@@ -67,7 +68,7 @@ class RequestReportController {
67
68
  error: new ErrorHandler(error).formatError(),
68
69
  retry: true,
69
70
  filters,
70
- ...req.body,
71
+ ...(req.body && { ...req.body }),
71
72
  }
72
73
  next(error)
73
74
  }
@@ -81,7 +82,7 @@ class RequestReportController {
81
82
  req.body = {
82
83
  title: 'Failed to save defaults',
83
84
  error: new ErrorHandler(error).formatError(),
84
- ...req.body,
85
+ ...(req.body && { ...req.body }),
85
86
  }
86
87
  next()
87
88
  }
@@ -95,7 +96,7 @@ class RequestReportController {
95
96
  req.body = {
96
97
  title: 'Failed to remove defaults',
97
98
  error: new ErrorHandler(error).formatError(),
98
- ...req.body,
99
+ ...(req.body && { ...req.body }),
99
100
  }
100
101
  next()
101
102
  }