@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.27.0 → 4.28.0

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 (468) hide show
  1. package/dpr/assets/app.js.map +2 -2
  2. package/dpr/components/_async/async-filters-form/sortByTemplate.js +60 -1
  3. package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +2 -2
  4. package/dpr/components/_async/async-filters-form/types.d.js +16 -1
  5. package/dpr/components/_async/async-filters-form/types.d.js.map +2 -2
  6. package/dpr/components/_async/async-filters-form/utils.js +180 -1
  7. package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
  8. package/dpr/components/_catalogue/catalogue/types.js +16 -1
  9. package/dpr/components/_catalogue/catalogue/types.js.map +2 -2
  10. package/dpr/components/_catalogue/catalogue/utils.js +83 -1
  11. package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
  12. package/dpr/components/_catalogue/catalogue-list/utils.js +140 -1
  13. package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
  14. package/dpr/components/_charts/chart/Chart.js +99 -1
  15. package/dpr/components/_charts/chart/Chart.js.map +2 -2
  16. package/dpr/components/_charts/chart/ChartColours.js +61 -1
  17. package/dpr/components/_charts/chart/ChartColours.js.map +2 -2
  18. package/dpr/components/_charts/chart/ChartTimeseries.js +101 -1
  19. package/dpr/components/_charts/chart/ChartTimeseries.js.map +2 -2
  20. package/dpr/components/_charts/chart/bar/BarChart.js +193 -1
  21. package/dpr/components/_charts/chart/bar/BarChart.js.map +2 -2
  22. package/dpr/components/_charts/chart/bar/types.js +16 -1
  23. package/dpr/components/_charts/chart/bar/types.js.map +2 -2
  24. package/dpr/components/_charts/chart/bar/validate.js +73 -1
  25. package/dpr/components/_charts/chart/bar/validate.js.map +2 -2
  26. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js +80 -1
  27. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +2 -2
  28. package/dpr/components/_charts/chart/bar-timeseries/types.js +16 -1
  29. package/dpr/components/_charts/chart/bar-timeseries/types.js.map +2 -2
  30. package/dpr/components/_charts/chart/bar-timeseries/validate.js +48 -1
  31. package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +2 -2
  32. package/dpr/components/_charts/chart/buckets/Buckets.js +194 -1
  33. package/dpr/components/_charts/chart/buckets/Buckets.js.map +2 -2
  34. package/dpr/components/_charts/chart/buckets/types.js +16 -1
  35. package/dpr/components/_charts/chart/buckets/types.js.map +2 -2
  36. package/dpr/components/_charts/chart/buckets/validate.js +40 -1
  37. package/dpr/components/_charts/chart/buckets/validate.js.map +2 -2
  38. package/dpr/components/_charts/chart/chart-config.js +62 -1
  39. package/dpr/components/_charts/chart/chart-config.js.map +2 -2
  40. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js +96 -1
  41. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +2 -2
  42. package/dpr/components/_charts/chart/doughnut/types.js +16 -1
  43. package/dpr/components/_charts/chart/doughnut/types.js.map +2 -2
  44. package/dpr/components/_charts/chart/doughnut/validate.js +48 -1
  45. package/dpr/components/_charts/chart/doughnut/validate.js.map +2 -2
  46. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +213 -1
  47. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  48. package/dpr/components/_charts/chart/heatmap/types.js +16 -1
  49. package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
  50. package/dpr/components/_charts/chart/heatmap/validate.js +40 -1
  51. package/dpr/components/_charts/chart/heatmap/validate.js.map +2 -2
  52. package/dpr/components/_charts/chart/line/LineChart.js +107 -1
  53. package/dpr/components/_charts/chart/line/LineChart.js.map +2 -2
  54. package/dpr/components/_charts/chart/line/types.js +16 -1
  55. package/dpr/components/_charts/chart/line/types.js.map +2 -2
  56. package/dpr/components/_charts/chart/line/validate.js +48 -1
  57. package/dpr/components/_charts/chart/line/validate.js.map +2 -2
  58. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js +81 -1
  59. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +2 -2
  60. package/dpr/components/_charts/chart/line-timeseries/types.js +16 -1
  61. package/dpr/components/_charts/chart/line-timeseries/types.js.map +2 -2
  62. package/dpr/components/_charts/chart/line-timeseries/validate.js +48 -1
  63. package/dpr/components/_charts/chart/line-timeseries/validate.js.map +2 -2
  64. package/dpr/components/_charts/utils.js +240 -1
  65. package/dpr/components/_charts/utils.js.map +2 -2
  66. package/dpr/components/_dashboards/dashboard-list/types.js +16 -1
  67. package/dpr/components/_dashboards/dashboard-list/types.js.map +2 -2
  68. package/dpr/components/_dashboards/dashboard-list/utils.js +170 -1
  69. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  70. package/dpr/components/_dashboards/dashboard-list/validate.js +43 -1
  71. package/dpr/components/_dashboards/dashboard-list/validate.js.map +2 -2
  72. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js +95 -1
  73. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +2 -2
  74. package/dpr/components/_dashboards/dashboard-visualisation/types.js +40 -1
  75. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
  76. package/dpr/components/_dashboards/scorecard/Scorecard.js +176 -1
  77. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  78. package/dpr/components/_dashboards/scorecard/types.js +16 -1
  79. package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
  80. package/dpr/components/_dashboards/scorecard/utils.js +61 -1
  81. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  82. package/dpr/components/_dashboards/scorecard/validate.js +50 -1
  83. package/dpr/components/_dashboards/scorecard/validate.js.map +2 -2
  84. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js +212 -1
  85. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +2 -2
  86. package/dpr/components/_dashboards/scorecard-group/types.js +16 -1
  87. package/dpr/components/_dashboards/scorecard-group/types.js.map +2 -2
  88. package/dpr/components/_dashboards/scorecard-group/validate.js +50 -1
  89. package/dpr/components/_dashboards/scorecard-group/validate.js.map +2 -2
  90. package/dpr/components/_filters/filter-input/enum.js +38 -1
  91. package/dpr/components/_filters/filter-input/enum.js.map +2 -2
  92. package/dpr/components/_filters/filter-input/filters.js +37 -1
  93. package/dpr/components/_filters/filter-input/filters.js.map +2 -2
  94. package/dpr/components/_filters/filter-input/types.d.js +16 -1
  95. package/dpr/components/_filters/filter-input/types.d.js.map +2 -2
  96. package/dpr/components/_filters/filters-selected/utils.js +314 -1
  97. package/dpr/components/_filters/filters-selected/utils.js.map +2 -2
  98. package/dpr/components/_filters/filtersTypeEnum.js +32 -1
  99. package/dpr/components/_filters/filtersTypeEnum.js.map +2 -2
  100. package/dpr/components/_filters/types.d.js +16 -1
  101. package/dpr/components/_filters/types.d.js.map +2 -2
  102. package/dpr/components/_filters/utils.js +385 -1
  103. package/dpr/components/_filters/utils.js.map +2 -2
  104. package/dpr/components/_inputs/autocomplete-text-input/utils.js +45 -1
  105. package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +2 -2
  106. package/dpr/components/_inputs/date-input/utils.js +88 -1
  107. package/dpr/components/_inputs/date-input/utils.js.map +2 -2
  108. package/dpr/components/_inputs/date-range/types.js +38 -1
  109. package/dpr/components/_inputs/date-range/types.js.map +2 -2
  110. package/dpr/components/_inputs/date-range/utils.js +229 -1
  111. package/dpr/components/_inputs/date-range/utils.js.map +2 -2
  112. package/dpr/components/_inputs/granular-date-range/types.js +70 -1
  113. package/dpr/components/_inputs/granular-date-range/types.js.map +2 -2
  114. package/dpr/components/_inputs/granular-date-range/utils.js +445 -1
  115. package/dpr/components/_inputs/granular-date-range/utils.js.map +2 -2
  116. package/dpr/components/_inputs/multi-select/utils.js +88 -1
  117. package/dpr/components/_inputs/multi-select/utils.js.map +2 -2
  118. package/dpr/components/_inputs/start-end-date/utils.js +84 -1
  119. package/dpr/components/_inputs/start-end-date/utils.js.map +2 -2
  120. package/dpr/components/_reports/report-actions/actionsTemplate.js +59 -1
  121. package/dpr/components/_reports/report-actions/actionsTemplate.js.map +2 -2
  122. package/dpr/components/_reports/report-actions/types.d.js +16 -1
  123. package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
  124. package/dpr/components/_reports/report-actions/utils.js +97 -1
  125. package/dpr/components/_reports/report-actions/utils.js.map +2 -2
  126. package/dpr/components/_reports/report-columns-form/types.d.js +16 -1
  127. package/dpr/components/_reports/report-columns-form/types.d.js.map +2 -2
  128. package/dpr/components/_reports/report-columns-form/utils.js +65 -1
  129. package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
  130. package/dpr/components/_reports/report-data-table/types.d.js +16 -1
  131. package/dpr/components/_reports/report-data-table/types.d.js.map +2 -2
  132. package/dpr/components/_reports/report-data-table/utils.js +122 -1
  133. package/dpr/components/_reports/report-data-table/utils.js.map +2 -2
  134. package/dpr/components/_reports/report-pagination/types.d.js +16 -1
  135. package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
  136. package/dpr/components/_reports/report-pagination/utils.js +105 -1
  137. package/dpr/components/_reports/report-pagination/utils.js.map +2 -2
  138. package/dpr/components/_reports/report-totals/utils.js +42 -1
  139. package/dpr/components/_reports/report-totals/utils.js.map +2 -2
  140. package/dpr/components/card-group/utils.js +57 -1
  141. package/dpr/components/card-group/utils.js.map +2 -2
  142. package/dpr/components/report-list/defaultTokenProvider.js +36 -1
  143. package/dpr/components/report-list/defaultTokenProvider.js.map +2 -2
  144. package/dpr/components/report-list/types.d.js +16 -1
  145. package/dpr/components/report-list/types.d.js.map +2 -2
  146. package/dpr/components/report-list/utils.js +238 -1
  147. package/dpr/components/report-list/utils.js.map +2 -2
  148. package/dpr/components/show-more/utils.js +38 -3
  149. package/dpr/components/show-more/utils.js.map +2 -2
  150. package/dpr/components/user-reports/bookmarks/utils.js +198 -1
  151. package/dpr/components/user-reports/bookmarks/utils.js.map +2 -2
  152. package/dpr/components/user-reports/requested/utils.js +65 -1
  153. package/dpr/components/user-reports/requested/utils.js.map +2 -2
  154. package/dpr/components/user-reports/types.d.js +16 -1
  155. package/dpr/components/user-reports/types.d.js.map +2 -2
  156. package/dpr/components/user-reports/utils.js +365 -1
  157. package/dpr/components/user-reports/utils.js.map +2 -2
  158. package/dpr/components/user-reports/viewed/utils.js +37 -1
  159. package/dpr/components/user-reports/viewed/utils.js.map +2 -2
  160. package/dpr/data/agentConfig.js +35 -1
  161. package/dpr/data/agentConfig.js.map +2 -2
  162. package/dpr/data/dashboardClient.js +108 -1
  163. package/dpr/data/dashboardClient.js.map +2 -2
  164. package/dpr/data/dprReportingClient.js +55 -1
  165. package/dpr/data/dprReportingClient.js.map +2 -2
  166. package/dpr/data/missingReportClient.js +55 -1
  167. package/dpr/data/missingReportClient.js.map +2 -2
  168. package/dpr/data/productCollectionClient.js +58 -1
  169. package/dpr/data/productCollectionClient.js.map +2 -2
  170. package/dpr/data/reportDataStore.js +77 -1
  171. package/dpr/data/reportDataStore.js.map +2 -2
  172. package/dpr/data/reportingClient.js +173 -1
  173. package/dpr/data/reportingClient.js.map +2 -2
  174. package/dpr/data/restClient.js +143 -1
  175. package/dpr/data/restClient.js.map +2 -2
  176. package/dpr/data/types.d.js +16 -1
  177. package/dpr/data/types.d.js.map +2 -2
  178. package/dpr/middleware/reportAuthoriser.js +63 -1
  179. package/dpr/middleware/reportAuthoriser.js.map +2 -2
  180. package/dpr/middleware/setUpDprResources.js +173 -1
  181. package/dpr/middleware/setUpDprResources.js.map +2 -2
  182. package/dpr/middleware/setUpNestedRoute.js +35 -1
  183. package/dpr/middleware/setUpNestedRoute.js.map +2 -2
  184. package/dpr/routes/index.js +50 -1
  185. package/dpr/routes/index.js.map +2 -2
  186. package/dpr/routes/journeys/api-failures.cy.js +295 -1
  187. package/dpr/routes/journeys/api-failures.cy.js.map +2 -2
  188. package/dpr/routes/journeys/download-report/controller.js +65 -1
  189. package/dpr/routes/journeys/download-report/controller.js.map +2 -2
  190. package/dpr/routes/journeys/download-report/request-download/form/controller.js +98 -1
  191. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +2 -2
  192. package/dpr/routes/journeys/download-report/request-download/form/routes.js +50 -1
  193. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +2 -2
  194. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +68 -1
  195. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +2 -2
  196. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +47 -1
  197. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +2 -2
  198. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +17 -1
  199. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  200. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +24 -1
  201. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  202. package/dpr/routes/journeys/download-report/request-download/routes.js +46 -1
  203. package/dpr/routes/journeys/download-report/request-download/routes.js.map +2 -2
  204. package/dpr/routes/journeys/download-report/request-download/service.js +90 -1
  205. package/dpr/routes/journeys/download-report/request-download/service.js.map +2 -2
  206. package/dpr/routes/journeys/download-report/routes.js +63 -1
  207. package/dpr/routes/journeys/download-report/routes.js.map +2 -2
  208. package/dpr/routes/journeys/download-report/tests.cy.js +104 -1
  209. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  210. package/dpr/routes/journeys/download-report/utils.js +196 -1
  211. package/dpr/routes/journeys/download-report/utils.js.map +2 -2
  212. package/dpr/routes/journeys/my-reports/bookmarks/controller.js +58 -1
  213. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +2 -2
  214. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +56 -1
  215. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +2 -2
  216. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +47 -1
  217. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +2 -2
  218. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +32 -1
  219. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  220. package/dpr/routes/journeys/my-reports/bookmarks/routes.js +49 -1
  221. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +2 -2
  222. package/dpr/routes/journeys/my-reports/bookmarks/service.js +123 -4
  223. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +2 -2
  224. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +448 -1
  225. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
  226. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +44 -1
  227. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +2 -2
  228. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +53 -1
  229. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +2 -2
  230. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +65 -1
  231. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +2 -2
  232. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +47 -1
  233. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +2 -2
  234. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +83 -1
  235. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
  236. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +49 -1
  237. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +2 -2
  238. package/dpr/routes/journeys/my-reports/recently-viewed/service.js +118 -1
  239. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +2 -2
  240. package/dpr/routes/journeys/my-reports/requested-reports/controller.js +52 -1
  241. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +2 -2
  242. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +65 -1
  243. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +2 -2
  244. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +47 -1
  245. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +2 -2
  246. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +15 -1
  247. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  248. package/dpr/routes/journeys/my-reports/requested-reports/routes.js +49 -1
  249. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +2 -2
  250. package/dpr/routes/journeys/my-reports/requested-reports/service.js +200 -1
  251. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +2 -2
  252. package/dpr/routes/journeys/my-reports/routes.js +59 -1
  253. package/dpr/routes/journeys/my-reports/routes.js.map +2 -2
  254. package/dpr/routes/journeys/product-collection/routes.js +45 -1
  255. package/dpr/routes/journeys/product-collection/routes.js.map +2 -2
  256. package/dpr/routes/journeys/product-collection/selected/controller.js +55 -1
  257. package/dpr/routes/journeys/product-collection/selected/controller.js.map +2 -2
  258. package/dpr/routes/journeys/product-collection/selected/routes.js +37 -1
  259. package/dpr/routes/journeys/product-collection/selected/routes.js.map +2 -2
  260. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +47 -1
  261. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
  262. package/dpr/routes/journeys/product-collection/selected/validation.js +41 -1
  263. package/dpr/routes/journeys/product-collection/selected/validation.js.map +2 -2
  264. package/dpr/routes/journeys/request-missing-report/form/controller.js +104 -1
  265. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +2 -2
  266. package/dpr/routes/journeys/request-missing-report/form/routes.js +50 -1
  267. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +2 -2
  268. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +22 -1
  269. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  270. package/dpr/routes/journeys/request-missing-report/form/validation.js +43 -1
  271. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +2 -2
  272. package/dpr/routes/journeys/request-missing-report/routes.js +57 -1
  273. package/dpr/routes/journeys/request-missing-report/routes.js.map +2 -2
  274. package/dpr/routes/journeys/request-missing-report/submitted/controller.js +65 -1
  275. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +2 -2
  276. package/dpr/routes/journeys/request-missing-report/submitted/routes.js +47 -1
  277. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +2 -2
  278. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +14 -1
  279. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +2 -2
  280. package/dpr/routes/journeys/request-missing-report/tests.cy.js +37 -1
  281. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  282. package/dpr/routes/journeys/request-report/controller.js +79 -1
  283. package/dpr/routes/journeys/request-report/controller.js.map +2 -2
  284. package/dpr/routes/journeys/request-report/filters/controller.js +127 -1
  285. package/dpr/routes/journeys/request-report/filters/controller.js.map +2 -2
  286. package/dpr/routes/journeys/request-report/filters/routes.js +50 -1
  287. package/dpr/routes/journeys/request-report/filters/routes.js.map +2 -2
  288. package/dpr/routes/journeys/request-report/filters/tests.cy.js +451 -1
  289. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +2 -2
  290. package/dpr/routes/journeys/request-report/filters/utils.js +331 -1
  291. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  292. package/dpr/routes/journeys/request-report/routes.js +100 -1
  293. package/dpr/routes/journeys/request-report/routes.js.map +2 -2
  294. package/dpr/routes/journeys/request-report/status/controller.js +80 -1
  295. package/dpr/routes/journeys/request-report/status/controller.js.map +2 -2
  296. package/dpr/routes/journeys/request-report/status/routes.js +48 -1
  297. package/dpr/routes/journeys/request-report/status/routes.js.map +2 -2
  298. package/dpr/routes/journeys/request-report/status/tests.cy.js +127 -1
  299. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  300. package/dpr/routes/journeys/request-report/status/utils.js +72 -1
  301. package/dpr/routes/journeys/request-report/status/utils.js.map +2 -2
  302. package/dpr/routes/journeys/request-report/tests.cy.js +307 -1
  303. package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
  304. package/dpr/routes/journeys/routes.js +46 -1
  305. package/dpr/routes/journeys/routes.js.map +2 -2
  306. package/dpr/routes/journeys/view-report/async/controller.js +89 -1
  307. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  308. package/dpr/routes/journeys/view-report/async/dashboard/controller.js +82 -1
  309. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +2 -2
  310. package/dpr/routes/journeys/view-report/async/dashboard/routes.js +48 -1
  311. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +2 -2
  312. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +33 -1
  313. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  314. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +242 -1
  315. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +2 -2
  316. package/dpr/routes/journeys/view-report/async/report/controller.js +83 -1
  317. package/dpr/routes/journeys/view-report/async/report/controller.js.map +2 -2
  318. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js +76 -1
  319. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +2 -2
  320. package/dpr/routes/journeys/view-report/async/report/routes.js +53 -1
  321. package/dpr/routes/journeys/view-report/async/report/routes.js.map +2 -2
  322. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +895 -1
  323. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  324. package/dpr/routes/journeys/view-report/async/report/types.js +16 -1
  325. package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
  326. package/dpr/routes/journeys/view-report/async/report/utils.js +427 -1
  327. package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
  328. package/dpr/routes/journeys/view-report/async/routes.js +52 -1
  329. package/dpr/routes/journeys/view-report/async/routes.js.map +2 -2
  330. package/dpr/routes/journeys/view-report/controller.js +62 -1
  331. package/dpr/routes/journeys/view-report/controller.js.map +2 -2
  332. package/dpr/routes/journeys/view-report/routes.js +87 -1
  333. package/dpr/routes/journeys/view-report/routes.js.map +2 -2
  334. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js +68 -1
  335. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +2 -2
  336. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js +48 -1
  337. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +2 -2
  338. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +144 -1
  339. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +2 -2
  340. package/dpr/routes/journeys/view-report/sync/load-report/controller.js +102 -1
  341. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +2 -2
  342. package/dpr/routes/journeys/view-report/sync/load-report/routes.js +47 -1
  343. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +2 -2
  344. package/dpr/routes/journeys/view-report/sync/report/controller.js +99 -1
  345. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +2 -2
  346. package/dpr/routes/journeys/view-report/sync/report/routes.js +51 -1
  347. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +2 -2
  348. package/dpr/routes/journeys/view-report/sync/report/utils.js +298 -1
  349. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +2 -2
  350. package/dpr/routes/journeys/view-report/sync/routes.js +51 -1
  351. package/dpr/routes/journeys/view-report/sync/routes.js.map +2 -2
  352. package/dpr/routes/journeys/view-report/sync/tests.cy.js +43 -1
  353. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
  354. package/dpr/routes/journeys/view-report/utils.js +173 -1
  355. package/dpr/routes/journeys/view-report/utils.js.map +2 -2
  356. package/dpr/services/dashboardService.js +66 -1
  357. package/dpr/services/dashboardService.js.map +2 -2
  358. package/dpr/services/defaultFilterValuesService.js +114 -1
  359. package/dpr/services/defaultFilterValuesService.js.map +2 -2
  360. package/dpr/services/featureFlagService.js +65 -1
  361. package/dpr/services/featureFlagService.js.map +2 -2
  362. package/dpr/services/featureFlags.cy.js +72 -1
  363. package/dpr/services/featureFlags.cy.js.map +2 -2
  364. package/dpr/services/index.js +59 -1
  365. package/dpr/services/index.js.map +2 -2
  366. package/dpr/services/missingReport/missingReportService.js +52 -1
  367. package/dpr/services/missingReport/missingReportService.js.map +2 -2
  368. package/dpr/services/productCollection/productCollectionService.js +55 -1
  369. package/dpr/services/productCollection/productCollectionService.js.map +2 -2
  370. package/dpr/services/productCollection/productCollectionStoreService.js +61 -1
  371. package/dpr/services/productCollection/productCollectionStoreService.js.map +2 -2
  372. package/dpr/services/reportStoreService.js +51 -1
  373. package/dpr/services/reportStoreService.js.map +2 -2
  374. package/dpr/services/reportingService.js +81 -1
  375. package/dpr/services/reportingService.js.map +2 -2
  376. package/dpr/setUpNunjucksFilters.js +66 -1
  377. package/dpr/setUpNunjucksFilters.js.map +2 -2
  378. package/dpr/types/AsyncReportUtils.js +16 -1
  379. package/dpr/types/AsyncReportUtils.js.map +2 -2
  380. package/dpr/types/Bookmark.js +16 -1
  381. package/dpr/types/Bookmark.js.map +2 -2
  382. package/dpr/types/Charts.js +16 -1
  383. package/dpr/types/Charts.js.map +2 -2
  384. package/dpr/types/Download.js +16 -1
  385. package/dpr/types/Download.js.map +2 -2
  386. package/dpr/types/DprConfig.js +16 -1
  387. package/dpr/types/DprConfig.js.map +2 -2
  388. package/dpr/types/DprUser.js +43 -1
  389. package/dpr/types/DprUser.js.map +2 -2
  390. package/dpr/types/EmbeddedReportUtils.js +33 -1
  391. package/dpr/types/EmbeddedReportUtils.js.map +2 -2
  392. package/dpr/types/ExecutionData.d.js +16 -1
  393. package/dpr/types/ExecutionData.d.js.map +2 -2
  394. package/dpr/types/Metrics.js +16 -1
  395. package/dpr/types/Metrics.js.map +2 -2
  396. package/dpr/types/ReportQuery.js +168 -1
  397. package/dpr/types/ReportQuery.js.map +2 -2
  398. package/dpr/types/ReportStore.js +16 -1
  399. package/dpr/types/ReportStore.js.map +2 -2
  400. package/dpr/types/Services.d.js +16 -1
  401. package/dpr/types/Services.d.js.map +2 -2
  402. package/dpr/types/Templates.d.js +16 -1
  403. package/dpr/types/Templates.d.js.map +2 -2
  404. package/dpr/types/UserReports.js +55 -1
  405. package/dpr/types/UserReports.js.map +2 -2
  406. package/dpr/types/api.d.js +16 -1
  407. package/dpr/types/api.d.js.map +2 -2
  408. package/dpr/types/index.d.js +16 -1
  409. package/dpr/types/index.d.js.map +2 -2
  410. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +91 -1
  411. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +2 -2
  412. package/dpr/utils/CreateDprServices.js +66 -1
  413. package/dpr/utils/CreateDprServices.js.map +2 -2
  414. package/dpr/utils/DataTableBuilder/DataTableBuilder.js +304 -1
  415. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +2 -2
  416. package/dpr/utils/DataTableBuilder/types.d.js +16 -1
  417. package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
  418. package/dpr/utils/DateMapper/DateMapper.js +125 -1
  419. package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
  420. package/dpr/utils/DateMapper/types.d.js +16 -1
  421. package/dpr/utils/DateMapper/types.d.js.map +2 -2
  422. package/dpr/utils/ErrorHandler.js +94 -1
  423. package/dpr/utils/ErrorHandler.js.map +2 -2
  424. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +201 -1
  425. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
  426. package/dpr/utils/ParentChildDataTableBuilder/types.d.js +16 -1
  427. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +2 -2
  428. package/dpr/utils/Personalisation/personalisationUtils.js +202 -1
  429. package/dpr/utils/Personalisation/personalisationUtils.js.map +2 -2
  430. package/dpr/utils/Personalisation/types.d.js +16 -1
  431. package/dpr/utils/Personalisation/types.d.js.map +2 -2
  432. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +310 -1
  433. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
  434. package/dpr/utils/SectionedDataTableBuilder/types.d.js +16 -1
  435. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +2 -2
  436. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +145 -1
  437. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
  438. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +60 -1
  439. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +2 -2
  440. package/dpr/utils/UserStoreItemBuilder.js +247 -1
  441. package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
  442. package/dpr/utils/arrayUtils.js +28 -1
  443. package/dpr/utils/arrayUtils.js.map +2 -2
  444. package/dpr/utils/datasetHelper.js +229 -1
  445. package/dpr/utils/datasetHelper.js.map +2 -2
  446. package/dpr/utils/definitionUtils.js +133 -1
  447. package/dpr/utils/definitionUtils.js.map +2 -2
  448. package/dpr/utils/index.js +44 -1
  449. package/dpr/utils/index.js.map +2 -2
  450. package/dpr/utils/indexedAccesHelper.js +41 -1
  451. package/dpr/utils/indexedAccesHelper.js.map +2 -2
  452. package/dpr/utils/localsHelper.js +105 -1
  453. package/dpr/utils/localsHelper.js.map +2 -2
  454. package/dpr/utils/logger.js +48 -1
  455. package/dpr/utils/logger.js.map +2 -2
  456. package/dpr/utils/reportListsHelper.js +128 -12
  457. package/dpr/utils/reportListsHelper.js.map +2 -2
  458. package/dpr/utils/reportStoreHelper.js +65 -1
  459. package/dpr/utils/reportStoreHelper.js.map +2 -2
  460. package/dpr/utils/requestStatusHelper.js +172 -1
  461. package/dpr/utils/requestStatusHelper.js.map +2 -2
  462. package/dpr/utils/sanitisedError.js +45 -1
  463. package/dpr/utils/sanitisedError.js.map +2 -2
  464. package/dpr/utils/urlHelper.js +103 -1
  465. package/dpr/utils/urlHelper.js.map +2 -2
  466. package/dpr/validation/validate.js +52 -1
  467. package/dpr/validation/validate.js.map +2 -2
  468. package/package.json +1 -1
@@ -1,2 +1,173 @@
1
- "use strict";var v=Object.create;var d=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var B=(t,e)=>{for(var r in e)d(t,r,{get:e[r],enumerable:!0})},A=(t,e,r,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of U(e))!M.call(t,o)&&o!==r&&d(t,o,{get:()=>e[o],enumerable:!(u=w(e,o))||u.enumerable});return t};var S=(t,e,r)=>(r=t!=null?v(F(t)):{},A(e||!t||!t.__esModule?d(r,"default",{value:t,enumerable:!0}):r,t)),H=t=>A(d({},"__esModule",{value:!0}),t);var G={};B(G,{default:()=>_,getExpiredStatus:()=>b,getStatus:()=>P,shouldTimeoutRequest:()=>q});module.exports=H(G);var E=S(require("dayjs")),T=S(require("dayjs/plugin/customParseFormat")),s=require("../types/UserReports"),h=S(require("./logger")),l=S(require("./localsHelper")),f=S(require("./ErrorHandler"));E.default.extend(T.default);const L=[s.RequestStatus.ABORTED,s.RequestStatus.FAILED,s.RequestStatus.EXPIRED],O=[s.RequestStatus.SUBMITTED,s.RequestStatus.STARTED,s.RequestStatus.PICKED];function X(t){return Promise.all(t).then(e=>{const r=e.find(o=>typeof o.status=="number"||L.includes(o.status));if(r)return r;const u=e.find(o=>O.includes(o.status));return u||e[0]})}const x=async(t,e,r,u,o)=>{const{definitionsPath:p}=l.default.getValues(r),{type:R,reportId:i,executionId:a,id:c,tableId:n}=e.body,g=(await t.requestedReportService.getReportByExecutionId(a,o))?.childExecutionData??[];let D=[];R===s.ReportType.REPORT&&(g.push({executionId:a,tableId:n,variantId:c}),D=g.map(I=>t.reportingService.getAsyncReportStatus(u,i,I.variantId,I.executionId||"",p,I.tableId||""))),R===s.ReportType.DASHBOARD&&D.push(t.dashboardService.getAsyncStatus(u,i,c,a,n,p));const y=await X(D);return{status:y.status,statusResponse:y}},P=async({req:t,res:e,services:r})=>{const{token:u,dprUser:o}=l.default.getValues(e),{status:p,requestedAt:R}=t.body,i=[s.RequestStatus.READY,s.RequestStatus.EXPIRED,s.RequestStatus.FAILED];let a,c,n;try{const m=await x(r,t,e,u,o.id);if(n=m.statusResponse,a=m.status,q({requestedAt:R,compareTime:new Date,durationMins:15})&&!i.includes(a))throw new Error("Request taking too long. Request Halted");a===s.RequestStatus.FAILED&&(h.default.error(`Error: ${JSON.stringify(n.error)}`),c=new f.default(n.error).formatError())}catch(m){c=new f.default(m).formatError(),a=p===s.RequestStatus.FINISHED?s.RequestStatus.EXPIRED:s.RequestStatus.FAILED}return typeof a=="number"&&(a=s.RequestStatus.FAILED),{status:a,...c&&{errorMessage:c}}},b=async({req:t,res:e,services:r})=>{const{token:u,dprUser:o}=l.default.getValues(e),{executionId:p,status:R}=t.body;let i,a;try{a=(await x(r,t,e,u,o.id)).status}catch(n){i=new f.default(n).formatError(),a=R===s.RequestStatus.READY||R===s.RequestStatus.FINISHED?s.RequestStatus.EXPIRED:s.RequestStatus.FAILED}return{isExpired:{status:a,...i&&{errorMessage:i}}.status===s.RequestStatus.EXPIRED,executionId:p}},q=({requestedAt:t,compareTime:e,durationMins:r})=>{const u=(0,E.default)(e),o=(0,E.default)(t);return u.diff(o,"minutes")>=r};var _={getStatus:P,getExpiredStatus:b,shouldTimeoutRequest:q};0&&(module.exports={getExpiredStatus,getStatus,shouldTimeoutRequest});
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var requestStatusHelper_exports = {};
30
+ __export(requestStatusHelper_exports, {
31
+ default: () => requestStatusHelper_default,
32
+ getExpiredStatus: () => getExpiredStatus,
33
+ getStatus: () => getStatus,
34
+ shouldTimeoutRequest: () => shouldTimeoutRequest
35
+ });
36
+ module.exports = __toCommonJS(requestStatusHelper_exports);
37
+ var import_dayjs = __toESM(require("dayjs"));
38
+ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat"));
39
+ var import_UserReports = require("../types/UserReports");
40
+ var import_logger = __toESM(require("./logger"));
41
+ var import_localsHelper = __toESM(require("./localsHelper"));
42
+ var import_ErrorHandler = __toESM(require("./ErrorHandler"));
43
+ import_dayjs.default.extend(import_customParseFormat.default);
44
+ const BAD_REQUEST_STATUSES = [import_UserReports.RequestStatus.ABORTED, import_UserReports.RequestStatus.FAILED, import_UserReports.RequestStatus.EXPIRED];
45
+ const IN_PROGRESS_REQUEST_STATUSES = [
46
+ import_UserReports.RequestStatus.SUBMITTED,
47
+ import_UserReports.RequestStatus.STARTED,
48
+ import_UserReports.RequestStatus.PICKED
49
+ ];
50
+ function findWorstStatusResponse(statusRequests) {
51
+ return Promise.all(statusRequests).then((statusResponses) => {
52
+ const badStatus = statusResponses.find(
53
+ (response) => typeof response.status === "number" || BAD_REQUEST_STATUSES.includes(response.status)
54
+ );
55
+ if (badStatus) {
56
+ return badStatus;
57
+ }
58
+ const inProgressStatus = statusResponses.find(
59
+ (response) => IN_PROGRESS_REQUEST_STATUSES.includes(response.status)
60
+ );
61
+ if (inProgressStatus) {
62
+ return inProgressStatus;
63
+ }
64
+ return statusResponses[0];
65
+ });
66
+ }
67
+ const getStatusByReportType = async (services, req, res, token, userId) => {
68
+ const { definitionsPath } = import_localsHelper.default.getValues(res);
69
+ const { type, reportId, executionId, id, tableId } = req.body;
70
+ const requestedReport = await services.requestedReportService.getReportByExecutionId(executionId, userId);
71
+ const reports = requestedReport?.childExecutionData ?? [];
72
+ let statusRequests = [];
73
+ if (type === import_UserReports.ReportType.REPORT) {
74
+ reports.push({ executionId, tableId, variantId: id });
75
+ statusRequests = reports.map((executionData) => {
76
+ return services.reportingService.getAsyncReportStatus(
77
+ token,
78
+ reportId,
79
+ executionData.variantId,
80
+ executionData.executionId || "",
81
+ definitionsPath,
82
+ executionData.tableId || ""
83
+ );
84
+ });
85
+ }
86
+ if (type === import_UserReports.ReportType.DASHBOARD) {
87
+ statusRequests.push(
88
+ services.dashboardService.getAsyncStatus(token, reportId, id, executionId, tableId, definitionsPath)
89
+ );
90
+ }
91
+ const statusResponse = await findWorstStatusResponse(statusRequests);
92
+ return {
93
+ status: statusResponse.status,
94
+ statusResponse
95
+ };
96
+ };
97
+ const getStatus = async ({
98
+ req,
99
+ res,
100
+ services
101
+ }) => {
102
+ const { token, dprUser } = import_localsHelper.default.getValues(res);
103
+ const { status: currentStatus, requestedAt } = req.body;
104
+ const timeoutExemptStatuses = [import_UserReports.RequestStatus.READY, import_UserReports.RequestStatus.EXPIRED, import_UserReports.RequestStatus.FAILED];
105
+ let status;
106
+ let errorMessage;
107
+ let statusResponse;
108
+ try {
109
+ const statusResponseData = await getStatusByReportType(services, req, res, token, dprUser.id);
110
+ statusResponse = statusResponseData.statusResponse;
111
+ status = statusResponseData.status;
112
+ if (shouldTimeoutRequest({ requestedAt, compareTime: /* @__PURE__ */ new Date(), durationMins: 15 }) && !timeoutExemptStatuses.includes(status)) {
113
+ throw new Error("Request taking too long. Request Halted");
114
+ }
115
+ if (status === import_UserReports.RequestStatus.FAILED) {
116
+ import_logger.default.error(`Error: ${JSON.stringify(statusResponse.error)}`);
117
+ errorMessage = new import_ErrorHandler.default(statusResponse.error).formatError();
118
+ }
119
+ } catch (error) {
120
+ errorMessage = new import_ErrorHandler.default(error).formatError();
121
+ status = currentStatus === import_UserReports.RequestStatus.FINISHED ? import_UserReports.RequestStatus.EXPIRED : import_UserReports.RequestStatus.FAILED;
122
+ }
123
+ if (typeof status === "number") {
124
+ status = import_UserReports.RequestStatus.FAILED;
125
+ }
126
+ return {
127
+ status,
128
+ ...errorMessage && { errorMessage }
129
+ };
130
+ };
131
+ const getExpiredStatus = async ({ req, res, services }) => {
132
+ const { token, dprUser } = import_localsHelper.default.getValues(res);
133
+ const { executionId, status: currentStatus } = req.body;
134
+ let errorMessage;
135
+ let status;
136
+ try {
137
+ const statusData = await getStatusByReportType(services, req, res, token, dprUser.id);
138
+ status = statusData.status;
139
+ } catch (error) {
140
+ errorMessage = new import_ErrorHandler.default(error).formatError();
141
+ status = currentStatus === import_UserReports.RequestStatus.READY || currentStatus === import_UserReports.RequestStatus.FINISHED ? import_UserReports.RequestStatus.EXPIRED : import_UserReports.RequestStatus.FAILED;
142
+ }
143
+ const result = {
144
+ status,
145
+ ...errorMessage && { errorMessage }
146
+ };
147
+ return {
148
+ isExpired: result.status === import_UserReports.RequestStatus.EXPIRED,
149
+ executionId
150
+ };
151
+ };
152
+ const shouldTimeoutRequest = ({
153
+ requestedAt,
154
+ compareTime,
155
+ durationMins
156
+ }) => {
157
+ const compareDate = (0, import_dayjs.default)(compareTime);
158
+ const requestDate = (0, import_dayjs.default)(requestedAt);
159
+ const result = compareDate.diff(requestDate, "minutes");
160
+ return result >= durationMins;
161
+ };
162
+ var requestStatusHelper_default = {
163
+ getStatus,
164
+ getExpiredStatus,
165
+ shouldTimeoutRequest
166
+ };
167
+ // Annotate the CommonJS export names for ESM import in node:
168
+ 0 && (module.exports = {
169
+ getExpiredStatus,
170
+ getStatus,
171
+ shouldTimeoutRequest
172
+ });
2
173
  //# sourceMappingURL=requestStatusHelper.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/utils/requestStatusHelper.ts"],
4
4
  "sourcesContent": ["import dayjs from 'dayjs'\nimport customParse from 'dayjs/plugin/customParseFormat'\nimport { Request, Response } from 'express'\nimport { ReportType, RequestedReport, RequestStatus } from '../types/UserReports'\nimport { ChildReportExecutionData } from '../types/ExecutionData'\nimport logger from './logger'\nimport { Services } from '../types/Services'\nimport localsHelper from './localsHelper'\nimport { components } from '../types/api'\nimport ErrorHandler from './ErrorHandler'\n\ndayjs.extend(customParse)\ninterface GetStatusUtilsResponse {\n status: RequestStatus\n errorMessage?: { userMessage?: string; developerMessage?: string }\n reportData?: RequestedReport | undefined\n}\n\nconst BAD_REQUEST_STATUSES: Array<RequestStatus> = [RequestStatus.ABORTED, RequestStatus.FAILED, RequestStatus.EXPIRED]\n\nconst IN_PROGRESS_REQUEST_STATUSES: Array<RequestStatus> = [\n RequestStatus.SUBMITTED,\n RequestStatus.STARTED,\n RequestStatus.PICKED,\n]\n\nfunction findWorstStatusResponse(\n statusRequests: Array<Promise<components['schemas']['StatementExecutionStatus']>>,\n): Promise<components['schemas']['StatementExecutionStatus']> {\n return Promise.all(statusRequests).then((statusResponses) => {\n const badStatus = statusResponses.find(\n (response) =>\n typeof response.status === 'number' || BAD_REQUEST_STATUSES.includes(response.status as RequestStatus),\n )\n\n if (badStatus) {\n return badStatus\n }\n\n const inProgressStatus = statusResponses.find((response) =>\n IN_PROGRESS_REQUEST_STATUSES.includes(response.status as RequestStatus),\n )\n\n if (inProgressStatus) {\n return inProgressStatus\n }\n\n return statusResponses[0]\n })\n}\n\nconst getStatusByReportType = async (\n services: Services,\n req: Request,\n res: Response,\n token: string,\n userId: string,\n) => {\n const { definitionsPath } = localsHelper.getValues(res)\n const { type, reportId, executionId, id, tableId } = req.body\n\n const requestedReport = await services.requestedReportService.getReportByExecutionId(executionId, userId)\n\n const reports = requestedReport?.childExecutionData ?? []\n\n let statusRequests: Array<Promise<components['schemas']['StatementExecutionStatus']>> = []\n if (type === ReportType.REPORT) {\n reports.push({ executionId, tableId, variantId: id })\n statusRequests = reports.map((executionData: ChildReportExecutionData) => {\n return services.reportingService.getAsyncReportStatus(\n token,\n reportId,\n executionData.variantId,\n executionData.executionId || '',\n definitionsPath,\n executionData.tableId || '',\n )\n })\n }\n\n if (type === ReportType.DASHBOARD) {\n statusRequests.push(\n services.dashboardService.getAsyncStatus(token, reportId, id, executionId, tableId, definitionsPath),\n )\n }\n\n const statusResponse = await findWorstStatusResponse(statusRequests)\n\n return {\n status: statusResponse.status,\n statusResponse,\n }\n}\n\nexport const getStatus = async ({\n req,\n res,\n services,\n}: {\n req: Request\n res: Response\n services: Services\n}): Promise<GetStatusUtilsResponse> => {\n const { token, dprUser } = localsHelper.getValues(res)\n const { status: currentStatus, requestedAt } = req.body\n const timeoutExemptStatuses = [RequestStatus.READY, RequestStatus.EXPIRED, RequestStatus.FAILED]\n\n let status: RequestStatus\n let errorMessage\n let statusResponse: components['schemas']['StatementExecutionStatus']\n try {\n const statusResponseData = await getStatusByReportType(services, req, res, token, dprUser.id)\n statusResponse = statusResponseData.statusResponse\n status = <RequestStatus>statusResponseData.status\n if (\n shouldTimeoutRequest({ requestedAt, compareTime: new Date(), durationMins: 15 }) &&\n !timeoutExemptStatuses.includes(<RequestStatus>status)\n ) {\n throw new Error('Request taking too long. Request Halted')\n }\n\n if (status === RequestStatus.FAILED) {\n logger.error(`Error: ${JSON.stringify(statusResponse.error)}`)\n errorMessage = new ErrorHandler(statusResponse.error).formatError()\n }\n } catch (error) {\n errorMessage = new ErrorHandler(error).formatError()\n status = currentStatus === RequestStatus.FINISHED ? RequestStatus.EXPIRED : RequestStatus.FAILED\n }\n\n if (typeof status === 'number') {\n status = RequestStatus.FAILED\n }\n\n return {\n status,\n ...(errorMessage && { errorMessage }),\n }\n}\n\n/**\n * Gets the expired status of a viewed report\n * - if reports status was READY/FINISHED\n * - And the new Status is an error status\n * - it means the report has expired\n *\n * @param {AsyncReportUtilsParams} { req, res, services }\n * @return {*}\n */\nexport const getExpiredStatus = async ({ req, res, services }: { req: Request; res: Response; services: Services }) => {\n const { token, dprUser } = localsHelper.getValues(res)\n const { executionId, status: currentStatus } = req.body\n\n let errorMessage\n let status\n try {\n const statusData = await getStatusByReportType(services, req, res, token, dprUser.id)\n status = <RequestStatus>statusData.status\n } catch (error) {\n errorMessage = new ErrorHandler(error).formatError()\n status =\n currentStatus === RequestStatus.READY || currentStatus === RequestStatus.FINISHED\n ? RequestStatus.EXPIRED\n : RequestStatus.FAILED\n }\n\n const result: GetStatusUtilsResponse = {\n status,\n ...(errorMessage && { errorMessage }),\n }\n\n return {\n isExpired: result.status === RequestStatus.EXPIRED,\n executionId,\n }\n}\n\nexport const shouldTimeoutRequest = ({\n requestedAt,\n compareTime,\n durationMins,\n}: {\n requestedAt: Date\n compareTime: Date\n durationMins: number\n}) => {\n const compareDate = dayjs(compareTime)\n const requestDate = dayjs(requestedAt)\n\n const result = compareDate.diff(requestDate, 'minutes')\n\n return result >= durationMins\n}\n\nexport default {\n getStatus,\n getExpiredStatus,\n shouldTimeoutRequest,\n}\n"],
5
- "mappings": "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",
6
- "names": ["requestStatusHelper_exports", "__export", "requestStatusHelper_default", "getExpiredStatus", "getStatus", "shouldTimeoutRequest", "__toCommonJS", "import_dayjs", "import_customParseFormat", "import_UserReports", "import_logger", "import_localsHelper", "import_ErrorHandler", "dayjs", "customParse", "BAD_REQUEST_STATUSES", "IN_PROGRESS_REQUEST_STATUSES", "findWorstStatusResponse", "statusRequests", "statusResponses", "badStatus", "response", "inProgressStatus", "getStatusByReportType", "services", "req", "res", "token", "userId", "definitionsPath", "localsHelper", "type", "reportId", "executionId", "id", "tableId", "reports", "executionData", "statusResponse", "dprUser", "currentStatus", "requestedAt", "timeoutExemptStatuses", "status", "errorMessage", "statusResponseData", "logger", "ErrorHandler", "error", "compareTime", "durationMins", "compareDate", "requestDate"]
5
+ "mappings": "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",
6
+ "names": ["dayjs", "customParse", "localsHelper", "logger", "ErrorHandler"]
7
7
  }
@@ -1,2 +1,46 @@
1
- "use strict";var a=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var u=(s,e)=>{for(var n in e)a(s,n,{get:e[n],enumerable:!0})},g=(s,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!d.call(s,t)&&t!==n&&a(s,t,{get:()=>e[t],enumerable:!(i=o(e,t))||i.enumerable});return s};var m=s=>g(a({},"__esModule",{value:!0}),s);var k={};u(k,{default:()=>c,sanitise:()=>r});module.exports=m(k);function r(s){return s.response?{text:s.response.text,status:s.response.status,headers:s.response.headers,data:s.response.body,message:s.message,stack:s.stack}:{message:s.message,stack:s.stack}}var c=r;0&&(module.exports={sanitise});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var sanitisedError_exports = {};
20
+ __export(sanitisedError_exports, {
21
+ default: () => sanitisedError_default,
22
+ sanitise: () => sanitise
23
+ });
24
+ module.exports = __toCommonJS(sanitisedError_exports);
25
+ function sanitise(error) {
26
+ if (error.response) {
27
+ return {
28
+ text: error.response.text,
29
+ status: error.response.status,
30
+ headers: error.response.headers,
31
+ data: error.response.body,
32
+ message: error.message,
33
+ stack: error.stack
34
+ };
35
+ }
36
+ return {
37
+ message: error.message,
38
+ stack: error.stack
39
+ };
40
+ }
41
+ var sanitisedError_default = sanitise;
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ sanitise
45
+ });
2
46
  //# sourceMappingURL=sanitisedError.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/utils/sanitisedError.ts"],
4
4
  "sourcesContent": ["import type { ResponseError } from 'superagent'\n\ninterface SanitisedError {\n text?: string\n status?: number\n headers?: unknown\n data?: unknown\n stack?: string | undefined\n message: string\n}\n\nexport type UnsanitisedError = ResponseError\n\nexport function sanitise(error: UnsanitisedError): SanitisedError {\n if (error.response) {\n return {\n text: error.response.text,\n status: error.response.status,\n headers: error.response.headers,\n data: error.response.body,\n message: error.message,\n stack: error.stack,\n }\n }\n return {\n message: error.message,\n stack: error.stack,\n }\n}\n\nexport default sanitise\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,aAAAC,IAAA,eAAAC,EAAAJ,GAaO,SAASG,EAASE,EAAyC,CAChE,OAAIA,EAAM,SACD,CACL,KAAMA,EAAM,SAAS,KACrB,OAAQA,EAAM,SAAS,OACvB,QAASA,EAAM,SAAS,QACxB,KAAMA,EAAM,SAAS,KACrB,QAASA,EAAM,QACf,MAAOA,EAAM,KACf,EAEK,CACL,QAASA,EAAM,QACf,MAAOA,EAAM,KACf,CACF,CAEA,IAAOH,EAAQC",
6
- "names": ["sanitisedError_exports", "__export", "sanitisedError_default", "sanitise", "__toCommonJS", "error"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,SAAS,SAAS,OAAyC;AAChE,MAAI,MAAM,UAAU;AAClB,WAAO;AAAA,MACL,MAAM,MAAM,SAAS;AAAA,MACrB,QAAQ,MAAM,SAAS;AAAA,MACvB,SAAS,MAAM,SAAS;AAAA,MACxB,MAAM,MAAM,SAAS;AAAA,MACrB,SAAS,MAAM;AAAA,MACf,OAAO,MAAM;AAAA,IACf;AAAA,EACF;AACA,SAAO;AAAA,IACL,SAAS,MAAM;AAAA,IACf,OAAO,MAAM;AAAA,EACf;AACF;AAEA,IAAO,yBAAQ;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,104 @@
1
- "use strict";var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var u=(e,t)=>{for(var s in t)c(e,s,{get:t[s],enumerable:!0})},x=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m(t))!D.call(e,o)&&o!==s&&c(e,o,{get:()=>t[o],enumerable:!(r=p(t,o))||r.enumerable});return e};var $=e=>x(c({},"__esModule",{value:!0}),e);var R={};u(R,{clearFilterValue:()=>l,createQuerystringFromObject:()=>d,createUrlForParameters:()=>a,default:()=>S,getDpdPathSuffix:()=>h,getRoutePrefix:()=>A});module.exports=$(R);var f=require("../components/_filters/filter-input/enum");const l="~clear~",a=(e,t,s)=>{let r;t?(r={...e,selectedPage:"1"},Object.keys(t).forEach(i=>{t[i]?r[i]=t[i]:Object.keys(r).filter(n=>n===i||n.startsWith(`${i}.`)).forEach(n=>{r[n]=l})})):r={selectedPage:"1",pageSize:e.pageSize,sortColumn:e.sortColumn,sortedAsc:e.sortedAsc,dataProductDefinitionsPath:e.dataProductDefinitionsPath};const o={};return Object.keys(r).filter(i=>r[i]).forEach(i=>{o[i]=r[i]}),d(o,s)},d=(e,t)=>`?${Object.keys(e).flatMap(r=>{const o=t?.find(n=>`filters.${n.name}`===r),i=e[r]||"";return Array.isArray(i)?i.map(n=>`${encodeURI(r)}=${encodeURI(n)}`):o&&o.filter&&o.filter.type.toLowerCase()===f.FilterType.multiselect.toLowerCase()?i.split(",").map(g=>`${encodeURI(r)}=${encodeURI(g)}`):[`${encodeURI(r)}=${encodeURI(i)}`]}).join("&")}`,h=e=>e&&e!==""?`?dataProductDefinitionsPath=${e}`:"",A=e=>{let t=e?.routePrefix;return t||(t="/dpr"),t==="dpr"&&(t=""),t};var S=a;0&&(module.exports={clearFilterValue,createQuerystringFromObject,createUrlForParameters,getDpdPathSuffix,getRoutePrefix});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var urlHelper_exports = {};
20
+ __export(urlHelper_exports, {
21
+ clearFilterValue: () => clearFilterValue,
22
+ createQuerystringFromObject: () => createQuerystringFromObject,
23
+ createUrlForParameters: () => createUrlForParameters,
24
+ default: () => urlHelper_default,
25
+ getDpdPathSuffix: () => getDpdPathSuffix,
26
+ getRoutePrefix: () => getRoutePrefix
27
+ });
28
+ module.exports = __toCommonJS(urlHelper_exports);
29
+ var import_enum = require("../components/_filters/filter-input/enum");
30
+ const clearFilterValue = "~clear~";
31
+ const createUrlForParameters = (currentQueryParams, updateQueryParams, fields) => {
32
+ let queryParams;
33
+ if (updateQueryParams) {
34
+ queryParams = {
35
+ ...currentQueryParams,
36
+ selectedPage: "1"
37
+ };
38
+ Object.keys(updateQueryParams).forEach((q) => {
39
+ if (updateQueryParams[q]) {
40
+ queryParams[q] = updateQueryParams[q];
41
+ } else {
42
+ Object.keys(queryParams).filter((key) => key === q || key.startsWith(`${q}.`)).forEach((key) => {
43
+ queryParams[key] = clearFilterValue;
44
+ });
45
+ }
46
+ });
47
+ } else {
48
+ queryParams = {
49
+ selectedPage: "1",
50
+ pageSize: currentQueryParams["pageSize"],
51
+ sortColumn: currentQueryParams["sortColumn"],
52
+ sortedAsc: currentQueryParams["sortedAsc"],
53
+ dataProductDefinitionsPath: currentQueryParams["dataProductDefinitionsPath"]
54
+ };
55
+ }
56
+ const nonEmptyQueryParams = {};
57
+ Object.keys(queryParams).filter((key) => queryParams[key]).forEach((key) => {
58
+ nonEmptyQueryParams[key] = queryParams[key];
59
+ });
60
+ return createQuerystringFromObject(nonEmptyQueryParams, fields);
61
+ };
62
+ const createQuerystringFromObject = (source, fields) => {
63
+ const querystring = Object.keys(source).flatMap((key) => {
64
+ const fieldDef = fields?.find((f) => `filters.${f.name}` === key);
65
+ const value = source[key] || "";
66
+ if (Array.isArray(value)) {
67
+ return value.map((v) => `${encodeURI(key)}=${encodeURI(v)}`);
68
+ }
69
+ if (fieldDef && fieldDef.filter && fieldDef.filter.type.toLowerCase() === import_enum.FilterType.multiselect.toLowerCase()) {
70
+ const values = value.split(",");
71
+ return values.map((v) => {
72
+ return `${encodeURI(key)}=${encodeURI(v)}`;
73
+ });
74
+ }
75
+ return [`${encodeURI(key)}=${encodeURI(value)}`];
76
+ }).join("&");
77
+ return `?${querystring}`;
78
+ };
79
+ const getDpdPathSuffix = (dpdsPath) => {
80
+ if (dpdsPath && dpdsPath !== "") {
81
+ return `?dataProductDefinitionsPath=${dpdsPath}`;
82
+ }
83
+ return "";
84
+ };
85
+ const getRoutePrefix = (config) => {
86
+ let prefix = config?.routePrefix;
87
+ if (!prefix) {
88
+ prefix = "/dpr";
89
+ }
90
+ if (prefix === "dpr") {
91
+ prefix = "";
92
+ }
93
+ return prefix;
94
+ };
95
+ var urlHelper_default = createUrlForParameters;
96
+ // Annotate the CommonJS export names for ESM import in node:
97
+ 0 && (module.exports = {
98
+ clearFilterValue,
99
+ createQuerystringFromObject,
100
+ createUrlForParameters,
101
+ getDpdPathSuffix,
102
+ getRoutePrefix
103
+ });
2
104
  //# sourceMappingURL=urlHelper.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/utils/urlHelper.ts"],
4
4
  "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FilterType } from '../components/_filters/filter-input/enum'\nimport { components } from '../types/api'\nimport { DprConfig } from '../types/DprConfig'\n\nexport const clearFilterValue = '~clear~'\n\nexport const createUrlForParameters = (\n currentQueryParams: NodeJS.Dict<string | Array<string>>,\n updateQueryParams: NodeJS.Dict<string>,\n fields?: components['schemas']['FieldDefinition'][],\n) => {\n let queryParams: NodeJS.Dict<string | Array<string>>\n\n if (updateQueryParams) {\n queryParams = {\n ...currentQueryParams,\n selectedPage: '1',\n }\n\n Object.keys(updateQueryParams).forEach((q) => {\n if (updateQueryParams[q]) {\n queryParams[q] = updateQueryParams[q]\n } else {\n Object.keys(queryParams)\n .filter((key) => key === q || key.startsWith(`${q}.`))\n .forEach((key) => {\n queryParams[key] = clearFilterValue\n })\n }\n })\n } else {\n queryParams = {\n selectedPage: '1',\n pageSize: currentQueryParams['pageSize'],\n sortColumn: currentQueryParams['sortColumn'],\n sortedAsc: currentQueryParams['sortedAsc'],\n dataProductDefinitionsPath: currentQueryParams['dataProductDefinitionsPath'],\n }\n }\n\n const nonEmptyQueryParams: NodeJS.Dict<string | Array<string>> = {}\n\n Object.keys(queryParams)\n .filter((key) => queryParams[key])\n .forEach((key) => {\n nonEmptyQueryParams[key] = queryParams[key]\n })\n\n return createQuerystringFromObject(nonEmptyQueryParams, fields)\n}\n\nexport const createQuerystringFromObject = (\n source: NodeJS.Dict<string | Array<string>>,\n fields?: components['schemas']['FieldDefinition'][],\n) => {\n const querystring = Object.keys(source)\n .flatMap((key: string) => {\n const fieldDef = fields?.find((f) => `filters.${f.name}` === key)\n const value = source[key] || ''\n\n if (Array.isArray(value)) {\n return value.map((v) => `${encodeURI(key)}=${encodeURI(v)}`)\n }\n\n if (fieldDef && fieldDef.filter && fieldDef.filter.type.toLowerCase() === FilterType.multiselect.toLowerCase()) {\n const values = value.split(',')\n return values.map((v) => {\n return `${encodeURI(key)}=${encodeURI(v)}`\n })\n }\n\n return [`${encodeURI(key)}=${encodeURI(value)}`]\n })\n .join('&')\n\n return `?${querystring}`\n}\n\nexport const getDpdPathSuffix = (dpdsPath: string) => {\n if (dpdsPath && dpdsPath !== '') {\n return `?dataProductDefinitionsPath=${dpdsPath}`\n }\n\n return ''\n}\n\nexport const getRoutePrefix = (config?: DprConfig) => {\n let prefix = config?.routePrefix\n if (!prefix) {\n prefix = '/dpr'\n }\n if (prefix === 'dpr') {\n prefix = ''\n }\n return prefix\n}\n\nexport default createUrlForParameters\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,gCAAAC,EAAA,2BAAAC,EAAA,YAAAC,EAAA,qBAAAC,EAAA,mBAAAC,IAAA,eAAAC,EAAAR,GACA,IAAAS,EAA2B,oDAIpB,MAAMP,EAAmB,UAEnBE,EAAyB,CACpCM,EACAC,EACAC,IACG,CACH,IAAIC,EAEAF,GACFE,EAAc,CACZ,GAAGH,EACH,aAAc,GAChB,EAEA,OAAO,KAAKC,CAAiB,EAAE,QAASG,GAAM,CACxCH,EAAkBG,CAAC,EACrBD,EAAYC,CAAC,EAAIH,EAAkBG,CAAC,EAEpC,OAAO,KAAKD,CAAW,EACpB,OAAQE,GAAQA,IAAQD,GAAKC,EAAI,WAAW,GAAGD,CAAC,GAAG,CAAC,EACpD,QAASC,GAAQ,CAChBF,EAAYE,CAAG,EAAIb,CACrB,CAAC,CAEP,CAAC,GAEDW,EAAc,CACZ,aAAc,IACd,SAAUH,EAAmB,SAC7B,WAAYA,EAAmB,WAC/B,UAAWA,EAAmB,UAC9B,2BAA4BA,EAAmB,0BACjD,EAGF,MAAMM,EAA2D,CAAC,EAElE,cAAO,KAAKH,CAAW,EACpB,OAAQE,GAAQF,EAAYE,CAAG,CAAC,EAChC,QAASA,GAAQ,CAChBC,EAAoBD,CAAG,EAAIF,EAAYE,CAAG,CAC5C,CAAC,EAEIZ,EAA4Ba,EAAqBJ,CAAM,CAChE,EAEaT,EAA8B,CACzCc,EACAL,IAsBO,IApBa,OAAO,KAAKK,CAAM,EACnC,QAASF,GAAgB,CACxB,MAAMG,EAAWN,GAAQ,KAAMO,GAAM,WAAWA,EAAE,IAAI,KAAOJ,CAAG,EAC1DK,EAAQH,EAAOF,CAAG,GAAK,GAE7B,OAAI,MAAM,QAAQK,CAAK,EACdA,EAAM,IAAKC,GAAM,GAAG,UAAUN,CAAG,CAAC,IAAI,UAAUM,CAAC,CAAC,EAAE,EAGzDH,GAAYA,EAAS,QAAUA,EAAS,OAAO,KAAK,YAAY,IAAM,aAAW,YAAY,YAAY,EAC5FE,EAAM,MAAM,GAAG,EAChB,IAAKC,GACV,GAAG,UAAUN,CAAG,CAAC,IAAI,UAAUM,CAAC,CAAC,EACzC,EAGI,CAAC,GAAG,UAAUN,CAAG,CAAC,IAAI,UAAUK,CAAK,CAAC,EAAE,CACjD,CAAC,EACA,KAAK,GAAG,CAEW,GAGXd,EAAoBgB,GAC3BA,GAAYA,IAAa,GACpB,+BAA+BA,CAAQ,GAGzC,GAGIf,EAAkBgB,GAAuB,CACpD,IAAIC,EAASD,GAAQ,YACrB,OAAKC,IACHA,EAAS,QAEPA,IAAW,QACbA,EAAS,IAEJA,CACT,EAEA,IAAOnB,EAAQD",
6
- "names": ["urlHelper_exports", "__export", "clearFilterValue", "createQuerystringFromObject", "createUrlForParameters", "urlHelper_default", "getDpdPathSuffix", "getRoutePrefix", "__toCommonJS", "import_enum", "currentQueryParams", "updateQueryParams", "fields", "queryParams", "q", "key", "nonEmptyQueryParams", "source", "fieldDef", "f", "value", "v", "dpdsPath", "config", "prefix"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAA2B;AAIpB,MAAM,mBAAmB;AAEzB,MAAM,yBAAyB,CACpC,oBACA,mBACA,WACG;AACH,MAAI;AAEJ,MAAI,mBAAmB;AACrB,kBAAc;AAAA,MACZ,GAAG;AAAA,MACH,cAAc;AAAA,IAChB;AAEA,WAAO,KAAK,iBAAiB,EAAE,QAAQ,CAAC,MAAM;AAC5C,UAAI,kBAAkB,CAAC,GAAG;AACxB,oBAAY,CAAC,IAAI,kBAAkB,CAAC;AAAA,MACtC,OAAO;AACL,eAAO,KAAK,WAAW,EACpB,OAAO,CAAC,QAAQ,QAAQ,KAAK,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,EACpD,QAAQ,CAAC,QAAQ;AAChB,sBAAY,GAAG,IAAI;AAAA,QACrB,CAAC;AAAA,MACL;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AACL,kBAAc;AAAA,MACZ,cAAc;AAAA,MACd,UAAU,mBAAmB,UAAU;AAAA,MACvC,YAAY,mBAAmB,YAAY;AAAA,MAC3C,WAAW,mBAAmB,WAAW;AAAA,MACzC,4BAA4B,mBAAmB,4BAA4B;AAAA,IAC7E;AAAA,EACF;AAEA,QAAM,sBAA2D,CAAC;AAElE,SAAO,KAAK,WAAW,EACpB,OAAO,CAAC,QAAQ,YAAY,GAAG,CAAC,EAChC,QAAQ,CAAC,QAAQ;AAChB,wBAAoB,GAAG,IAAI,YAAY,GAAG;AAAA,EAC5C,CAAC;AAEH,SAAO,4BAA4B,qBAAqB,MAAM;AAChE;AAEO,MAAM,8BAA8B,CACzC,QACA,WACG;AACH,QAAM,cAAc,OAAO,KAAK,MAAM,EACnC,QAAQ,CAAC,QAAgB;AACxB,UAAM,WAAW,QAAQ,KAAK,CAAC,MAAM,WAAW,EAAE,IAAI,OAAO,GAAG;AAChE,UAAM,QAAQ,OAAO,GAAG,KAAK;AAE7B,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,aAAO,MAAM,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE;AAAA,IAC7D;AAEA,QAAI,YAAY,SAAS,UAAU,SAAS,OAAO,KAAK,YAAY,MAAM,uBAAW,YAAY,YAAY,GAAG;AAC9G,YAAM,SAAS,MAAM,MAAM,GAAG;AAC9B,aAAO,OAAO,IAAI,CAAC,MAAM;AACvB,eAAO,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;AAAA,MAC1C,CAAC;AAAA,IACH;AAEA,WAAO,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE;AAAA,EACjD,CAAC,EACA,KAAK,GAAG;AAEX,SAAO,IAAI,WAAW;AACxB;AAEO,MAAM,mBAAmB,CAAC,aAAqB;AACpD,MAAI,YAAY,aAAa,IAAI;AAC/B,WAAO,+BAA+B,QAAQ;AAAA,EAChD;AAEA,SAAO;AACT;AAEO,MAAM,iBAAiB,CAAC,WAAuB;AACpD,MAAI,SAAS,QAAQ;AACrB,MAAI,CAAC,QAAQ;AACX,aAAS;AAAA,EACX;AACA,MAAI,WAAW,OAAO;AACpB,aAAS;AAAA,EACX;AACA,SAAO;AACT;AAEA,IAAO,oBAAQ;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,53 @@
1
- "use strict";var d=Object.create;var n=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var t in e)n(r,t,{get:e[t],enumerable:!0})},i=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of R(e))!p.call(r,s)&&s!==t&&n(r,s,{get:()=>e[s],enumerable:!(o=u(e,s))||o.enumerable});return r};var b=(r,e,t)=>(t=r!=null?d(m(r)):{},i(e||!r||!r.__esModule?n(t,"default",{value:r,enumerable:!0}):t,r)),E=r=>i(n({},"__esModule",{value:!0}),r);var g={};y(g,{validate:()=>O});module.exports=E(g);var f=b(require("zod"));const O=r=>(e,t,o)=>{const s=r.safeParse(e.body);if(s.success)return o();const l=Object.entries(f.default.flattenError(s.error).fieldErrors).map(([c,a])=>({href:`#${c}`,text:Array.isArray(a)?a[0]:a}));return e.flash("DPR_ERRORS",JSON.stringify(l)),t.redirect(`${e.baseUrl}#`)};0&&(module.exports={validate});
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var validate_exports = {};
30
+ __export(validate_exports, {
31
+ validate: () => validate
32
+ });
33
+ module.exports = __toCommonJS(validate_exports);
34
+ var import_zod = __toESM(require("zod"));
35
+ const validate = (schema) => (req, res, next) => {
36
+ const result = schema.safeParse(req.body);
37
+ if (result.success) {
38
+ return next();
39
+ }
40
+ const errors = Object.entries(import_zod.default.flattenError(result.error).fieldErrors).map(
41
+ ([fieldName, err]) => ({
42
+ href: `#${fieldName}`,
43
+ text: Array.isArray(err) ? err[0] : err
44
+ })
45
+ );
46
+ req.flash(`DPR_ERRORS`, JSON.stringify(errors));
47
+ return res.redirect(`${req.baseUrl}#`);
48
+ };
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ validate
52
+ });
2
53
  //# sourceMappingURL=validate.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/validation/validate.ts"],
4
4
  "sourcesContent": ["import { RequestHandler } from 'express'\nimport z from 'zod'\n\nexport const validate =\n (schema: z.ZodType): RequestHandler =>\n (req, res, next) => {\n const result = schema.safeParse(req.body)\n if (result.success) {\n return next()\n }\n\n const errors = Object.entries(z.flattenError(result.error).fieldErrors).map(\n ([fieldName, err]: [string, unknown]) => ({\n href: `#${fieldName}`,\n text: Array.isArray(err) ? err[0] : err,\n }),\n )\n req.flash(`DPR_ERRORS`, JSON.stringify(errors))\n return res.redirect(`${req.baseUrl}#`)\n }\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAc,kBAEP,MAAMF,EACVG,GACD,CAACC,EAAKC,EAAKC,IAAS,CAClB,MAAMC,EAASJ,EAAO,UAAUC,EAAI,IAAI,EACxC,GAAIG,EAAO,QACT,OAAOD,EAAK,EAGd,MAAME,EAAS,OAAO,QAAQ,EAAAC,QAAE,aAAaF,EAAO,KAAK,EAAE,WAAW,EAAE,IACtE,CAAC,CAACG,EAAWC,CAAG,KAA0B,CACxC,KAAM,IAAID,CAAS,GACnB,KAAM,MAAM,QAAQC,CAAG,EAAIA,EAAI,CAAC,EAAIA,CACtC,EACF,EACA,OAAAP,EAAI,MAAM,aAAc,KAAK,UAAUI,CAAM,CAAC,EACvCH,EAAI,SAAS,GAAGD,EAAI,OAAO,GAAG,CACvC",
6
- "names": ["validate_exports", "__export", "validate", "__toCommonJS", "import_zod", "schema", "req", "res", "next", "result", "errors", "z", "fieldName", "err"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAAc;AAEP,MAAM,WACX,CAAC,WACD,CAAC,KAAK,KAAK,SAAS;AAClB,QAAM,SAAS,OAAO,UAAU,IAAI,IAAI;AACxC,MAAI,OAAO,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAEA,QAAM,SAAS,OAAO,QAAQ,WAAAA,QAAE,aAAa,OAAO,KAAK,EAAE,WAAW,EAAE;AAAA,IACtE,CAAC,CAAC,WAAW,GAAG,OAA0B;AAAA,MACxC,MAAM,IAAI,SAAS;AAAA,MACnB,MAAM,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI;AAAA,IACtC;AAAA,EACF;AACA,MAAI,MAAM,cAAc,KAAK,UAAU,MAAM,CAAC;AAC9C,SAAO,IAAI,SAAS,GAAG,IAAI,OAAO,GAAG;AACvC;",
6
+ "names": ["z"]
7
7
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ministryofjustice/hmpps-digital-prison-reporting-frontend",
3
3
  "description": "The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.",
4
- "version": "4.27.0",
4
+ "version": "4.28.0",
5
5
  "main": "dpr/all.mjs",
6
6
  "sass": "dpr/all.scss",
7
7
  "engines": {