@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.3 → 4.17.5

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 (560) hide show
  1. package/dpr/assets/app.js.map +1 -1
  2. package/dpr/components/_async/async-filters-form/sortByTemplate.js +1 -1
  3. package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
  4. package/dpr/components/_async/async-filters-form/types.d.js +1 -1
  5. package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
  6. package/dpr/components/_async/async-filters-form/utils.js +1 -1
  7. package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
  8. package/dpr/components/_async/async-filters-form/utils.test.ts +9 -9
  9. package/dpr/components/_async/async-filters-form/utils.ts +1 -1
  10. package/dpr/components/_async/async-filters-form/view.njk +6 -3
  11. package/dpr/components/_catalogue/catalogue/types.js +1 -1
  12. package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
  13. package/dpr/components/_catalogue/catalogue/utils.js +1 -1
  14. package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
  15. package/dpr/components/_catalogue/catalogue/utils.test.ts +6 -3
  16. package/dpr/components/_catalogue/catalogue/utils.ts +2 -2
  17. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  18. package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
  19. package/dpr/components/_catalogue/catalogue-list/utils.test.ts +1 -0
  20. package/dpr/components/_catalogue/catalogue-list/utils.ts +5 -5
  21. package/dpr/components/_charts/chart/Buckets.js +1 -1
  22. package/dpr/components/_charts/chart/Buckets.js.map +3 -3
  23. package/dpr/components/_charts/chart/Buckets.ts +3 -3
  24. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
  25. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +3 -3
  26. package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +1 -13
  27. package/dpr/components/_charts/chart/heatmap/types.js +1 -1
  28. package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
  29. package/dpr/components/_charts/chart/heatmap/types.ts +1 -1
  30. package/dpr/components/_charts/utils.js +1 -1
  31. package/dpr/components/_charts/utils.js.map +3 -3
  32. package/dpr/components/_charts/utils.test.ts +1 -0
  33. package/dpr/components/_charts/utils.ts +84 -43
  34. package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
  35. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  36. package/dpr/components/_dashboards/dashboard-list/utils.test.ts +1 -0
  37. package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -11
  38. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +1 -1
  39. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +2 -2
  40. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +1 -1
  41. package/dpr/components/_dashboards/dashboard-visualisation/types.js +1 -1
  42. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
  43. package/dpr/components/_dashboards/dashboard-visualisation/types.ts +8 -8
  44. package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
  45. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  46. package/dpr/components/_dashboards/scorecard/Scorecard.ts +8 -8
  47. package/dpr/components/_dashboards/scorecard/types.js +1 -1
  48. package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
  49. package/dpr/components/_dashboards/scorecard/types.ts +12 -10
  50. package/dpr/components/_dashboards/scorecard/utils.js +1 -1
  51. package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
  52. package/dpr/components/_dashboards/scorecard/utils.test.ts +1 -0
  53. package/dpr/components/_filters/filter-input/enum.js +1 -1
  54. package/dpr/components/_filters/filter-input/enum.js.map +1 -1
  55. package/dpr/components/_filters/filter-input/filters.js +1 -1
  56. package/dpr/components/_filters/filter-input/filters.js.map +1 -1
  57. package/dpr/components/_filters/filter-input/filters.test.ts +1 -0
  58. package/dpr/components/_filters/filter-input/types.d.js +1 -1
  59. package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
  60. package/dpr/components/_filters/filters-selected/utils.js +1 -1
  61. package/dpr/components/_filters/filters-selected/utils.js.map +3 -3
  62. package/dpr/components/_filters/filters-selected/utils.test.ts +7 -4
  63. package/dpr/components/_filters/filters-selected/utils.ts +1 -1
  64. package/dpr/components/_filters/filtersTypeEnum.js +1 -1
  65. package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
  66. package/dpr/components/_filters/types.d.js +1 -1
  67. package/dpr/components/_filters/types.d.js.map +2 -2
  68. package/dpr/components/_filters/types.d.ts +5 -5
  69. package/dpr/components/_filters/utils.js +1 -1
  70. package/dpr/components/_filters/utils.js.map +2 -2
  71. package/dpr/components/_filters/utils.test.ts +54 -49
  72. package/dpr/components/_filters/utils.ts +16 -20
  73. package/dpr/components/_inputs/date-input/utils.js +1 -1
  74. package/dpr/components/_inputs/date-input/utils.js.map +1 -1
  75. package/dpr/components/_inputs/date-input/utils.test.ts +1 -0
  76. package/dpr/components/_inputs/date-range/clientClass.mjs +2 -2
  77. package/dpr/components/_inputs/date-range/types.js +1 -1
  78. package/dpr/components/_inputs/date-range/types.js.map +2 -2
  79. package/dpr/components/_inputs/date-range/types.ts +2 -2
  80. package/dpr/components/_inputs/date-range/utils.js +1 -1
  81. package/dpr/components/_inputs/date-range/utils.js.map +2 -2
  82. package/dpr/components/_inputs/date-range/utils.test.ts +5 -7
  83. package/dpr/components/_inputs/date-range/utils.ts +4 -4
  84. package/dpr/components/_inputs/date-range/view.njk +1 -0
  85. package/dpr/components/_inputs/granular-date-range/types.js +1 -1
  86. package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
  87. package/dpr/components/_inputs/granular-date-range/utils.js +1 -1
  88. package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
  89. package/dpr/components/_inputs/granular-date-range/utils.test.ts +1 -0
  90. package/dpr/components/_inputs/multi-select/utils.js +1 -1
  91. package/dpr/components/_inputs/multi-select/utils.js.map +3 -3
  92. package/dpr/components/_inputs/multi-select/utils.ts +1 -1
  93. package/dpr/components/_inputs/multi-select/utilt.test.ts +29 -14
  94. package/dpr/components/_inputs/start-end-date/utils.js +1 -1
  95. package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
  96. package/dpr/components/_inputs/start-end-date/utils.test.ts +1 -0
  97. package/dpr/components/_reports/report-actions/actionsTemplate.js +1 -1
  98. package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
  99. package/dpr/components/_reports/report-actions/types.d.js +1 -1
  100. package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
  101. package/dpr/components/_reports/report-actions/types.d.ts +1 -1
  102. package/dpr/components/_reports/report-actions/utils.js +1 -1
  103. package/dpr/components/_reports/report-actions/utils.js.map +1 -1
  104. package/dpr/components/_reports/report-actions/utils.test.ts +8 -4
  105. package/dpr/components/_reports/report-columns-form/types.d.js +1 -1
  106. package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
  107. package/dpr/components/_reports/report-columns-form/utils.js +1 -1
  108. package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
  109. package/dpr/components/_reports/report-columns-form/utils.ts +1 -1
  110. package/dpr/components/_reports/report-data-table/types.d.js +1 -1
  111. package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
  112. package/dpr/components/_reports/report-data-table/utils.js +1 -1
  113. package/dpr/components/_reports/report-data-table/utils.js.map +3 -3
  114. package/dpr/components/_reports/report-data-table/utils.test.ts +15 -8
  115. package/dpr/components/_reports/report-data-table/utils.ts +20 -8
  116. package/dpr/components/_reports/report-pagination/types.d.js +1 -1
  117. package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
  118. package/dpr/components/_reports/report-pagination/types.d.ts +2 -2
  119. package/dpr/components/_reports/report-pagination/utils.js +1 -1
  120. package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
  121. package/dpr/components/_reports/report-pagination/utils.test.ts +1 -0
  122. package/dpr/components/_reports/report-totals/utils.js +1 -1
  123. package/dpr/components/_reports/report-totals/utils.js.map +1 -1
  124. package/dpr/components/card-group/utils.js +1 -1
  125. package/dpr/components/card-group/utils.js.map +1 -1
  126. package/dpr/components/card-group/utils.test.ts +7 -0
  127. package/dpr/components/report-list/defaultTokenProvider.js +1 -1
  128. package/dpr/components/report-list/defaultTokenProvider.js.map +3 -3
  129. package/dpr/components/report-list/defaultTokenProvider.ts +3 -3
  130. package/dpr/components/report-list/types.d.js +1 -1
  131. package/dpr/components/report-list/types.d.js.map +1 -1
  132. package/dpr/components/report-list/utils.js +1 -1
  133. package/dpr/components/report-list/utils.js.map +2 -2
  134. package/dpr/components/report-list/utils.test.ts +6 -4
  135. package/dpr/components/report-list/utils.ts +5 -5
  136. package/dpr/components/show-more/utils.js +1 -1
  137. package/dpr/components/show-more/utils.js.map +1 -1
  138. package/dpr/components/user-reports/bookmarks/utils.js +1 -1
  139. package/dpr/components/user-reports/bookmarks/utils.js.map +3 -3
  140. package/dpr/components/user-reports/bookmarks/utils.test.ts +14 -11
  141. package/dpr/components/user-reports/bookmarks/utils.ts +26 -31
  142. package/dpr/components/user-reports/requested/utils.js +1 -1
  143. package/dpr/components/user-reports/requested/utils.js.map +3 -3
  144. package/dpr/components/user-reports/requested/utils.test.ts +4 -3
  145. package/dpr/components/user-reports/requested/utils.ts +4 -3
  146. package/dpr/components/user-reports/types.d.js +1 -1
  147. package/dpr/components/user-reports/types.d.js.map +2 -2
  148. package/dpr/components/user-reports/types.d.ts +1 -1
  149. package/dpr/components/user-reports/utils.js +1 -1
  150. package/dpr/components/user-reports/utils.js.map +3 -3
  151. package/dpr/components/user-reports/utils.test.ts +48 -47
  152. package/dpr/components/user-reports/utils.ts +51 -57
  153. package/dpr/components/user-reports/viewed/utils.js +1 -1
  154. package/dpr/components/user-reports/viewed/utils.js.map +2 -2
  155. package/dpr/components/user-reports/viewed/utils.ts +5 -4
  156. package/dpr/data/agentConfig.js +1 -1
  157. package/dpr/data/agentConfig.js.map +1 -1
  158. package/dpr/data/dashboardClient.js +1 -1
  159. package/dpr/data/dashboardClient.js.map +2 -2
  160. package/dpr/data/dashboardClient.ts +2 -2
  161. package/dpr/data/dprReportingClient.js +1 -1
  162. package/dpr/data/dprReportingClient.js.map +3 -3
  163. package/dpr/data/dprReportingClient.ts +3 -3
  164. package/dpr/data/missingReportClient.js +2 -0
  165. package/dpr/data/missingReportClient.js.map +7 -0
  166. package/dpr/{services/missingReport → data}/missingReportClient.ts +4 -4
  167. package/dpr/data/productCollectionClient.js +2 -0
  168. package/dpr/data/productCollectionClient.js.map +7 -0
  169. package/dpr/data/productCollectionClient.ts +28 -0
  170. package/dpr/data/reportDataStore.js +1 -1
  171. package/dpr/data/reportDataStore.js.map +1 -1
  172. package/dpr/data/reportingClient.js +1 -1
  173. package/dpr/data/reportingClient.js.map +3 -3
  174. package/dpr/data/reportingClient.ts +7 -9
  175. package/dpr/data/restClient.js +1 -1
  176. package/dpr/data/restClient.js.map +2 -2
  177. package/dpr/data/restClient.ts +5 -5
  178. package/dpr/data/types.d.js +1 -1
  179. package/dpr/data/types.d.js.map +2 -2
  180. package/dpr/data/types.d.ts +1 -1
  181. package/dpr/middleware/reportAuthoriser.js +1 -1
  182. package/dpr/middleware/reportAuthoriser.js.map +2 -2
  183. package/dpr/middleware/reportAuthoriser.ts +2 -2
  184. package/dpr/middleware/setUpDprResources.js +1 -1
  185. package/dpr/middleware/setUpDprResources.js.map +2 -2
  186. package/dpr/middleware/setUpDprResources.test.ts +59 -20
  187. package/dpr/middleware/setUpDprResources.ts +30 -29
  188. package/dpr/middleware/setUpNestedRoute.js +1 -1
  189. package/dpr/middleware/setUpNestedRoute.js.map +2 -2
  190. package/dpr/middleware/setUpNestedRoute.ts +1 -1
  191. package/dpr/routes/index.js +1 -1
  192. package/dpr/routes/index.js.map +2 -2
  193. package/dpr/routes/index.ts +1 -2
  194. package/dpr/routes/journeys/download-report/controller.js +1 -1
  195. package/dpr/routes/journeys/download-report/controller.js.map +3 -3
  196. package/dpr/routes/journeys/download-report/controller.ts +7 -6
  197. package/dpr/routes/journeys/download-report/request-download/form/controller.js +1 -1
  198. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +3 -3
  199. package/dpr/routes/journeys/download-report/request-download/form/controller.ts +1 -1
  200. package/dpr/routes/journeys/download-report/request-download/form/routes.js +1 -1
  201. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
  202. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +1 -1
  203. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +3 -3
  204. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.ts +1 -1
  205. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +1 -1
  206. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
  207. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
  208. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  209. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
  210. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
  211. package/dpr/routes/journeys/download-report/request-download/routes.js +1 -1
  212. package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
  213. package/dpr/routes/journeys/download-report/request-download/service.js +1 -1
  214. package/dpr/routes/journeys/download-report/request-download/service.js.map +3 -3
  215. package/dpr/routes/journeys/download-report/request-download/service.ts +20 -8
  216. package/dpr/routes/journeys/download-report/routes.js +1 -1
  217. package/dpr/routes/journeys/download-report/routes.js.map +3 -3
  218. package/dpr/routes/journeys/download-report/routes.ts +1 -4
  219. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  220. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  221. package/dpr/routes/journeys/download-report/tests.cy.ts +4 -1
  222. package/dpr/routes/journeys/download-report/utils.js +1 -1
  223. package/dpr/routes/journeys/download-report/utils.js.map +2 -2
  224. package/dpr/routes/journeys/download-report/utils.ts +2 -4
  225. package/dpr/routes/journeys/my-reports/bookmarks/controller.js +1 -1
  226. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
  227. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +1 -1
  228. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +3 -3
  229. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.ts +2 -2
  230. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +1 -1
  231. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
  232. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
  233. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  234. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -2
  235. package/dpr/routes/journeys/my-reports/bookmarks/routes.js +1 -1
  236. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
  237. package/dpr/routes/journeys/my-reports/bookmarks/service.js +3 -3
  238. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +3 -3
  239. package/dpr/routes/journeys/my-reports/bookmarks/service.ts +31 -18
  240. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  241. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
  242. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +26 -26
  243. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
  244. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
  245. package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +10 -11
  246. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +1 -1
  247. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
  248. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +1 -1
  249. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +3 -3
  250. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.ts +1 -1
  251. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +1 -1
  252. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
  253. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  254. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
  255. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +7 -4
  256. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +1 -1
  257. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
  258. package/dpr/routes/journeys/my-reports/recently-viewed/service.js +1 -1
  259. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +3 -3
  260. package/dpr/routes/journeys/my-reports/recently-viewed/service.ts +0 -2
  261. package/dpr/routes/journeys/my-reports/requested-reports/controller.js +1 -1
  262. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
  263. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +1 -1
  264. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +3 -3
  265. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.ts +1 -1
  266. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +1 -1
  267. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
  268. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
  269. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
  270. package/dpr/routes/journeys/my-reports/requested-reports/routes.js +1 -1
  271. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
  272. package/dpr/routes/journeys/my-reports/requested-reports/service.js +1 -1
  273. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +3 -3
  274. package/dpr/routes/journeys/my-reports/requested-reports/service.ts +25 -17
  275. package/dpr/routes/journeys/my-reports/routes.js +1 -1
  276. package/dpr/routes/journeys/my-reports/routes.js.map +3 -3
  277. package/dpr/routes/journeys/my-reports/routes.ts +0 -3
  278. package/dpr/routes/journeys/product-collection/routes.js +1 -1
  279. package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
  280. package/dpr/routes/journeys/product-collection/selected/controller.js +1 -1
  281. package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
  282. package/dpr/routes/journeys/product-collection/selected/routes.js +1 -1
  283. package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
  284. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +1 -1
  285. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
  286. package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +6 -4
  287. package/dpr/routes/journeys/product-collection/selected/validation.js +1 -1
  288. package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
  289. package/dpr/routes/journeys/request-missing-report/form/controller.js +1 -1
  290. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +3 -3
  291. package/dpr/routes/journeys/request-missing-report/form/controller.ts +21 -19
  292. package/dpr/routes/journeys/request-missing-report/form/routes.js +1 -1
  293. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
  294. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
  295. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
  296. package/dpr/routes/journeys/request-missing-report/form/validation.js +1 -1
  297. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
  298. package/dpr/routes/journeys/request-missing-report/routes.js +1 -1
  299. package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
  300. package/dpr/routes/journeys/request-missing-report/submitted/controller.js +1 -1
  301. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
  302. package/dpr/routes/journeys/request-missing-report/submitted/routes.js +1 -1
  303. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
  304. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +1 -1
  305. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
  306. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  307. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  308. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +1 -1
  309. package/dpr/routes/journeys/request-report/controller.js +1 -1
  310. package/dpr/routes/journeys/request-report/controller.js.map +3 -3
  311. package/dpr/routes/journeys/request-report/controller.ts +1 -1
  312. package/dpr/routes/journeys/request-report/filters/controller.js +1 -1
  313. package/dpr/routes/journeys/request-report/filters/controller.js.map +3 -3
  314. package/dpr/routes/journeys/request-report/filters/controller.ts +7 -8
  315. package/dpr/routes/journeys/request-report/filters/routes.js +1 -1
  316. package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
  317. package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
  318. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
  319. package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
  320. package/dpr/routes/journeys/request-report/filters/utils.js.map +3 -3
  321. package/dpr/routes/journeys/request-report/filters/utils.ts +38 -23
  322. package/dpr/routes/journeys/request-report/filters/view.njk +2 -1
  323. package/dpr/routes/journeys/request-report/routes.js +1 -1
  324. package/dpr/routes/journeys/request-report/routes.js.map +2 -2
  325. package/dpr/routes/journeys/request-report/routes.ts +2 -2
  326. package/dpr/routes/journeys/request-report/status/controller.js +1 -1
  327. package/dpr/routes/journeys/request-report/status/controller.js.map +3 -3
  328. package/dpr/routes/journeys/request-report/status/controller.ts +4 -4
  329. package/dpr/routes/journeys/request-report/status/routes.js +1 -1
  330. package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
  331. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  332. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  333. package/dpr/routes/journeys/request-report/status/tests.cy.ts +9 -4
  334. package/dpr/routes/journeys/request-report/status/utils.js +1 -1
  335. package/dpr/routes/journeys/request-report/status/utils.js.map +3 -3
  336. package/dpr/routes/journeys/request-report/status/utils.ts +10 -13
  337. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  338. package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
  339. package/dpr/routes/journeys/request-report/tests.cy.ts +14 -11
  340. package/dpr/routes/journeys/routes.js +1 -1
  341. package/dpr/routes/journeys/routes.js.map +1 -1
  342. package/dpr/routes/journeys/view-report/async/controller.js +1 -1
  343. package/dpr/routes/journeys/view-report/async/controller.js.map +3 -3
  344. package/dpr/routes/journeys/view-report/async/controller.ts +4 -4
  345. package/dpr/routes/journeys/view-report/async/dashboard/controller.js +1 -1
  346. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +3 -3
  347. package/dpr/routes/journeys/view-report/async/dashboard/controller.ts +4 -4
  348. package/dpr/routes/journeys/view-report/async/dashboard/routes.js +1 -1
  349. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
  350. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  351. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  352. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -2
  353. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  354. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
  355. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +6 -8
  356. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  357. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  358. package/dpr/routes/journeys/view-report/async/report/controller.ts +5 -5
  359. package/dpr/routes/journeys/view-report/async/report/routes.js +1 -1
  360. package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
  361. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  362. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  363. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +9 -7
  364. package/dpr/routes/journeys/view-report/async/report/types.js +1 -1
  365. package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
  366. package/dpr/routes/journeys/view-report/async/report/types.ts +8 -8
  367. package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
  368. package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
  369. package/dpr/routes/journeys/view-report/async/report/utils.ts +16 -18
  370. package/dpr/routes/journeys/view-report/async/routes.js +1 -1
  371. package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
  372. package/dpr/routes/journeys/view-report/controller.js +1 -1
  373. package/dpr/routes/journeys/view-report/controller.js.map +3 -3
  374. package/dpr/routes/journeys/view-report/controller.ts +1 -1
  375. package/dpr/routes/journeys/view-report/routes.js +1 -1
  376. package/dpr/routes/journeys/view-report/routes.js.map +2 -2
  377. package/dpr/routes/journeys/view-report/routes.ts +6 -3
  378. package/dpr/routes/journeys/view-report/sync/load-report/controller.js +1 -1
  379. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +2 -2
  380. package/dpr/routes/journeys/view-report/sync/load-report/controller.ts +1 -1
  381. package/dpr/routes/journeys/view-report/sync/load-report/routes.js +1 -1
  382. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
  383. package/dpr/routes/journeys/view-report/sync/report/controller.js +1 -1
  384. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +3 -3
  385. package/dpr/routes/journeys/view-report/sync/report/controller.ts +6 -6
  386. package/dpr/routes/journeys/view-report/sync/report/routes.js +1 -1
  387. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
  388. package/dpr/routes/journeys/view-report/sync/report/utils.js +1 -1
  389. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +3 -3
  390. package/dpr/routes/journeys/view-report/sync/report/utils.ts +29 -19
  391. package/dpr/routes/journeys/view-report/sync/routes.js +1 -1
  392. package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
  393. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  394. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
  395. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +1 -1
  396. package/dpr/routes/journeys/view-report/utils.js +1 -1
  397. package/dpr/routes/journeys/view-report/utils.js.map +3 -3
  398. package/dpr/routes/journeys/view-report/utils.ts +22 -12
  399. package/dpr/services/dashboardService.js +1 -1
  400. package/dpr/services/dashboardService.js.map +3 -3
  401. package/dpr/services/dashboardService.ts +1 -3
  402. package/dpr/services/defaultFilterValuesService.js +1 -1
  403. package/dpr/services/defaultFilterValuesService.js.map +3 -3
  404. package/dpr/services/defaultFilterValuesService.ts +34 -15
  405. package/dpr/services/index.js +1 -1
  406. package/dpr/services/index.js.map +1 -1
  407. package/dpr/services/missingReport/missingReportService.js +2 -0
  408. package/dpr/services/missingReport/missingReportService.js.map +7 -0
  409. package/dpr/services/missingReport/missingReportService.ts +26 -0
  410. package/dpr/services/productCollection/productCollectionService.js +1 -1
  411. package/dpr/services/productCollection/productCollectionService.js.map +3 -3
  412. package/dpr/services/productCollection/productCollectionService.ts +19 -14
  413. package/dpr/services/productCollection/productCollectionStoreService.js +1 -1
  414. package/dpr/services/productCollection/productCollectionStoreService.js.map +3 -3
  415. package/dpr/services/productCollection/productCollectionStoreService.ts +9 -3
  416. package/dpr/services/reportStoreService.js +1 -1
  417. package/dpr/services/reportStoreService.js.map +2 -2
  418. package/dpr/services/reportStoreService.ts +1 -1
  419. package/dpr/services/reportingService.js +1 -1
  420. package/dpr/services/reportingService.js.map +3 -3
  421. package/dpr/services/reportingService.ts +1 -3
  422. package/dpr/setUpNunjucksFilters.js +1 -1
  423. package/dpr/setUpNunjucksFilters.js.map +1 -1
  424. package/dpr/types/AsyncReportUtils.js +1 -1
  425. package/dpr/types/AsyncReportUtils.js.map +2 -2
  426. package/dpr/types/AsyncReportUtils.ts +2 -1
  427. package/dpr/types/Bookmark.js +1 -1
  428. package/dpr/types/Bookmark.js.map +2 -2
  429. package/dpr/types/Bookmark.ts +9 -3
  430. package/dpr/types/Charts.js +1 -1
  431. package/dpr/types/Charts.js.map +1 -1
  432. package/dpr/types/Download.js +1 -1
  433. package/dpr/types/Download.js.map +1 -1
  434. package/dpr/types/DprConfig.js +1 -1
  435. package/dpr/types/DprConfig.js.map +2 -2
  436. package/dpr/types/DprConfig.ts +8 -0
  437. package/dpr/types/DprUser.js +1 -1
  438. package/dpr/types/DprUser.js.map +2 -2
  439. package/dpr/types/DprUser.ts +2 -2
  440. package/dpr/types/EmbeddedReportUtils.js +1 -1
  441. package/dpr/types/EmbeddedReportUtils.js.map +1 -1
  442. package/dpr/types/ExecutionData.d.js +1 -1
  443. package/dpr/types/ExecutionData.d.js.map +2 -2
  444. package/dpr/types/ExecutionData.d.ts +2 -2
  445. package/dpr/types/Metrics.js +1 -1
  446. package/dpr/types/Metrics.js.map +2 -2
  447. package/dpr/types/Metrics.ts +1 -1
  448. package/dpr/types/ReportQuery.js +1 -1
  449. package/dpr/types/ReportQuery.js.map +2 -2
  450. package/dpr/types/ReportQuery.ts +15 -11
  451. package/dpr/types/ReportStore.js +1 -1
  452. package/dpr/types/ReportStore.js.map +1 -1
  453. package/dpr/types/Services.d.js +1 -1
  454. package/dpr/types/Services.d.js.map +2 -2
  455. package/dpr/types/Services.d.ts +8 -8
  456. package/dpr/types/Templates.d.js +1 -1
  457. package/dpr/types/Templates.d.js.map +1 -1
  458. package/dpr/types/UserReports.js +1 -1
  459. package/dpr/types/UserReports.js.map +2 -2
  460. package/dpr/types/UserReports.ts +29 -15
  461. package/dpr/types/api.d.js +1 -1
  462. package/dpr/types/api.d.js.map +1 -1
  463. package/dpr/types/index.d.js +1 -1
  464. package/dpr/types/index.d.js.map +2 -2
  465. package/dpr/types/index.d.ts +1 -1
  466. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +1 -1
  467. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
  468. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.test.ts +2 -0
  469. package/dpr/utils/CreateDprServices.js +2 -0
  470. package/dpr/utils/CreateDprServices.js.map +7 -0
  471. package/dpr/utils/CreateDprServices.ts +73 -0
  472. package/dpr/utils/DataTableBuilder/DataTableBuilder.js +1 -1
  473. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
  474. package/dpr/utils/DataTableBuilder/DataTableBuilder.test.ts +10 -0
  475. package/dpr/utils/DataTableBuilder/types.d.js +1 -1
  476. package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
  477. package/dpr/utils/DataTableBuilder/types.d.ts +3 -3
  478. package/dpr/utils/DateMapper/DateMapper.js +1 -1
  479. package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
  480. package/dpr/utils/DateMapper/DateMapper.test.ts +22 -9
  481. package/dpr/utils/DateMapper/DateMapper.ts +9 -11
  482. package/dpr/utils/DateMapper/types.d.js +1 -1
  483. package/dpr/utils/DateMapper/types.d.js.map +1 -1
  484. package/dpr/utils/ErrorHandler.js +2 -0
  485. package/dpr/utils/ErrorHandler.js.map +7 -0
  486. package/dpr/utils/ErrorHandler.ts +85 -0
  487. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +1 -1
  488. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
  489. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.test.ts +13 -2
  490. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.ts +3 -3
  491. package/dpr/utils/ParentChildDataTableBuilder/types.d.js +1 -1
  492. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
  493. package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
  494. package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
  495. package/dpr/utils/Personalisation/personalisationUtils.ts +6 -2
  496. package/dpr/utils/Personalisation/types.d.js +1 -1
  497. package/dpr/utils/Personalisation/types.d.js.map +1 -1
  498. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +1 -1
  499. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
  500. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.test.ts +5 -0
  501. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.ts +1 -1
  502. package/dpr/utils/SectionedDataTableBuilder/types.d.js +1 -1
  503. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
  504. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +1 -1
  505. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
  506. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.test.ts +7 -4
  507. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.ts +3 -3
  508. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +1 -1
  509. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
  510. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.test.ts +1 -0
  511. package/dpr/utils/UserStoreItemBuilder.js +1 -1
  512. package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
  513. package/dpr/utils/UserStoreItemBuilder.ts +19 -32
  514. package/dpr/utils/arrayUtils.js +1 -1
  515. package/dpr/utils/arrayUtils.js.map +1 -1
  516. package/dpr/utils/datasetHelper.js +1 -1
  517. package/dpr/utils/datasetHelper.js.map +2 -2
  518. package/dpr/utils/datasetHelper.test.ts +21 -33
  519. package/dpr/utils/datasetHelper.ts +12 -17
  520. package/dpr/utils/definitionUtils.js +1 -1
  521. package/dpr/utils/definitionUtils.js.map +3 -3
  522. package/dpr/utils/definitionUtils.ts +14 -3
  523. package/dpr/utils/index.js +1 -1
  524. package/dpr/utils/index.js.map +1 -1
  525. package/dpr/utils/indexedAccesHelper.js +2 -0
  526. package/dpr/utils/indexedAccesHelper.js.map +7 -0
  527. package/dpr/utils/indexedAccesHelper.ts +24 -0
  528. package/dpr/utils/localsHelper.js +1 -1
  529. package/dpr/utils/localsHelper.js.map +2 -2
  530. package/dpr/utils/localsHelper.ts +8 -8
  531. package/dpr/utils/logger.js +1 -1
  532. package/dpr/utils/logger.js.map +2 -2
  533. package/dpr/utils/logger.ts +1 -1
  534. package/dpr/utils/reportListsHelper.js +1 -1
  535. package/dpr/utils/reportListsHelper.js.map +1 -1
  536. package/dpr/utils/reportStoreHelper.js +1 -1
  537. package/dpr/utils/reportStoreHelper.js.map +1 -1
  538. package/dpr/utils/reportStoreHelper.test.ts +3 -2
  539. package/dpr/utils/requestStatusHelper.js +1 -1
  540. package/dpr/utils/requestStatusHelper.js.map +3 -3
  541. package/dpr/utils/requestStatusHelper.ts +29 -42
  542. package/dpr/utils/sanitisedError.js +1 -1
  543. package/dpr/utils/sanitisedError.js.map +2 -2
  544. package/dpr/utils/sanitisedError.ts +1 -1
  545. package/dpr/utils/urlHelper.js +1 -1
  546. package/dpr/utils/urlHelper.js.map +2 -2
  547. package/dpr/utils/urlHelper.ts +4 -4
  548. package/dpr/validation/validate.js +1 -1
  549. package/dpr/validation/validate.js.map +2 -2
  550. package/dpr/validation/validate.ts +2 -2
  551. package/package.json +4 -2
  552. package/dpr/components/error-summary/utils.js +0 -2
  553. package/dpr/components/error-summary/utils.js.map +0 -7
  554. package/dpr/components/error-summary/utils.test.ts +0 -54
  555. package/dpr/components/error-summary/utils.ts +0 -65
  556. package/dpr/services/missingReport/missingReportClient.js +0 -2
  557. package/dpr/services/missingReport/missingReportClient.js.map +0 -7
  558. package/dpr/utils/ReportStoreServiceUtils.js +0 -2
  559. package/dpr/utils/ReportStoreServiceUtils.js.map +0 -7
  560. package/dpr/utils/ReportStoreServiceUtils.ts +0 -140
@@ -1,2 +1,2 @@
1
- var w=Object.create;var l=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var b=(t,o)=>{for(var e in o)l(t,e,{get:o[e],enumerable:!0})},g=(t,o,e,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of q(o))!V.call(t,r)&&r!==e&&l(t,r,{get:()=>o[r],enumerable:!(i=C(o,r))||i.enumerable});return t};var S=(t,o,e)=>(e=t!=null?w(Q(t)):{},g(o||!t||!t.__esModule?l(e,"default",{value:t,enumerable:!0}):e,t)),v=t=>g(l({},"__esModule",{value:!0}),t);var B={};b(B,{default:()=>A,populateDefinitions:()=>D,populateRequestedReports:()=>k,setupResources:()=>h});module.exports=v(B);var c=S(require("../utils/definitionUtils")),f=S(require("../utils/localsHelper"));const I=(t,o)=>t[o]?t[o].toString():null,F=t=>I(t,"dataProductDefinitionsPath"),E=t=>{const o=F(t);return o||null},h=(t,o)=>async(e,i,r)=>{x(e,i);try{return await D(t,e,i,o),await k(t,i),r()}catch(a){return r(a)}},x=(t,o)=>{const e=t.flash("DPR_ERRORS");e&&e[0]&&(o.locals.validationErrors=JSON.parse(e[0]))},D=async(t,o,e,i)=>{const{token:r,dprUser:a}=f.default.getValues(e),d=E(o.query),n=o.body?.dataProductDefinitionsPath,s=d||n;s&&(e.locals.dpdPathFromQuery=!0);const m=i?.dataProductDefinitionsPath;if(m&&(e.locals.dpdPathFromConfig=!0),e.locals.definitionsPath=s||m,e.locals.pathSuffix=`?dataProductDefinitionsPath=${e.locals.definitionsPath}`,r&&t.reportingService){const P=await t.productCollectionStoreService.getSelectedProductCollectionId(a.id);e.locals.definitions=await Promise.all([t.reportingService.getDefinitions(r,e.locals.definitionsPath),P&&t.productCollectionService.getProductCollection(a.id,P)]).then(([R,p])=>{if(p&&p){const y=p.products.map(u=>u.productId);return R.filter(u=>y.includes(u.id))}return R})??[]}},k=async(t,o)=>{const{dprUser:e}=f.default.getValues(o);if(e.id){const{definitions:i,definitionsPath:r}=o.locals,a=await t.requestedReportService.getAllReports(e.id);o.locals.requestedReports=r?a.filter(n=>c.default.getCurrentVariantDefinition(i,n.reportId,n.id)):a;const d=await t.recentlyViewedService.getAllReports(e.id);if(o.locals.recentlyViewedReports=r?d.filter(n=>c.default.getCurrentVariantDefinition(i,n.reportId,n.id)):d,t.bookmarkService){o.locals.bookmarkingEnabled=!0;const n=await t.bookmarkService.getAllBookmarks(e.id);o.locals.bookmarks=r?n.filter(s=>c.default.getCurrentVariantDefinition(i,s.reportId,s.id)):n}t.downloadPermissionService&&(o.locals.downloadingEnabled=!0)}};var A=h;0&&(module.exports={populateDefinitions,populateRequestedReports,setupResources});
1
+ "use strict";var y=Object.create;var s=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var V=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},R=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of q(e))!E.call(t,i)&&i!==o&&s(t,i,{get:()=>e[i],enumerable:!(r=C(e,i))||r.enumerable});return t};var S=(t,e,o)=>(o=t!=null?y(w(t)):{},R(e||!t||!t.__esModule?s(o,"default",{value:t,enumerable:!0}):o,t)),v=t=>R(s({},"__esModule",{value:!0}),t);var B={};V(B,{default:()=>A,populateDefinitions:()=>D,populateRequestedReports:()=>b,setupResources:()=>h});module.exports=v(B);var c=S(require("../utils/definitionUtils")),m=S(require("../utils/localsHelper"));const Q=(t,e)=>t[e]?t[e].toString():null,F=t=>Q(t,"dataProductDefinitionsPath"),I=t=>{const e=F(t);return e||null},h=(t,e)=>async(o,r,i)=>{x(o,r);try{return await D(t,o,r,e),await b(t,r),i()}catch(a){return i(a)}},x=(t,e)=>{const o=t.flash("DPR_ERRORS");o&&o[0]&&(e.locals.validationErrors=JSON.parse(o[0]))},D=async(t,e,o,r)=>{const{token:i,dprUser:a}=m.default.getValues(o),d=I(e.query),n=e.body?.dataProductDefinitionsPath,l=d||n;l&&(o.locals.dpdPathFromQuery=!0);const P=r?.dataProductDefinitionsPath;P&&(o.locals.dpdPathFromConfig=!0),o.locals.definitionsPath=l||P,o.locals.pathSuffix=`?dataProductDefinitionsPath=${o.locals.definitionsPath}`;let u;i&&(u=await t.productCollectionStoreService.getSelectedProductCollectionId(a.id)),o.locals.definitions=await Promise.all([t.reportingService.getDefinitions(i,o.locals.definitionsPath),u&&t.productCollectionService.getProductCollection(i,u)]).then(([g,p])=>{if(p&&p){const k=p.products.map(f=>f.productId);return g.filter(f=>k.includes(f.id))}return g})??[]},b=async(t,e)=>{const{dprUser:o}=m.default.getValues(e);if(o.id){const{definitions:r,definitionsPath:i}=e.locals,a=await t.requestedReportService.getAllReports(o.id);e.locals.requestedReports=i?a.filter(n=>c.default.getCurrentVariantDefinition(r,n.reportId,n.id)):a;const d=await t.recentlyViewedService.getAllReports(o.id);if(e.locals.recentlyViewedReports=i?d.filter(n=>c.default.getCurrentVariantDefinition(r,n.reportId,n.id)):d,e.locals.downloadingEnabled=t.downloadPermissionService.enabled,e.locals.bookmarkingEnabled=t.bookmarkService.enabled,e.locals.collectionsEnabled=t.productCollectionService.enabled,e.locals.requestMissingEnabled=t.missingReportService.enabled,e.locals.saveDefaultsEnabled=t.defaultFilterValuesService.enabled,e.locals.bookmarkingEnabled){const n=await t.bookmarkService.getAllBookmarks(o.id);e.locals.bookmarks=i?n.filter(l=>c.default.getCurrentVariantDefinition(r,l.reportId,l.id)):n}}};var A=h;0&&(module.exports={populateDefinitions,populateRequestedReports,setupResources});
2
2
  //# sourceMappingURL=setUpDprResources.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/middleware/setUpDprResources.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { RequestHandler, Response, Request } from 'express'\nimport type { ParsedQs } from 'qs'\nimport { Services } from '../types/Services'\nimport { RequestedReport, StoredReportData } from '../types/UserReports'\nimport DefinitionUtils from '../utils/definitionUtils'\nimport { BookmarkStoreData } from '../types/Bookmark'\nimport { DprConfig } from '../types/DprConfig'\nimport localsHelper from '../utils/localsHelper'\n\nconst getQueryParamAsString = (query: ParsedQs, name: string) => (query[name] ? query[name].toString() : null)\nconst getDefinitionsPath = (query: ParsedQs) => getQueryParamAsString(query, 'dataProductDefinitionsPath')\n\nconst deriveDefinitionsPath = (query: ParsedQs): string | null => {\n const definitionsPath = getDefinitionsPath(query)\n if (definitionsPath) {\n return definitionsPath\n }\n\n return null\n}\n\nexport const setupResources = (services: Services, config?: DprConfig): RequestHandler => {\n return async (req, res, next) => {\n populateValidationErrors(req, res)\n try {\n await populateDefinitions(services, req, res, config)\n await populateRequestedReports(services, res)\n return next()\n } catch (error) {\n return next(error)\n }\n }\n}\n\nconst populateValidationErrors = (req: Request, res: Response) => {\n const errors = req.flash(`DPR_ERRORS`)\n if (errors && errors[0]) {\n res.locals.validationErrors = JSON.parse(errors[0])\n }\n}\n\nexport const populateDefinitions = async (services: Services, req: Request, res: Response, config?: DprConfig) => {\n // Get the DPD path from the query\n const { token, dprUser } = localsHelper.getValues(res)\n\n const dpdPathFromQuery = deriveDefinitionsPath(req.query)\n const dpdPathFromBody = req.body?.dataProductDefinitionsPath\n const definitionsPathFromQuery = dpdPathFromQuery || dpdPathFromBody\n\n if (definitionsPathFromQuery) {\n res.locals.dpdPathFromQuery = true\n }\n\n // Get the DPD path from the config\n const dpdPathFromConfig = config?.dataProductDefinitionsPath\n if (dpdPathFromConfig) {\n res.locals.dpdPathFromConfig = true\n }\n\n // query takes presedence over config\n res.locals.definitionsPath = definitionsPathFromQuery || dpdPathFromConfig\n res.locals.pathSuffix = `?dataProductDefinitionsPath=${res.locals.definitionsPath}`\n\n if (token && services.reportingService) {\n const selectedProductCollectionId = await services.productCollectionStoreService.getSelectedProductCollectionId(\n dprUser.id,\n )\n\n res.locals.definitions =\n (await Promise.all([\n services.reportingService.getDefinitions(token, res.locals.definitionsPath),\n selectedProductCollectionId &&\n services.productCollectionService.getProductCollection(dprUser.id, selectedProductCollectionId),\n ]).then(([defs, selectedProductCollection]) => {\n if (selectedProductCollection && selectedProductCollection) {\n const productIds = selectedProductCollection.products.map((product) => product.productId)\n return defs.filter((def) => productIds.includes(def.id))\n }\n return defs\n })) ?? []\n }\n}\n\nexport const populateRequestedReports = async (services: Services, res: Response) => {\n const { dprUser } = localsHelper.getValues(res)\n if (dprUser.id) {\n const { definitions, definitionsPath } = res.locals\n\n const requested = await services.requestedReportService.getAllReports(dprUser.id)\n res.locals.requestedReports = !definitionsPath\n ? requested\n : requested.filter((report: RequestedReport) => {\n return DefinitionUtils.getCurrentVariantDefinition(definitions, report.reportId, report.id)\n })\n\n const recent = await services.recentlyViewedService.getAllReports(dprUser.id)\n res.locals.recentlyViewedReports = !definitionsPath\n ? recent\n : recent.filter((report: StoredReportData) => {\n return DefinitionUtils.getCurrentVariantDefinition(definitions, report.reportId, report.id)\n })\n\n if (services.bookmarkService) {\n res.locals.bookmarkingEnabled = true\n\n const bookmarks = await services.bookmarkService.getAllBookmarks(dprUser.id)\n res.locals.bookmarks = !definitionsPath\n ? bookmarks\n : bookmarks.filter((bookmark: BookmarkStoreData) => {\n return DefinitionUtils.getCurrentVariantDefinition(definitions, bookmark.reportId, bookmark.id)\n })\n }\n\n if (services.downloadPermissionService) {\n res.locals.downloadingEnabled = true\n }\n }\n}\n\nexport default setupResources\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,wBAAAC,EAAA,6BAAAC,EAAA,mBAAAC,IAAA,eAAAC,EAAAN,GAKA,IAAAO,EAA4B,uCAG5BC,EAAyB,oCAEzB,MAAMC,EAAwB,CAACC,EAAiBC,IAAkBD,EAAMC,CAAI,EAAID,EAAMC,CAAI,EAAE,SAAS,EAAI,KACnGC,EAAsBF,GAAoBD,EAAsBC,EAAO,4BAA4B,EAEnGG,EAAyBH,GAAmC,CAChE,MAAMI,EAAkBF,EAAmBF,CAAK,EAChD,OAAII,GAIG,IACT,EAEaT,EAAiB,CAACU,EAAoBC,IAC1C,MAAOC,EAAKC,EAAKC,IAAS,CAC/BC,EAAyBH,EAAKC,CAAG,EACjC,GAAI,CACF,aAAMf,EAAoBY,EAAUE,EAAKC,EAAKF,CAAM,EACpD,MAAMZ,EAAyBW,EAAUG,CAAG,EACrCC,EAAK,CACd,OAASE,EAAO,CACd,OAAOF,EAAKE,CAAK,CACnB,CACF,EAGID,EAA2B,CAACH,EAAcC,IAAkB,CAChE,MAAMI,EAASL,EAAI,MAAM,YAAY,EACjCK,GAAUA,EAAO,CAAC,IACpBJ,EAAI,OAAO,iBAAmB,KAAK,MAAMI,EAAO,CAAC,CAAC,EAEtD,EAEanB,EAAsB,MAAOY,EAAoBE,EAAcC,EAAeF,IAAuB,CAEhH,KAAM,CAAE,MAAAO,EAAO,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUP,CAAG,EAE/CQ,EAAmBb,EAAsBI,EAAI,KAAK,EAClDU,EAAkBV,EAAI,MAAM,2BAC5BW,EAA2BF,GAAoBC,EAEjDC,IACFV,EAAI,OAAO,iBAAmB,IAIhC,MAAMW,EAAoBb,GAAQ,2BASlC,GARIa,IACFX,EAAI,OAAO,kBAAoB,IAIjCA,EAAI,OAAO,gBAAkBU,GAA4BC,EACzDX,EAAI,OAAO,WAAa,+BAA+BA,EAAI,OAAO,eAAe,GAE7EK,GAASR,EAAS,iBAAkB,CACtC,MAAMe,EAA8B,MAAMf,EAAS,8BAA8B,+BAC/ES,EAAQ,EACV,EAEAN,EAAI,OAAO,YACR,MAAM,QAAQ,IAAI,CACjBH,EAAS,iBAAiB,eAAeQ,EAAOL,EAAI,OAAO,eAAe,EAC1EY,GACEf,EAAS,yBAAyB,qBAAqBS,EAAQ,GAAIM,CAA2B,CAClG,CAAC,EAAE,KAAK,CAAC,CAACC,EAAMC,CAAyB,IAAM,CAC7C,GAAIA,GAA6BA,EAA2B,CAC1D,MAAMC,EAAaD,EAA0B,SAAS,IAAKE,GAAYA,EAAQ,SAAS,EACxF,OAAOH,EAAK,OAAQI,GAAQF,EAAW,SAASE,EAAI,EAAE,CAAC,CACzD,CACA,OAAOJ,CACT,CAAC,GAAM,CAAC,CACZ,CACF,EAEa3B,EAA2B,MAAOW,EAAoBG,IAAkB,CACnF,KAAM,CAAE,QAAAM,CAAQ,EAAI,EAAAC,QAAa,UAAUP,CAAG,EAC9C,GAAIM,EAAQ,GAAI,CACd,KAAM,CAAE,YAAAY,EAAa,gBAAAtB,CAAgB,EAAII,EAAI,OAEvCmB,EAAY,MAAMtB,EAAS,uBAAuB,cAAcS,EAAQ,EAAE,EAChFN,EAAI,OAAO,iBAAoBJ,EAE3BuB,EAAU,OAAQC,GACT,EAAAC,QAAgB,4BAA4BH,EAAaE,EAAO,SAAUA,EAAO,EAAE,CAC3F,EAHDD,EAKJ,MAAMG,EAAS,MAAMzB,EAAS,sBAAsB,cAAcS,EAAQ,EAAE,EAO5E,GANAN,EAAI,OAAO,sBAAyBJ,EAEhC0B,EAAO,OAAQF,GACN,EAAAC,QAAgB,4BAA4BH,EAAaE,EAAO,SAAUA,EAAO,EAAE,CAC3F,EAHDE,EAKAzB,EAAS,gBAAiB,CAC5BG,EAAI,OAAO,mBAAqB,GAEhC,MAAMuB,EAAY,MAAM1B,EAAS,gBAAgB,gBAAgBS,EAAQ,EAAE,EAC3EN,EAAI,OAAO,UAAaJ,EAEpB2B,EAAU,OAAQC,GACT,EAAAH,QAAgB,4BAA4BH,EAAaM,EAAS,SAAUA,EAAS,EAAE,CAC/F,EAHDD,CAIN,CAEI1B,EAAS,4BACXG,EAAI,OAAO,mBAAqB,GAEpC,CACF,EAEA,IAAOhB,EAAQG",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { RequestHandler, Response, Request } from 'express'\nimport type { ParsedQs } from 'qs'\nimport { Services } from '../types/Services'\nimport { RequestedReport, StoredReportData } from '../types/UserReports'\nimport DefinitionUtils from '../utils/definitionUtils'\nimport { BookmarkStoreData } from '../types/Bookmark'\nimport { DprConfig } from '../types/DprConfig'\nimport localsHelper from '../utils/localsHelper'\n\nconst getQueryParamAsString = (query: ParsedQs, name: string) => (query[name] ? query[name].toString() : null)\nconst getDefinitionsPath = (query: ParsedQs) => getQueryParamAsString(query, 'dataProductDefinitionsPath')\n\nconst deriveDefinitionsPath = (query: ParsedQs): string | null => {\n const definitionsPath = getDefinitionsPath(query)\n if (definitionsPath) {\n return definitionsPath\n }\n\n return null\n}\n\nexport const setupResources = (services: Services, config?: DprConfig): RequestHandler => {\n return async (req, res, next) => {\n populateValidationErrors(req, res)\n try {\n await populateDefinitions(services, req, res, config)\n await populateRequestedReports(services, res)\n return next()\n } catch (error) {\n return next(error)\n }\n }\n}\n\nconst populateValidationErrors = (req: Request, res: Response) => {\n const errors = req.flash(`DPR_ERRORS`)\n if (errors && errors[0]) {\n res.locals['validationErrors'] = JSON.parse(errors[0])\n }\n}\n\nexport const populateDefinitions = async (services: Services, req: Request, res: Response, config?: DprConfig) => {\n // Get the DPD path from the query\n const { token, dprUser } = localsHelper.getValues(res)\n\n const dpdPathFromQuery = deriveDefinitionsPath(req.query)\n const dpdPathFromBody = req.body?.dataProductDefinitionsPath\n const definitionsPathFromQuery = dpdPathFromQuery || dpdPathFromBody\n\n if (definitionsPathFromQuery) {\n res.locals['dpdPathFromQuery'] = true\n }\n\n // Get the DPD path from the config\n const dpdPathFromConfig = config?.dataProductDefinitionsPath\n if (dpdPathFromConfig) {\n res.locals['dpdPathFromConfig'] = true\n }\n\n // query takes presedence over config\n res.locals['definitionsPath'] = definitionsPathFromQuery || dpdPathFromConfig\n res.locals['pathSuffix'] = `?dataProductDefinitionsPath=${res.locals['definitionsPath']}`\n\n let selectedProductCollectionId: string | undefined\n if (token) {\n selectedProductCollectionId = await services.productCollectionStoreService.getSelectedProductCollectionId(\n dprUser.id,\n )\n }\n\n res.locals['definitions'] =\n (await Promise.all([\n services.reportingService.getDefinitions(token, res.locals['definitionsPath']),\n selectedProductCollectionId &&\n services.productCollectionService.getProductCollection(token, selectedProductCollectionId),\n ]).then(([defs, selectedProductCollection]) => {\n if (selectedProductCollection && selectedProductCollection) {\n const productIds = selectedProductCollection.products.map((product) => product.productId)\n return defs.filter((def) => productIds.includes(def.id))\n }\n return defs\n })) ?? []\n}\n\nexport const populateRequestedReports = async (services: Services, res: Response) => {\n const { dprUser } = localsHelper.getValues(res)\n if (dprUser.id) {\n const { definitions, definitionsPath } = res.locals\n\n const requested = await services.requestedReportService.getAllReports(dprUser.id)\n res.locals['requestedReports'] = !definitionsPath\n ? requested\n : requested.filter((report: RequestedReport) => {\n return DefinitionUtils.getCurrentVariantDefinition(definitions, report.reportId, report.id)\n })\n\n const recent = await services.recentlyViewedService.getAllReports(dprUser.id)\n res.locals['recentlyViewedReports'] = !definitionsPath\n ? recent\n : recent.filter((report: StoredReportData) => {\n return DefinitionUtils.getCurrentVariantDefinition(definitions, report.reportId, report.id)\n })\n\n res.locals['downloadingEnabled'] = services.downloadPermissionService.enabled\n res.locals['bookmarkingEnabled'] = services.bookmarkService.enabled\n res.locals['collectionsEnabled'] = services.productCollectionService.enabled\n res.locals['requestMissingEnabled'] = services.missingReportService.enabled\n res.locals['saveDefaultsEnabled'] = services.defaultFilterValuesService.enabled\n\n if (res.locals['bookmarkingEnabled']) {\n const bookmarks = await services.bookmarkService.getAllBookmarks(dprUser.id)\n res.locals['bookmarks'] = !definitionsPath\n ? bookmarks\n : bookmarks.filter((bookmark: BookmarkStoreData) => {\n return DefinitionUtils.getCurrentVariantDefinition(definitions, bookmark.reportId, bookmark.id)\n })\n }\n }\n}\n\nexport default setupResources\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,wBAAAC,EAAA,6BAAAC,EAAA,mBAAAC,IAAA,eAAAC,EAAAN,GAKA,IAAAO,EAA4B,uCAG5BC,EAAyB,oCAEzB,MAAMC,EAAwB,CAACC,EAAiBC,IAAkBD,EAAMC,CAAI,EAAID,EAAMC,CAAI,EAAE,SAAS,EAAI,KACnGC,EAAsBF,GAAoBD,EAAsBC,EAAO,4BAA4B,EAEnGG,EAAyBH,GAAmC,CAChE,MAAMI,EAAkBF,EAAmBF,CAAK,EAChD,OAAII,GAIG,IACT,EAEaT,EAAiB,CAACU,EAAoBC,IAC1C,MAAOC,EAAKC,EAAKC,IAAS,CAC/BC,EAAyBH,EAAKC,CAAG,EACjC,GAAI,CACF,aAAMf,EAAoBY,EAAUE,EAAKC,EAAKF,CAAM,EACpD,MAAMZ,EAAyBW,EAAUG,CAAG,EACrCC,EAAK,CACd,OAASE,EAAO,CACd,OAAOF,EAAKE,CAAK,CACnB,CACF,EAGID,EAA2B,CAACH,EAAcC,IAAkB,CAChE,MAAMI,EAASL,EAAI,MAAM,YAAY,EACjCK,GAAUA,EAAO,CAAC,IACpBJ,EAAI,OAAO,iBAAsB,KAAK,MAAMI,EAAO,CAAC,CAAC,EAEzD,EAEanB,EAAsB,MAAOY,EAAoBE,EAAcC,EAAeF,IAAuB,CAEhH,KAAM,CAAE,MAAAO,EAAO,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUP,CAAG,EAE/CQ,EAAmBb,EAAsBI,EAAI,KAAK,EAClDU,EAAkBV,EAAI,MAAM,2BAC5BW,EAA2BF,GAAoBC,EAEjDC,IACFV,EAAI,OAAO,iBAAsB,IAInC,MAAMW,EAAoBb,GAAQ,2BAC9Ba,IACFX,EAAI,OAAO,kBAAuB,IAIpCA,EAAI,OAAO,gBAAqBU,GAA4BC,EAC5DX,EAAI,OAAO,WAAgB,+BAA+BA,EAAI,OAAO,eAAkB,GAEvF,IAAIY,EACAP,IACFO,EAA8B,MAAMf,EAAS,8BAA8B,+BACzES,EAAQ,EACV,GAGFN,EAAI,OAAO,YACR,MAAM,QAAQ,IAAI,CACjBH,EAAS,iBAAiB,eAAeQ,EAAOL,EAAI,OAAO,eAAkB,EAC7EY,GACEf,EAAS,yBAAyB,qBAAqBQ,EAAOO,CAA2B,CAC7F,CAAC,EAAE,KAAK,CAAC,CAACC,EAAMC,CAAyB,IAAM,CAC7C,GAAIA,GAA6BA,EAA2B,CAC1D,MAAMC,EAAaD,EAA0B,SAAS,IAAKE,GAAYA,EAAQ,SAAS,EACxF,OAAOH,EAAK,OAAQI,GAAQF,EAAW,SAASE,EAAI,EAAE,CAAC,CACzD,CACA,OAAOJ,CACT,CAAC,GAAM,CAAC,CACZ,EAEa3B,EAA2B,MAAOW,EAAoBG,IAAkB,CACnF,KAAM,CAAE,QAAAM,CAAQ,EAAI,EAAAC,QAAa,UAAUP,CAAG,EAC9C,GAAIM,EAAQ,GAAI,CACd,KAAM,CAAE,YAAAY,EAAa,gBAAAtB,CAAgB,EAAII,EAAI,OAEvCmB,EAAY,MAAMtB,EAAS,uBAAuB,cAAcS,EAAQ,EAAE,EAChFN,EAAI,OAAO,iBAAuBJ,EAE9BuB,EAAU,OAAQC,GACT,EAAAC,QAAgB,4BAA4BH,EAAaE,EAAO,SAAUA,EAAO,EAAE,CAC3F,EAHDD,EAKJ,MAAMG,EAAS,MAAMzB,EAAS,sBAAsB,cAAcS,EAAQ,EAAE,EAa5E,GAZAN,EAAI,OAAO,sBAA4BJ,EAEnC0B,EAAO,OAAQF,GACN,EAAAC,QAAgB,4BAA4BH,EAAaE,EAAO,SAAUA,EAAO,EAAE,CAC3F,EAHDE,EAKJtB,EAAI,OAAO,mBAAwBH,EAAS,0BAA0B,QACtEG,EAAI,OAAO,mBAAwBH,EAAS,gBAAgB,QAC5DG,EAAI,OAAO,mBAAwBH,EAAS,yBAAyB,QACrEG,EAAI,OAAO,sBAA2BH,EAAS,qBAAqB,QACpEG,EAAI,OAAO,oBAAyBH,EAAS,2BAA2B,QAEpEG,EAAI,OAAO,mBAAuB,CACpC,MAAMuB,EAAY,MAAM1B,EAAS,gBAAgB,gBAAgBS,EAAQ,EAAE,EAC3EN,EAAI,OAAO,UAAgBJ,EAEvB2B,EAAU,OAAQC,GACT,EAAAH,QAAgB,4BAA4BH,EAAaM,EAAS,SAAUA,EAAS,EAAE,CAC/F,EAHDD,CAIN,CACF,CACF,EAEA,IAAOvC,EAAQG",
6
6
  "names": ["setUpDprResources_exports", "__export", "setUpDprResources_default", "populateDefinitions", "populateRequestedReports", "setupResources", "__toCommonJS", "import_definitionUtils", "import_localsHelper", "getQueryParamAsString", "query", "name", "getDefinitionsPath", "deriveDefinitionsPath", "definitionsPath", "services", "config", "req", "res", "next", "populateValidationErrors", "error", "errors", "token", "dprUser", "localsHelper", "dpdPathFromQuery", "dpdPathFromBody", "definitionsPathFromQuery", "dpdPathFromConfig", "selectedProductCollectionId", "defs", "selectedProductCollection", "productIds", "product", "def", "definitions", "requested", "report", "DefinitionUtils", "recent", "bookmarks", "bookmark"]
7
7
  }
@@ -1,9 +1,19 @@
1
+ import { expect, jest } from '@jest/globals'
1
2
  import { Response, Request } from 'express'
2
3
 
3
4
  import { Services } from '../types/Services'
4
5
  import * as Middleware from './setUpDprResources'
5
6
  import { RecentlyViewedReport } from '../types/UserReports'
6
- import { DownloadPermissionService, RequestedReportService, ReportingService, BookmarkService } from '../services'
7
+ import {
8
+ DownloadPermissionService,
9
+ RequestedReportService,
10
+ ReportingService,
11
+ BookmarkService,
12
+ DefaultFilterValuesService,
13
+ } from '../services'
14
+ import { ProductCollectionService } from '../services/productCollection/productCollectionService'
15
+ import MissingReportService from '../services/missingReport/missingReportService'
16
+ import { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'
7
17
 
8
18
  describe('setUpDprResources', () => {
9
19
  describe('populateRequestedReports', () => {
@@ -11,27 +21,56 @@ describe('setUpDprResources', () => {
11
21
  let bookmarkService: BookmarkService
12
22
  let recentlyViewedService: RecentlyViewedReport
13
23
  let downloadPermissionService: DownloadPermissionService
24
+ let productCollectionService: ProductCollectionService
25
+ let defaultFilterValuesService: DefaultFilterValuesService
26
+ let productCollectionStoreService: ProductCollectionStoreService
27
+ let missingReportService: MissingReportService
14
28
  let services: Services
15
29
  let res: Response
16
30
 
17
31
  beforeEach(() => {
18
32
  requestedReportService = {
19
- getAllReports: jest.fn().mockResolvedValue([]),
33
+ getAllReports: jest.fn().mockReturnValueOnce([]),
20
34
  } as unknown as RequestedReportService
21
35
 
22
36
  recentlyViewedService = {
23
- getAllReports: jest.fn().mockResolvedValue([]),
37
+ getAllReports: jest.fn().mockReturnValueOnce([]),
24
38
  } as unknown as RecentlyViewedReport
25
39
 
26
40
  bookmarkService = {
27
- getAllBookmarks: jest.fn().mockResolvedValue([]),
41
+ getAllBookmarks: jest.fn().mockReturnValueOnce([]),
42
+ enabled: true,
28
43
  } as unknown as BookmarkService
29
44
 
30
- downloadPermissionService = {} as unknown as DownloadPermissionService
45
+ downloadPermissionService = {
46
+ enabled: true,
47
+ } as unknown as DownloadPermissionService
48
+
49
+ productCollectionService = {
50
+ enabled: true,
51
+ } as unknown as ProductCollectionService
52
+
53
+ productCollectionStoreService = {
54
+ enabled: true,
55
+ } as unknown as ProductCollectionStoreService
56
+
57
+ defaultFilterValuesService = {
58
+ enabled: true,
59
+ } as unknown as DefaultFilterValuesService
60
+
61
+ missingReportService = {
62
+ enabled: true,
63
+ } as unknown as MissingReportService
31
64
 
32
65
  services = {
33
66
  requestedReportService,
34
67
  recentlyViewedService,
68
+ productCollectionService,
69
+ productCollectionStoreService,
70
+ missingReportService,
71
+ defaultFilterValuesService,
72
+ downloadPermissionService,
73
+ bookmarkService,
35
74
  } as unknown as Services
36
75
 
37
76
  res = {
@@ -49,8 +88,8 @@ describe('setUpDprResources', () => {
49
88
 
50
89
  expect(services.requestedReportService.getAllReports).toHaveBeenCalledWith('Uu1d')
51
90
  expect(services.recentlyViewedService.getAllReports).toHaveBeenCalledWith('Uu1d')
52
- expect(res.locals.bookmarkingEnabled).toBeUndefined()
53
- expect(res.locals.downloadingEnabled).toBeUndefined()
91
+ expect(res.locals['bookmarkingEnabled']).toBeTruthy()
92
+ expect(res.locals['downloadingEnabled']).toBeTruthy()
54
93
  })
55
94
 
56
95
  it('should get the bookmarks', async () => {
@@ -62,9 +101,9 @@ describe('setUpDprResources', () => {
62
101
 
63
102
  expect(services.requestedReportService.getAllReports).toHaveBeenCalledWith('Uu1d')
64
103
  expect(services.recentlyViewedService.getAllReports).toHaveBeenCalledWith('Uu1d')
65
- expect(res.locals.bookmarkingEnabled).toBeTruthy()
104
+ expect(res.locals['bookmarkingEnabled']).toBeTruthy()
66
105
  expect(services.bookmarkService.getAllBookmarks).toHaveBeenCalledWith('Uu1d')
67
- expect(res.locals.downloadingEnabled).toBeUndefined()
106
+ expect(res.locals['downloadingEnabled']).toBeTruthy()
68
107
  })
69
108
 
70
109
  it('should enable downloading', async () => {
@@ -77,9 +116,9 @@ describe('setUpDprResources', () => {
77
116
 
78
117
  expect(services.requestedReportService.getAllReports).toHaveBeenCalledWith('Uu1d')
79
118
  expect(services.recentlyViewedService.getAllReports).toHaveBeenCalledWith('Uu1d')
80
- expect(res.locals.bookmarkingEnabled).toBeTruthy()
119
+ expect(res.locals['bookmarkingEnabled']).toBeTruthy()
81
120
  expect(services.bookmarkService.getAllBookmarks).toHaveBeenCalledWith('Uu1d')
82
- expect(res.locals.downloadingEnabled).toBeTruthy()
121
+ expect(res.locals['downloadingEnabled']).toBeTruthy()
83
122
  })
84
123
  })
85
124
 
@@ -129,23 +168,23 @@ describe('setUpDprResources', () => {
129
168
  await Middleware.populateDefinitions(services, req, res, {
130
169
  dataProductDefinitionsPath: 'dpd/path/from/config',
131
170
  })
132
- expect(res.locals.dpdPathFromConfig).toBeTruthy()
133
- expect(res.locals.dpdPathFromQuery).toBeFalsy()
134
- expect(res.locals.definitionsPath).toEqual('dpd/path/from/config')
135
- expect(res.locals.pathSuffix).toEqual('?dataProductDefinitionsPath=dpd/path/from/config')
171
+ expect(res.locals['dpdPathFromConfig']).toBeTruthy()
172
+ expect(res.locals['dpdPathFromQuery']).toBeFalsy()
173
+ expect(res.locals['definitionsPath']).toEqual('dpd/path/from/config')
174
+ expect(res.locals['pathSuffix']).toEqual('?dataProductDefinitionsPath=dpd/path/from/config')
136
175
  expect(services.reportingService.getDefinitions).toHaveBeenCalledWith('T0k3n', 'dpd/path/from/config')
137
176
  })
138
177
 
139
178
  it('should get the definitions and override the config DPD path with DPD path from query', async () => {
140
- req.query.dataProductDefinitionsPath = 'dpd/path/from/query'
179
+ req.query['dataProductDefinitionsPath'] = 'dpd/path/from/query'
141
180
 
142
181
  await Middleware.populateDefinitions(services, req, res, {
143
182
  dataProductDefinitionsPath: 'dpd/path/from/config',
144
183
  })
145
- expect(res.locals.dpdPathFromConfig).toBeTruthy()
146
- expect(res.locals.dpdPathFromQuery).toBeTruthy()
147
- expect(res.locals.definitionsPath).toEqual('dpd/path/from/query')
148
- expect(res.locals.pathSuffix).toEqual('?dataProductDefinitionsPath=dpd/path/from/query')
184
+ expect(res.locals['dpdPathFromConfig']).toBeTruthy()
185
+ expect(res.locals['dpdPathFromQuery']).toBeTruthy()
186
+ expect(res.locals['definitionsPath']).toEqual('dpd/path/from/query')
187
+ expect(res.locals['pathSuffix']).toEqual('?dataProductDefinitionsPath=dpd/path/from/query')
149
188
  expect(services.reportingService.getDefinitions).toHaveBeenCalledWith('T0k3n', 'dpd/path/from/query')
150
189
  })
151
190
  })
@@ -36,7 +36,7 @@ export const setupResources = (services: Services, config?: DprConfig): RequestH
36
36
  const populateValidationErrors = (req: Request, res: Response) => {
37
37
  const errors = req.flash(`DPR_ERRORS`)
38
38
  if (errors && errors[0]) {
39
- res.locals.validationErrors = JSON.parse(errors[0])
39
+ res.locals['validationErrors'] = JSON.parse(errors[0])
40
40
  }
41
41
  }
42
42
 
@@ -49,37 +49,38 @@ export const populateDefinitions = async (services: Services, req: Request, res:
49
49
  const definitionsPathFromQuery = dpdPathFromQuery || dpdPathFromBody
50
50
 
51
51
  if (definitionsPathFromQuery) {
52
- res.locals.dpdPathFromQuery = true
52
+ res.locals['dpdPathFromQuery'] = true
53
53
  }
54
54
 
55
55
  // Get the DPD path from the config
56
56
  const dpdPathFromConfig = config?.dataProductDefinitionsPath
57
57
  if (dpdPathFromConfig) {
58
- res.locals.dpdPathFromConfig = true
58
+ res.locals['dpdPathFromConfig'] = true
59
59
  }
60
60
 
61
61
  // query takes presedence over config
62
- res.locals.definitionsPath = definitionsPathFromQuery || dpdPathFromConfig
63
- res.locals.pathSuffix = `?dataProductDefinitionsPath=${res.locals.definitionsPath}`
62
+ res.locals['definitionsPath'] = definitionsPathFromQuery || dpdPathFromConfig
63
+ res.locals['pathSuffix'] = `?dataProductDefinitionsPath=${res.locals['definitionsPath']}`
64
64
 
65
- if (token && services.reportingService) {
66
- const selectedProductCollectionId = await services.productCollectionStoreService.getSelectedProductCollectionId(
65
+ let selectedProductCollectionId: string | undefined
66
+ if (token) {
67
+ selectedProductCollectionId = await services.productCollectionStoreService.getSelectedProductCollectionId(
67
68
  dprUser.id,
68
69
  )
69
-
70
- res.locals.definitions =
71
- (await Promise.all([
72
- services.reportingService.getDefinitions(token, res.locals.definitionsPath),
73
- selectedProductCollectionId &&
74
- services.productCollectionService.getProductCollection(dprUser.id, selectedProductCollectionId),
75
- ]).then(([defs, selectedProductCollection]) => {
76
- if (selectedProductCollection && selectedProductCollection) {
77
- const productIds = selectedProductCollection.products.map((product) => product.productId)
78
- return defs.filter((def) => productIds.includes(def.id))
79
- }
80
- return defs
81
- })) ?? []
82
70
  }
71
+
72
+ res.locals['definitions'] =
73
+ (await Promise.all([
74
+ services.reportingService.getDefinitions(token, res.locals['definitionsPath']),
75
+ selectedProductCollectionId &&
76
+ services.productCollectionService.getProductCollection(token, selectedProductCollectionId),
77
+ ]).then(([defs, selectedProductCollection]) => {
78
+ if (selectedProductCollection && selectedProductCollection) {
79
+ const productIds = selectedProductCollection.products.map((product) => product.productId)
80
+ return defs.filter((def) => productIds.includes(def.id))
81
+ }
82
+ return defs
83
+ })) ?? []
83
84
  }
84
85
 
85
86
  export const populateRequestedReports = async (services: Services, res: Response) => {
@@ -88,33 +89,33 @@ export const populateRequestedReports = async (services: Services, res: Response
88
89
  const { definitions, definitionsPath } = res.locals
89
90
 
90
91
  const requested = await services.requestedReportService.getAllReports(dprUser.id)
91
- res.locals.requestedReports = !definitionsPath
92
+ res.locals['requestedReports'] = !definitionsPath
92
93
  ? requested
93
94
  : requested.filter((report: RequestedReport) => {
94
95
  return DefinitionUtils.getCurrentVariantDefinition(definitions, report.reportId, report.id)
95
96
  })
96
97
 
97
98
  const recent = await services.recentlyViewedService.getAllReports(dprUser.id)
98
- res.locals.recentlyViewedReports = !definitionsPath
99
+ res.locals['recentlyViewedReports'] = !definitionsPath
99
100
  ? recent
100
101
  : recent.filter((report: StoredReportData) => {
101
102
  return DefinitionUtils.getCurrentVariantDefinition(definitions, report.reportId, report.id)
102
103
  })
103
104
 
104
- if (services.bookmarkService) {
105
- res.locals.bookmarkingEnabled = true
105
+ res.locals['downloadingEnabled'] = services.downloadPermissionService.enabled
106
+ res.locals['bookmarkingEnabled'] = services.bookmarkService.enabled
107
+ res.locals['collectionsEnabled'] = services.productCollectionService.enabled
108
+ res.locals['requestMissingEnabled'] = services.missingReportService.enabled
109
+ res.locals['saveDefaultsEnabled'] = services.defaultFilterValuesService.enabled
106
110
 
111
+ if (res.locals['bookmarkingEnabled']) {
107
112
  const bookmarks = await services.bookmarkService.getAllBookmarks(dprUser.id)
108
- res.locals.bookmarks = !definitionsPath
113
+ res.locals['bookmarks'] = !definitionsPath
109
114
  ? bookmarks
110
115
  : bookmarks.filter((bookmark: BookmarkStoreData) => {
111
116
  return DefinitionUtils.getCurrentVariantDefinition(definitions, bookmark.reportId, bookmark.id)
112
117
  })
113
118
  }
114
-
115
- if (services.downloadPermissionService) {
116
- res.locals.downloadingEnabled = true
117
- }
118
119
  }
119
120
  }
120
121
 
@@ -1,2 +1,2 @@
1
- var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},c=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of u(e))!d.call(t,s)&&s!==r&&a(t,s,{get:()=>e[s],enumerable:!(l=n(e,s))||l.enumerable});return t};var R=t=>c(a({},"__esModule",{value:!0}),t);var m={};p(m,{default:()=>f,setupNestedRoute:()=>o});module.exports=R(m);const o=()=>async(t,e,r)=>{e.locals.nestedBaseUrl=t.baseUrl,r()};var f=o;0&&(module.exports={setupNestedRoute});
1
+ "use strict";var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},c=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of u(e))!d.call(t,s)&&s!==r&&a(t,s,{get:()=>e[s],enumerable:!(l=n(e,s))||l.enumerable});return t};var R=t=>c(a({},"__esModule",{value:!0}),t);var m={};p(m,{default:()=>f,setupNestedRoute:()=>o});module.exports=R(m);const o=()=>async(t,e,r)=>{e.locals.nestedBaseUrl=t.baseUrl,r()};var f=o;0&&(module.exports={setupNestedRoute});
2
2
  //# sourceMappingURL=setUpNestedRoute.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/middleware/setUpNestedRoute.ts"],
4
- "sourcesContent": ["import { RequestHandler } from 'express'\n\nexport const setupNestedRoute = (): RequestHandler => {\n return async (req, res, next) => {\n res.locals.nestedBaseUrl = req.baseUrl\n next()\n }\n}\n\nexport default setupNestedRoute\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,qBAAAC,IAAA,eAAAC,EAAAJ,GAEO,MAAMG,EAAmB,IACvB,MAAOE,EAAKC,EAAKC,IAAS,CAC/BD,EAAI,OAAO,cAAgBD,EAAI,QAC/BE,EAAK,CACP,EAGF,IAAOL,EAAQC",
4
+ "sourcesContent": ["import { RequestHandler } from 'express'\n\nexport const setupNestedRoute = (): RequestHandler => {\n return async (req, res, next) => {\n res.locals['nestedBaseUrl'] = req.baseUrl\n next()\n }\n}\n\nexport default setupNestedRoute\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,qBAAAC,IAAA,eAAAC,EAAAJ,GAEO,MAAMG,EAAmB,IACvB,MAAOE,EAAKC,EAAKC,IAAS,CAC/BD,EAAI,OAAO,cAAmBD,EAAI,QAClCE,EAAK,CACP,EAGF,IAAOL,EAAQC",
6
6
  "names": ["setUpNestedRoute_exports", "__export", "setUpNestedRoute_default", "setupNestedRoute", "__toCommonJS", "req", "res", "next"]
7
7
  }
@@ -2,7 +2,7 @@ import { RequestHandler } from 'express'
2
2
 
3
3
  export const setupNestedRoute = (): RequestHandler => {
4
4
  return async (req, res, next) => {
5
- res.locals.nestedBaseUrl = req.baseUrl
5
+ res.locals['nestedBaseUrl'] = req.baseUrl
6
6
  next()
7
7
  }
8
8
  }
@@ -1,2 +1,2 @@
1
- var c=Object.create;var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var y=(e,r)=>{for(var t in r)s(e,t,{get:r[t],enumerable:!0})},u=(e,r,t,m)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of g(r))!v.call(e,o)&&o!==t&&s(e,o,{get:()=>r[o],enumerable:!(m=d(r,o))||m.enumerable});return e};var i=(e,r,t)=>(t=e!=null?c(l(e)):{},u(r||!e||!e.__esModule?s(t,"default",{value:e,enumerable:!0}):t,e)),R=e=>u(s({},"__esModule",{value:!0}),e);var b={};y(b,{default:()=>S});module.exports=R(b);var p=require("express"),n=i(require("../utils/logger")),f=i(require("./journeys/routes")),a=i(require("../middleware/setUpNestedRoute"));function P(e){n.default.info("Initialiasing DPR Embedded reports routes...");const r=(0,p.Router)({mergeParams:!0});return r.use("/",(0,a.default)(),(0,f.default)(e)),r}var S=P;
1
+ "use strict";var c=Object.create;var i=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var R=(e,r)=>{for(var t in r)i(e,t,{get:r[t],enumerable:!0})},m=(e,r,t,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of l(r))!y.call(e,o)&&o!==t&&i(e,o,{get:()=>r[o],enumerable:!(u=g(r,o))||u.enumerable});return e};var s=(e,r,t)=>(t=e!=null?c(v(e)):{},m(r||!e||!e.__esModule?i(t,"default",{value:e,enumerable:!0}):t,e)),P=e=>m(i({},"__esModule",{value:!0}),e);var h={};R(h,{default:()=>d});module.exports=P(h);var n=require("express"),p=s(require("../utils/logger")),f=s(require("./journeys/routes")),a=s(require("../middleware/setUpNestedRoute"));function S(e){p.default.info("Initialiasing DPR routes...");const r=(0,n.Router)({mergeParams:!0});return r.use("/",(0,a.default)(),(0,f.default)(e)),r}var d=S;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/routes/index.ts"],
4
- "sourcesContent": ["import { Router } from 'express'\nimport type { Services } from '../types/Services'\nimport logger from '../utils/logger'\nimport JourneyRoutes from './journeys/routes'\n// middleware\nimport setUpNestedRoute from '../middleware/setUpNestedRoute'\n\nfunction routes(routeImportParams: { services: Services; layoutPath: string }) {\n logger.info('Initialiasing DPR Embedded reports routes...')\n\n const router = Router({ mergeParams: true })\n router.use('/', setUpNestedRoute(), JourneyRoutes(routeImportParams))\n return router\n}\n\nexport default routes\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,mBAEvBC,EAAmB,8BACnBC,EAA0B,gCAE1BC,EAA6B,6CAE7B,SAASC,EAAOC,EAA+D,CAC7E,EAAAC,QAAO,KAAK,8CAA8C,EAE1D,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAC3C,OAAAA,EAAO,IAAI,OAAK,EAAAC,SAAiB,KAAG,EAAAC,SAAcJ,CAAiB,CAAC,EAC7DE,CACT,CAEA,IAAOT,EAAQM",
4
+ "sourcesContent": ["import { Router } from 'express'\nimport type { Services } from '../types/Services'\nimport logger from '../utils/logger'\nimport JourneyRoutes from './journeys/routes'\n// middleware\nimport setUpNestedRoute from '../middleware/setUpNestedRoute'\n\nfunction routes(routeImportParams: { services: Services; layoutPath: string }) {\n logger.info('Initialiasing DPR routes...')\n const router = Router({ mergeParams: true })\n router.use('/', setUpNestedRoute(), JourneyRoutes(routeImportParams))\n return router\n}\n\nexport default routes\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,mBAEvBC,EAAmB,8BACnBC,EAA0B,gCAE1BC,EAA6B,6CAE7B,SAASC,EAAOC,EAA+D,CAC7E,EAAAC,QAAO,KAAK,6BAA6B,EACzC,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAC3C,OAAAA,EAAO,IAAI,OAAK,EAAAC,SAAiB,KAAG,EAAAC,SAAcJ,CAAiB,CAAC,EAC7DE,CACT,CAEA,IAAOT,EAAQM",
6
6
  "names": ["routes_exports", "__export", "routes_default", "__toCommonJS", "import_express", "import_logger", "import_routes", "import_setUpNestedRoute", "routes", "routeImportParams", "logger", "router", "setUpNestedRoute", "JourneyRoutes"]
7
7
  }
@@ -6,8 +6,7 @@ import JourneyRoutes from './journeys/routes'
6
6
  import setUpNestedRoute from '../middleware/setUpNestedRoute'
7
7
 
8
8
  function routes(routeImportParams: { services: Services; layoutPath: string }) {
9
- logger.info('Initialiasing DPR Embedded reports routes...')
10
-
9
+ logger.info('Initialiasing DPR routes...')
11
10
  const router = Router({ mergeParams: true })
12
11
  router.use('/', setUpNestedRoute(), JourneyRoutes(routeImportParams))
13
12
  return router
@@ -1,2 +1,2 @@
1
- var y=Object.create;var a=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var b=(o,e)=>{for(var r in e)a(o,r,{get:e[r],enumerable:!0})},c=(o,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of S(e))!R.call(o,t)&&t!==r&&a(o,t,{get:()=>e[t],enumerable:!(i=P(e,t))||i.enumerable});return o};var p=(o,e,r)=>(r=o!=null?y(D(o)):{},c(e||!o||!o.__esModule?a(r,"default",{value:o,enumerable:!0}):r,o)),g=o=>c(a({},"__esModule",{value:!0}),o);var H={};b(H,{DownloadReportController:()=>l,default:()=>x});module.exports=g(H);var m=p(require("../../../utils/localsHelper")),u=p(require("./utils"));class l{constructor(e,r){this.POST=async(e,r,i)=>{const{dprUser:t}=m.default.getValues(r),{reportId:w,id:v,loadType:f,currentUrl:h,currentQueryParams:d}=e.body;let s=`${h}/download-disabled`;s=d?`${s}${d}`:s;const{downloadPermissionService:n}=this.services;(n?await n.downloadEnabled(t.id,w,v):!1)?await u.default.downloadReport({req:e,res:r,services:this.services,redirect:s,loadType:f}):r.redirect(s)};this.layoutPath=e,this.services=r}}var x=l;0&&(module.exports={DownloadReportController});
1
+ "use strict";var R=Object.create;var i=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var S=(r,e)=>{for(var o in e)i(r,o,{get:e[o],enumerable:!0})},n=(r,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of h(e))!P.call(r,t)&&t!==o&&i(r,t,{get:()=>e[t],enumerable:!(a=f(e,t))||a.enumerable});return r};var c=(r,e,o)=>(o=r!=null?R(y(r)):{},n(e||!r||!r.__esModule?i(o,"default",{value:r,enumerable:!0}):o,r)),D=r=>n(i({},"__esModule",{value:!0}),r);var g={};S(g,{DownloadReportController:()=>d,default:()=>b});module.exports=D(g);var p=c(require("../../../utils/localsHelper")),m=c(require("./utils"));class d{constructor(e,o){this.POST=async(e,o)=>{const{dprUser:a}=p.default.getValues(o),{reportId:t,id:u,loadType:w,currentUrl:v,currentQueryParams:l}=e.body;let s=`${v}/download-disabled`;s=l?`${s}${l}`:s,await this.services.downloadPermissionService.downloadEnabledForReport(a.id,t,u)?await m.default.downloadReport({req:e,res:o,services:this.services,redirect:s,loadType:w}):o.redirect(s)};this.layoutPath=e,this.services=o}}var b=d;0&&(module.exports={DownloadReportController});
2
2
  //# sourceMappingURL=controller.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/routes/journeys/download-report/controller.ts"],
4
- "sourcesContent": ["import { RequestHandler } from 'express'\nimport LocalsHelper from '../../../utils/localsHelper'\nimport DownloadUtils from './utils'\nimport { Services } from '../../../types/Services'\n\nclass DownloadReportController {\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 POST: RequestHandler = async (req, res, next) => {\n const { dprUser } = LocalsHelper.getValues(res)\n const { reportId, id, loadType, currentUrl, currentQueryParams } = req.body\n\n let redirect = `${currentUrl}/download-disabled`\n redirect = currentQueryParams ? `${redirect}${currentQueryParams}` : redirect\n\n const { downloadPermissionService } = this.services\n const canDownload = downloadPermissionService\n ? await downloadPermissionService.downloadEnabled(dprUser.id, reportId, id)\n : false\n\n if (canDownload) {\n await DownloadUtils.downloadReport({ req, res, services: this.services, redirect, loadType })\n } else {\n res.redirect(redirect)\n }\n }\n}\n\nexport { DownloadReportController }\nexport default DownloadReportController\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAyB,0CACzBC,EAA0B,sBAG1B,MAAMJ,CAAyB,CAK7B,YAAYK,EAAoBC,EAAoB,CAKpD,UAAuB,MAAOC,EAAKC,EAAKC,IAAS,CAC/C,KAAM,CAAE,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUH,CAAG,EACxC,CAAE,SAAAI,EAAU,GAAAC,EAAI,SAAAC,EAAU,WAAAC,EAAY,mBAAAC,CAAmB,EAAIT,EAAI,KAEvE,IAAIU,EAAW,GAAGF,CAAU,qBAC5BE,EAAWD,EAAqB,GAAGC,CAAQ,GAAGD,CAAkB,GAAKC,EAErE,KAAM,CAAE,0BAAAC,CAA0B,EAAI,KAAK,UACvBA,EAChB,MAAMA,EAA0B,gBAAgBR,EAAQ,GAAIE,EAAUC,CAAE,EACxE,IAGF,MAAM,EAAAM,QAAc,eAAe,CAAE,IAAAZ,EAAK,IAAAC,EAAK,SAAU,KAAK,SAAU,SAAAS,EAAU,SAAAH,CAAS,CAAC,EAE5FN,EAAI,SAASS,CAAQ,CAEzB,EArBE,KAAK,WAAaZ,EAClB,KAAK,SAAWC,CAClB,CAoBF,CAGA,IAAOL,EAAQD",
6
- "names": ["controller_exports", "__export", "DownloadReportController", "controller_default", "__toCommonJS", "import_localsHelper", "import_utils", "layoutPath", "services", "req", "res", "next", "dprUser", "LocalsHelper", "reportId", "id", "loadType", "currentUrl", "currentQueryParams", "redirect", "downloadPermissionService", "DownloadUtils"]
4
+ "sourcesContent": ["import { RequestHandler } from 'express'\nimport LocalsHelper from '../../../utils/localsHelper'\nimport DownloadUtils from './utils'\nimport { Services } from '../../../types/Services'\n\nclass DownloadReportController {\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 POST: RequestHandler = async (req, res) => {\n const { dprUser } = LocalsHelper.getValues(res)\n const { reportId, id, loadType, currentUrl, currentQueryParams } = req.body\n\n let redirect = `${currentUrl}/download-disabled`\n redirect = currentQueryParams ? `${redirect}${currentQueryParams}` : redirect\n\n const canDownloadReport = await this.services.downloadPermissionService.downloadEnabledForReport(\n dprUser.id,\n reportId,\n id,\n )\n\n if (canDownloadReport) {\n await DownloadUtils.downloadReport({ req, res, services: this.services, redirect, loadType })\n } else {\n res.redirect(redirect)\n }\n }\n}\n\nexport { DownloadReportController }\nexport default DownloadReportController\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAyB,0CACzBC,EAA0B,sBAG1B,MAAMJ,CAAyB,CAK7B,YAAYK,EAAoBC,EAAoB,CAKpD,UAAuB,MAAOC,EAAKC,IAAQ,CACzC,KAAM,CAAE,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUF,CAAG,EACxC,CAAE,SAAAG,EAAU,GAAAC,EAAI,SAAAC,EAAU,WAAAC,EAAY,mBAAAC,CAAmB,EAAIR,EAAI,KAEvE,IAAIS,EAAW,GAAGF,CAAU,qBAC5BE,EAAWD,EAAqB,GAAGC,CAAQ,GAAGD,CAAkB,GAAKC,EAE3C,MAAM,KAAK,SAAS,0BAA0B,yBACtEP,EAAQ,GACRE,EACAC,CACF,EAGE,MAAM,EAAAK,QAAc,eAAe,CAAE,IAAAV,EAAK,IAAAC,EAAK,SAAU,KAAK,SAAU,SAAAQ,EAAU,SAAAH,CAAS,CAAC,EAE5FL,EAAI,SAASQ,CAAQ,CAEzB,EAtBE,KAAK,WAAaX,EAClB,KAAK,SAAWC,CAClB,CAqBF,CAGA,IAAOL,EAAQD",
6
+ "names": ["controller_exports", "__export", "DownloadReportController", "controller_default", "__toCommonJS", "import_localsHelper", "import_utils", "layoutPath", "services", "req", "res", "dprUser", "LocalsHelper", "reportId", "id", "loadType", "currentUrl", "currentQueryParams", "redirect", "DownloadUtils"]
7
7
  }
@@ -13,19 +13,20 @@ class DownloadReportController {
13
13
  this.services = services
14
14
  }
15
15
 
16
- POST: RequestHandler = async (req, res, next) => {
16
+ POST: RequestHandler = async (req, res) => {
17
17
  const { dprUser } = LocalsHelper.getValues(res)
18
18
  const { reportId, id, loadType, currentUrl, currentQueryParams } = req.body
19
19
 
20
20
  let redirect = `${currentUrl}/download-disabled`
21
21
  redirect = currentQueryParams ? `${redirect}${currentQueryParams}` : redirect
22
22
 
23
- const { downloadPermissionService } = this.services
24
- const canDownload = downloadPermissionService
25
- ? await downloadPermissionService.downloadEnabled(dprUser.id, reportId, id)
26
- : false
23
+ const canDownloadReport = await this.services.downloadPermissionService.downloadEnabledForReport(
24
+ dprUser.id,
25
+ reportId,
26
+ id,
27
+ )
27
28
 
28
- if (canDownload) {
29
+ if (canDownloadReport) {
29
30
  await DownloadUtils.downloadReport({ req, res, services: this.services, redirect, loadType })
30
31
  } else {
31
32
  res.redirect(redirect)
@@ -1,2 +1,2 @@
1
- var R=Object.create;var d=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var I=(r,e)=>{for(var t in e)d(r,t,{get:e[t],enumerable:!0})},g=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of $(e))!C.call(r,o)&&o!==t&&d(r,o,{get:()=>e[o],enumerable:!(n=U(e,o))||n.enumerable});return r};var P=(r,e,t)=>(t=r!=null?R(b(r)):{},g(e||!r||!r.__esModule?d(t,"default",{value:r,enumerable:!0}):t,r)),T=r=>g(d({},"__esModule",{value:!0}),r);var k={};I(k,{RequestDownloadController:()=>h,default:()=>H});module.exports=T(k);var D=P(require("../../../../../utils/localsHelper")),f=require("../../../../../types/UserReports"),w=P(require("../../../../../utils/logger"));class h{constructor(e,t){this.GET=async(e,t,n)=>{const{token:o,csrfToken:m,definitionsPath:p,dprUser:l}=D.default.getValues(t),{reportId:c,variantId:i,tableId:a}=e.params,u=a?f.LoadType.ASYNC:f.LoadType.SYNC,{reportSearch:s,reportUrl:N}=e.query;let S,y;s&&(S=decodeURIComponent(s),y=new URLSearchParams(S).get("dataProductDefinitionsPath")||p);const v=await this.services.reportingService.getDefinition(o,c,i,y);try{t.render("dpr/routes/journeys/download-report/request-download/form/view",{title:"Download request form",user:l,report:{reportId:c,reportName:v.name,variantId:i,variantName:v.variant.name,tableId:a,loadType:u,reportUrl:N,reportSearch:s||void 0,time:new Date().toDateString()},csrfToken:m,layoutPath:this.layoutPath})}catch{n()}};this.POST=async(e,t,n)=>{const{body:o,baseUrl:m}=e,{reportName:p,variantName:l,reportUrl:c,reportSearch:i}=o;w.default.info("Download Feedback Submission:",`${JSON.stringify(o)}`);let a;if(a=`?reportName=${p}&variantName=${l}&reportUrl=${c}`,i){const s=encodeURIComponent(i);a=`${a}&reportSearch=${s}`}const u=`${m}/submitted${a}`;t.redirect(u)};this.layoutPath=e,this.services=t}}var H=h;0&&(module.exports={RequestDownloadController});
1
+ "use strict";var R=Object.create;var d=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var I=(r,e)=>{for(var t in e)d(r,t,{get:e[t],enumerable:!0})},g=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of $(e))!C.call(r,o)&&o!==t&&d(r,o,{get:()=>e[o],enumerable:!(n=U(e,o))||n.enumerable});return r};var P=(r,e,t)=>(t=r!=null?R(b(r)):{},g(e||!r||!r.__esModule?d(t,"default",{value:r,enumerable:!0}):t,r)),T=r=>g(d({},"__esModule",{value:!0}),r);var k={};I(k,{RequestDownloadController:()=>h,default:()=>H});module.exports=T(k);var D=P(require("../../../../../utils/localsHelper")),f=require("../../../../../types/UserReports"),w=P(require("../../../../../utils/logger"));class h{constructor(e,t){this.GET=async(e,t,n)=>{const{token:o,csrfToken:m,definitionsPath:p,dprUser:l}=D.default.getValues(t),{reportId:c,variantId:i,tableId:a}=e.params,u=a?f.LoadType.ASYNC:f.LoadType.SYNC,{reportSearch:s,reportUrl:N}=e.query;let S,y;s&&(S=decodeURIComponent(s),y=new URLSearchParams(S).get("dataProductDefinitionsPath")||p);const v=await this.services.reportingService.getDefinition(o,c,i,y);try{t.render("dpr/routes/journeys/download-report/request-download/form/view",{title:"Download request form",user:l,report:{reportId:c,reportName:v.name,variantId:i,variantName:v.variant.name,tableId:a,loadType:u,reportUrl:N,reportSearch:s||void 0,time:new Date().toDateString()},csrfToken:m,layoutPath:this.layoutPath})}catch{n()}};this.POST=async(e,t,n)=>{const{body:o,baseUrl:m}=e,{reportName:p,variantName:l,reportUrl:c,reportSearch:i}=o;w.default.info("Download Feedback Submission:",`${JSON.stringify(o)}`);let a;if(a=`?reportName=${p}&variantName=${l}&reportUrl=${c}`,i){const s=encodeURIComponent(i);a=`${a}&reportSearch=${s}`}const u=`${m}/submitted${a}`;t.redirect(u)};this.layoutPath=e,this.services=t}}var H=h;0&&(module.exports={RequestDownloadController});
2
2
  //# sourceMappingURL=controller.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/download-report/request-download/form/controller.ts"],
4
- "sourcesContent": ["import { RequestHandler } from 'express'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { components } from '../../../../../types/api'\nimport { Services } from '../../../../../types/Services'\nimport { LoadType } from '../../../../../types/UserReports'\nimport logger from '../../../../../utils/logger'\n\nclass RequestDownloadController {\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 GET: RequestHandler = async (req, res, next) => {\n const { token, csrfToken, definitionsPath, dprUser } = LocalsHelper.getValues(res)\n const { reportId, variantId, tableId } = req.params\n const loadType = tableId ? LoadType.ASYNC : LoadType.SYNC\n\n const { reportSearch, reportUrl } = req.query\n let queryString\n let dataProductDefinitionsPath\n\n if (reportSearch) {\n queryString = decodeURIComponent(<string>reportSearch)\n const params = new URLSearchParams(queryString)\n dataProductDefinitionsPath = params.get('dataProductDefinitionsPath') || definitionsPath\n }\n\n const variantData: components['schemas']['SingleVariantReportDefinition'] =\n await this.services.reportingService.getDefinition(token, reportId, variantId, dataProductDefinitionsPath)\n\n try {\n res.render(`dpr/routes/journeys/download-report/request-download/form/view`, {\n title: 'Download request form',\n user: dprUser,\n report: {\n reportId,\n reportName: variantData.name,\n variantId,\n variantName: variantData.variant.name,\n tableId,\n loadType,\n reportUrl,\n reportSearch: reportSearch || undefined,\n time: new Date().toDateString(),\n },\n csrfToken,\n layoutPath: this.layoutPath,\n })\n } catch (error) {\n next()\n }\n }\n\n POST: RequestHandler = async (req, res, next) => {\n const { body, baseUrl } = req\n const { reportName, variantName, reportUrl, reportSearch } = body\n logger.info('Download Feedback Submission:', `${JSON.stringify(body)}`)\n\n let queryParams\n queryParams = `?reportName=${reportName}&variantName=${variantName}&reportUrl=${reportUrl}`\n\n if (reportSearch) {\n const encodedSearch = encodeURIComponent(reportSearch)\n queryParams = `${queryParams}&reportSearch=${encodedSearch}`\n }\n\n const redirect = `${baseUrl}/submitted${queryParams}`\n\n res.redirect(redirect)\n }\n}\n\nexport { RequestDownloadController }\nexport default RequestDownloadController\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAyB,gDAGzBC,EAAyB,4CACzBC,EAAmB,0CAEnB,MAAML,CAA0B,CAK9B,YAAYM,EAAoBC,EAAoB,CAKpD,SAAsB,MAAOC,EAAKC,EAAKC,IAAS,CAC9C,KAAM,CAAE,MAAAC,EAAO,UAAAC,EAAW,gBAAAC,EAAiB,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUN,CAAG,EAC3E,CAAE,SAAAO,EAAU,UAAAC,EAAW,QAAAC,CAAQ,EAAIV,EAAI,OACvCW,EAAWD,EAAU,WAAS,MAAQ,WAAS,KAE/C,CAAE,aAAAE,EAAc,UAAAC,CAAU,EAAIb,EAAI,MACxC,IAAIc,EACAC,EAEAH,IACFE,EAAc,mBAA2BF,CAAY,EAErDG,EADe,IAAI,gBAAgBD,CAAW,EACV,IAAI,4BAA4B,GAAKT,GAG3E,MAAMW,EACJ,MAAM,KAAK,SAAS,iBAAiB,cAAcb,EAAOK,EAAUC,EAAWM,CAA0B,EAE3G,GAAI,CACFd,EAAI,OAAO,iEAAkE,CAC3E,MAAO,wBACP,KAAMK,EACN,OAAQ,CACN,SAAAE,EACA,WAAYQ,EAAY,KACxB,UAAAP,EACA,YAAaO,EAAY,QAAQ,KACjC,QAAAN,EACA,SAAAC,EACA,UAAAE,EACA,aAAcD,GAAgB,OAC9B,KAAM,IAAI,KAAK,EAAE,aAAa,CAChC,EACA,UAAAR,EACA,WAAY,KAAK,UACnB,CAAC,CACH,MAAgB,CACdF,EAAK,CACP,CACF,EAEA,UAAuB,MAAOF,EAAKC,EAAKC,IAAS,CAC/C,KAAM,CAAE,KAAAe,EAAM,QAAAC,CAAQ,EAAIlB,EACpB,CAAE,WAAAmB,EAAY,YAAAC,EAAa,UAAAP,EAAW,aAAAD,CAAa,EAAIK,EAC7D,EAAAI,QAAO,KAAK,gCAAiC,GAAG,KAAK,UAAUJ,CAAI,CAAC,EAAE,EAEtE,IAAIK,EAGJ,GAFAA,EAAc,eAAeH,CAAU,gBAAgBC,CAAW,cAAcP,CAAS,GAErFD,EAAc,CAChB,MAAMW,EAAgB,mBAAmBX,CAAY,EACrDU,EAAc,GAAGA,CAAW,iBAAiBC,CAAa,EAC5D,CAEA,MAAMC,EAAW,GAAGN,CAAO,aAAaI,CAAW,GAEnDrB,EAAI,SAASuB,CAAQ,CACvB,EA7DE,KAAK,WAAa1B,EAClB,KAAK,SAAWC,CAClB,CA4DF,CAGA,IAAON,EAAQD",
6
- "names": ["controller_exports", "__export", "RequestDownloadController", "controller_default", "__toCommonJS", "import_localsHelper", "import_UserReports", "import_logger", "layoutPath", "services", "req", "res", "next", "token", "csrfToken", "definitionsPath", "dprUser", "LocalsHelper", "reportId", "variantId", "tableId", "loadType", "reportSearch", "reportUrl", "queryString", "dataProductDefinitionsPath", "variantData", "body", "baseUrl", "reportName", "variantName", "logger", "queryParams", "encodedSearch", "redirect"]
4
+ "sourcesContent": ["import { RequestHandler } from 'express'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { components } from '../../../../../types/api'\nimport { Services } from '../../../../../types/Services'\nimport { LoadType } from '../../../../../types/UserReports'\nimport logger from '../../../../../utils/logger'\n\nclass RequestDownloadController {\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 GET: RequestHandler = async (req, res, next) => {\n const { token, csrfToken, definitionsPath, dprUser } = LocalsHelper.getValues(res)\n const { reportId, variantId, tableId } = req.params\n const loadType = tableId ? LoadType.ASYNC : LoadType.SYNC\n\n const { reportSearch, reportUrl } = req.query\n let queryString\n let dataProductDefinitionsPath\n\n if (reportSearch) {\n queryString = decodeURIComponent(<string>reportSearch)\n const params = new URLSearchParams(queryString)\n dataProductDefinitionsPath = params.get('dataProductDefinitionsPath') || definitionsPath\n }\n\n const variantData: components['schemas']['SingleVariantReportDefinition'] =\n await this.services.reportingService.getDefinition(token, reportId, variantId, dataProductDefinitionsPath)\n\n try {\n res.render(`dpr/routes/journeys/download-report/request-download/form/view`, {\n title: 'Download request form',\n user: dprUser,\n report: {\n reportId,\n reportName: variantData.name,\n variantId,\n variantName: variantData.variant.name,\n tableId,\n loadType,\n reportUrl,\n reportSearch: reportSearch || undefined,\n time: new Date().toDateString(),\n },\n csrfToken,\n layoutPath: this.layoutPath,\n })\n } catch (error) {\n next()\n }\n }\n\n POST: RequestHandler = async (req, res, _next) => {\n const { body, baseUrl } = req\n const { reportName, variantName, reportUrl, reportSearch } = body\n logger.info('Download Feedback Submission:', `${JSON.stringify(body)}`)\n\n let queryParams\n queryParams = `?reportName=${reportName}&variantName=${variantName}&reportUrl=${reportUrl}`\n\n if (reportSearch) {\n const encodedSearch = encodeURIComponent(reportSearch)\n queryParams = `${queryParams}&reportSearch=${encodedSearch}`\n }\n\n const redirect = `${baseUrl}/submitted${queryParams}`\n\n res.redirect(redirect)\n }\n}\n\nexport { RequestDownloadController }\nexport default RequestDownloadController\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAyB,gDAGzBC,EAAyB,4CACzBC,EAAmB,0CAEnB,MAAML,CAA0B,CAK9B,YAAYM,EAAoBC,EAAoB,CAKpD,SAAsB,MAAOC,EAAKC,EAAKC,IAAS,CAC9C,KAAM,CAAE,MAAAC,EAAO,UAAAC,EAAW,gBAAAC,EAAiB,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUN,CAAG,EAC3E,CAAE,SAAAO,EAAU,UAAAC,EAAW,QAAAC,CAAQ,EAAIV,EAAI,OACvCW,EAAWD,EAAU,WAAS,MAAQ,WAAS,KAE/C,CAAE,aAAAE,EAAc,UAAAC,CAAU,EAAIb,EAAI,MACxC,IAAIc,EACAC,EAEAH,IACFE,EAAc,mBAA2BF,CAAY,EAErDG,EADe,IAAI,gBAAgBD,CAAW,EACV,IAAI,4BAA4B,GAAKT,GAG3E,MAAMW,EACJ,MAAM,KAAK,SAAS,iBAAiB,cAAcb,EAAOK,EAAUC,EAAWM,CAA0B,EAE3G,GAAI,CACFd,EAAI,OAAO,iEAAkE,CAC3E,MAAO,wBACP,KAAMK,EACN,OAAQ,CACN,SAAAE,EACA,WAAYQ,EAAY,KACxB,UAAAP,EACA,YAAaO,EAAY,QAAQ,KACjC,QAAAN,EACA,SAAAC,EACA,UAAAE,EACA,aAAcD,GAAgB,OAC9B,KAAM,IAAI,KAAK,EAAE,aAAa,CAChC,EACA,UAAAR,EACA,WAAY,KAAK,UACnB,CAAC,CACH,MAAgB,CACdF,EAAK,CACP,CACF,EAEA,UAAuB,MAAOF,EAAKC,EAAKgB,IAAU,CAChD,KAAM,CAAE,KAAAC,EAAM,QAAAC,CAAQ,EAAInB,EACpB,CAAE,WAAAoB,EAAY,YAAAC,EAAa,UAAAR,EAAW,aAAAD,CAAa,EAAIM,EAC7D,EAAAI,QAAO,KAAK,gCAAiC,GAAG,KAAK,UAAUJ,CAAI,CAAC,EAAE,EAEtE,IAAIK,EAGJ,GAFAA,EAAc,eAAeH,CAAU,gBAAgBC,CAAW,cAAcR,CAAS,GAErFD,EAAc,CAChB,MAAMY,EAAgB,mBAAmBZ,CAAY,EACrDW,EAAc,GAAGA,CAAW,iBAAiBC,CAAa,EAC5D,CAEA,MAAMC,EAAW,GAAGN,CAAO,aAAaI,CAAW,GAEnDtB,EAAI,SAASwB,CAAQ,CACvB,EA7DE,KAAK,WAAa3B,EAClB,KAAK,SAAWC,CAClB,CA4DF,CAGA,IAAON,EAAQD",
6
+ "names": ["controller_exports", "__export", "RequestDownloadController", "controller_default", "__toCommonJS", "import_localsHelper", "import_UserReports", "import_logger", "layoutPath", "services", "req", "res", "next", "token", "csrfToken", "definitionsPath", "dprUser", "LocalsHelper", "reportId", "variantId", "tableId", "loadType", "reportSearch", "reportUrl", "queryString", "dataProductDefinitionsPath", "variantData", "_next", "body", "baseUrl", "reportName", "variantName", "logger", "queryParams", "encodedSearch", "redirect"]
7
7
  }
@@ -56,7 +56,7 @@ class RequestDownloadController {
56
56
  }
57
57
  }
58
58
 
59
- POST: RequestHandler = async (req, res, next) => {
59
+ POST: RequestHandler = async (req, res, _next) => {
60
60
  const { body, baseUrl } = req
61
61
  const { reportName, variantName, reportUrl, reportSearch } = body
62
62
  logger.info('Download Feedback Submission:', `${JSON.stringify(body)}`)
@@ -1,2 +1,2 @@
1
- var l=Object.create;var m=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var S=(r,t)=>{for(var e in t)m(r,e,{get:t[e],enumerable:!0})},u=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of d(t))!R.call(r,s)&&s!==e&&m(r,s,{get:()=>t[s],enumerable:!(o=a(t,s))||o.enumerable});return r};var i=(r,t,e)=>(e=r!=null?l(g(r)):{},u(t||!r||!r.__esModule?m(e,"default",{value:r,enumerable:!0}):e,r)),b=r=>u(m({},"__esModule",{value:!0}),r);var w={};S(w,{default:()=>v,routes:()=>f});module.exports=b(w);var n=require("express"),p=i(require("./controller")),c=i(require("./submitted/routes"));function f({layoutPath:r,services:t}){const e=(0,n.Router)({mergeParams:!0}),o=new p.default(r,t);return e.get("/",o.GET),e.post("/",o.POST),e.use("/submitted",(0,c.default)({layoutPath:r,services:t})),e}var v=f;0&&(module.exports={routes});
1
+ "use strict";var l=Object.create;var m=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var S=(r,t)=>{for(var e in t)m(r,e,{get:t[e],enumerable:!0})},u=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of d(t))!R.call(r,s)&&s!==e&&m(r,s,{get:()=>t[s],enumerable:!(o=a(t,s))||o.enumerable});return r};var i=(r,t,e)=>(e=r!=null?l(g(r)):{},u(t||!r||!r.__esModule?m(e,"default",{value:r,enumerable:!0}):e,r)),b=r=>u(m({},"__esModule",{value:!0}),r);var w={};S(w,{default:()=>v,routes:()=>f});module.exports=b(w);var n=require("express"),p=i(require("./controller")),c=i(require("./submitted/routes"));function f({layoutPath:r,services:t}){const e=(0,n.Router)({mergeParams:!0}),o=new p.default(r,t);return e.get("/",o.GET),e.post("/",o.POST),e.use("/submitted",(0,c.default)({layoutPath:r,services:t})),e}var v=f;0&&(module.exports={routes});
2
2
  //# sourceMappingURL=routes.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/download-report/request-download/form/routes.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Router } from 'express'\nimport RequestDownloadController from './controller'\nimport submittedRoutes from './submitted/routes'\nimport { Services } from '../../../../../types/Services'\n\nexport function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {\n const router = Router({ mergeParams: true })\n const controller = new RequestDownloadController(layoutPath, services)\n\n router.get('/', controller.GET)\n router.post('/', controller.POST)\n\n router.use('/submitted', submittedRoutes({ layoutPath, services }))\n\n return router\n}\n\nexport default routes\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBACvBC,EAAsC,2BACtCC,EAA4B,iCAGrB,SAASJ,EAAO,CAAE,WAAAK,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EACrCC,EAAa,IAAI,EAAAC,QAA0BJ,EAAYC,CAAQ,EAErE,OAAAC,EAAO,IAAI,IAAKC,EAAW,GAAG,EAC9BD,EAAO,KAAK,IAAKC,EAAW,IAAI,EAEhCD,EAAO,IAAI,gBAAc,EAAAG,SAAgB,CAAE,WAAAL,EAAY,SAAAC,CAAS,CAAC,CAAC,EAE3DC,CACT,CAEA,IAAOR,EAAQC",
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBACvBC,EAAsC,2BACtCC,EAA4B,iCAGrB,SAASJ,EAAO,CAAE,WAAAK,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EACrCC,EAAa,IAAI,EAAAC,QAA0BJ,EAAYC,CAAQ,EAErE,OAAAC,EAAO,IAAI,IAAKC,EAAW,GAAG,EAC9BD,EAAO,KAAK,IAAKC,EAAW,IAAI,EAEhCD,EAAO,IAAI,gBAAc,EAAAG,SAAgB,CAAE,WAAAL,EAAY,SAAAC,CAAS,CAAC,CAAC,EAE3DC,CACT,CAEA,IAAOR,EAAQC",
6
6
  "names": ["routes_exports", "__export", "routes_default", "routes", "__toCommonJS", "import_express", "import_controller", "import_routes", "layoutPath", "services", "router", "controller", "RequestDownloadController", "submittedRoutes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var w=Object.create;var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},l=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!R.call(r,o)&&o!==t&&s(r,o,{get:()=>e[o],enumerable:!(a=y(e,o))||a.enumerable});return r};var q=(r,e,t)=>(t=r!=null?w(P(r)):{},l(e||!r||!r.__esModule?s(t,"default",{value:r,enumerable:!0}):t,r)),H=r=>l(s({},"__esModule",{value:!0}),r);var D={};g(D,{RequestDownloadSubmittedController:()=>n,default:()=>x});module.exports=H(D);var p=q(require("../../../../../../utils/localsHelper"));class n{constructor(e,t){this.GET=async(e,t,a)=>{const{dprUser:o}=p.default.getValues(t),{reportId:u,variantId:m}=e.params,{reportName:v,variantName:h,reportUrl:d,reportSearch:i}=e.query;let c;i&&(c=decodeURIComponent(i));const f=i?`${d}${c}`:`${d}`;await this.services.downloadPermissionService.saveDownloadPermissionData(o.id,u,m),t.render("dpr/routes/journeys/download-report/request-download/form/submitted/view",{title:"success",layoutPath:this.layoutPath,report:{reportName:v,variantName:h,reportHref:f}})};this.layoutPath=e,this.services=t}}var x=n;0&&(module.exports={RequestDownloadSubmittedController});
1
+ "use strict";var w=Object.create;var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},l=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!R.call(r,o)&&o!==t&&s(r,o,{get:()=>e[o],enumerable:!(a=y(e,o))||a.enumerable});return r};var q=(r,e,t)=>(t=r!=null?w(P(r)):{},l(e||!r||!r.__esModule?s(t,"default",{value:r,enumerable:!0}):t,r)),H=r=>l(s({},"__esModule",{value:!0}),r);var D={};g(D,{RequestDownloadSubmittedController:()=>n,default:()=>x});module.exports=H(D);var p=q(require("../../../../../../utils/localsHelper"));class n{constructor(e,t){this.GET=async(e,t,a)=>{const{dprUser:o}=p.default.getValues(t),{reportId:u,variantId:m}=e.params,{reportName:v,variantName:h,reportUrl:d,reportSearch:i}=e.query;let c;i&&(c=decodeURIComponent(i));const f=i?`${d}${c}`:`${d}`;await this.services.downloadPermissionService.saveDownloadPermissionData(o.id,u,m),t.render("dpr/routes/journeys/download-report/request-download/form/submitted/view",{title:"success",layoutPath:this.layoutPath,report:{reportName:v,variantName:h,reportHref:f}})};this.layoutPath=e,this.services=t}}var x=n;0&&(module.exports={RequestDownloadSubmittedController});
2
2
  //# sourceMappingURL=controller.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../src/dpr/routes/journeys/download-report/request-download/form/submitted/controller.ts"],
4
- "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../../../types/Services'\nimport localsHelper from '../../../../../../utils/localsHelper'\n\nclass RequestDownloadSubmittedController {\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 GET: RequestHandler = async (req, res, next) => {\n const { dprUser } = localsHelper.getValues(res)\n const { reportId, variantId } = req.params\n const { reportName, variantName, reportUrl, reportSearch } = req.query\n\n let decodedReportSearch\n if (reportSearch) {\n decodedReportSearch = decodeURIComponent(<string>reportSearch)\n }\n\n const reportHref = reportSearch ? `${reportUrl}${decodedReportSearch}` : `${reportUrl}`\n\n await this.services.downloadPermissionService.saveDownloadPermissionData(dprUser.id, reportId, variantId)\n\n res.render(`dpr/routes/journeys/download-report/request-download/form/submitted/view`, {\n title: 'success',\n layoutPath: this.layoutPath,\n report: {\n reportName,\n variantName,\n reportHref,\n },\n })\n }\n}\n\nexport { RequestDownloadSubmittedController }\nexport default RequestDownloadSubmittedController\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wCAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAyB,mDAEzB,MAAMH,CAAmC,CAKvC,YAAYI,EAAoBC,EAAoB,CAKpD,SAAsB,MAAOC,EAAKC,EAAKC,IAAS,CAC9C,KAAM,CAAE,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUH,CAAG,EACxC,CAAE,SAAAI,EAAU,UAAAC,CAAU,EAAIN,EAAI,OAC9B,CAAE,WAAAO,EAAY,YAAAC,EAAa,UAAAC,EAAW,aAAAC,CAAa,EAAIV,EAAI,MAEjE,IAAIW,EACAD,IACFC,EAAsB,mBAA2BD,CAAY,GAG/D,MAAME,EAAaF,EAAe,GAAGD,CAAS,GAAGE,CAAmB,GAAK,GAAGF,CAAS,GAErF,MAAM,KAAK,SAAS,0BAA0B,2BAA2BN,EAAQ,GAAIE,EAAUC,CAAS,EAExGL,EAAI,OAAO,2EAA4E,CACrF,MAAO,UACP,WAAY,KAAK,WACjB,OAAQ,CACN,WAAAM,EACA,YAAAC,EACA,WAAAI,CACF,CACF,CAAC,CACH,EA3BE,KAAK,WAAad,EAClB,KAAK,SAAWC,CAClB,CA0BF,CAGA,IAAOJ,EAAQD",
6
- "names": ["controller_exports", "__export", "RequestDownloadSubmittedController", "controller_default", "__toCommonJS", "import_localsHelper", "layoutPath", "services", "req", "res", "next", "dprUser", "localsHelper", "reportId", "variantId", "reportName", "variantName", "reportUrl", "reportSearch", "decodedReportSearch", "reportHref"]
4
+ "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../../../types/Services'\nimport localsHelper from '../../../../../../utils/localsHelper'\n\nclass RequestDownloadSubmittedController {\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 GET: RequestHandler = async (req, res, _next) => {\n const { dprUser } = localsHelper.getValues(res)\n const { reportId, variantId } = req.params\n const { reportName, variantName, reportUrl, reportSearch } = req.query\n\n let decodedReportSearch\n if (reportSearch) {\n decodedReportSearch = decodeURIComponent(<string>reportSearch)\n }\n\n const reportHref = reportSearch ? `${reportUrl}${decodedReportSearch}` : `${reportUrl}`\n\n await this.services.downloadPermissionService.saveDownloadPermissionData(dprUser.id, reportId, variantId)\n\n res.render(`dpr/routes/journeys/download-report/request-download/form/submitted/view`, {\n title: 'success',\n layoutPath: this.layoutPath,\n report: {\n reportName,\n variantName,\n reportHref,\n },\n })\n }\n}\n\nexport { RequestDownloadSubmittedController }\nexport default RequestDownloadSubmittedController\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wCAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAyB,mDAEzB,MAAMH,CAAmC,CAKvC,YAAYI,EAAoBC,EAAoB,CAKpD,SAAsB,MAAOC,EAAKC,EAAKC,IAAU,CAC/C,KAAM,CAAE,QAAAC,CAAQ,EAAI,EAAAC,QAAa,UAAUH,CAAG,EACxC,CAAE,SAAAI,EAAU,UAAAC,CAAU,EAAIN,EAAI,OAC9B,CAAE,WAAAO,EAAY,YAAAC,EAAa,UAAAC,EAAW,aAAAC,CAAa,EAAIV,EAAI,MAEjE,IAAIW,EACAD,IACFC,EAAsB,mBAA2BD,CAAY,GAG/D,MAAME,EAAaF,EAAe,GAAGD,CAAS,GAAGE,CAAmB,GAAK,GAAGF,CAAS,GAErF,MAAM,KAAK,SAAS,0BAA0B,2BAA2BN,EAAQ,GAAIE,EAAUC,CAAS,EAExGL,EAAI,OAAO,2EAA4E,CACrF,MAAO,UACP,WAAY,KAAK,WACjB,OAAQ,CACN,WAAAM,EACA,YAAAC,EACA,WAAAI,CACF,CACF,CAAC,CACH,EA3BE,KAAK,WAAad,EAClB,KAAK,SAAWC,CAClB,CA0BF,CAGA,IAAOJ,EAAQD",
6
+ "names": ["controller_exports", "__export", "RequestDownloadSubmittedController", "controller_default", "__toCommonJS", "import_localsHelper", "layoutPath", "services", "req", "res", "_next", "dprUser", "localsHelper", "reportId", "variantId", "reportName", "variantName", "reportUrl", "reportSearch", "decodedReportSearch", "reportHref"]
7
7
  }
@@ -12,7 +12,7 @@ class RequestDownloadSubmittedController {
12
12
  this.services = services
13
13
  }
14
14
 
15
- GET: RequestHandler = async (req, res, next) => {
15
+ GET: RequestHandler = async (req, res, _next) => {
16
16
  const { dprUser } = localsHelper.getValues(res)
17
17
  const { reportId, variantId } = req.params
18
18
  const { reportName, variantName, reportUrl, reportSearch } = req.query
@@ -1,2 +1,2 @@
1
- var l=Object.create;var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},u=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of f(e))!d.call(r,o)&&o!==t&&s(r,o,{get:()=>e[o],enumerable:!(n=a(e,o))||n.enumerable});return r};var v=(r,e,t)=>(t=r!=null?l(p(r)):{},u(e||!r||!r.__esModule?s(t,"default",{value:r,enumerable:!0}):t,r)),S=r=>u(s({},"__esModule",{value:!0}),r);var x={};g(x,{default:()=>w,routes:()=>c});module.exports=S(x);var i=require("express"),m=v(require("./controller"));function c({layoutPath:r,services:e}){const t=(0,i.Router)({mergeParams:!0}),n=new m.default(r,e);return t.get("/",n.GET),t}var w=c;0&&(module.exports={routes});
1
+ "use strict";var l=Object.create;var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},u=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of f(e))!d.call(r,o)&&o!==t&&s(r,o,{get:()=>e[o],enumerable:!(n=a(e,o))||n.enumerable});return r};var v=(r,e,t)=>(t=r!=null?l(p(r)):{},u(e||!r||!r.__esModule?s(t,"default",{value:r,enumerable:!0}):t,r)),S=r=>u(s({},"__esModule",{value:!0}),r);var x={};g(x,{default:()=>w,routes:()=>c});module.exports=S(x);var i=require("express"),m=v(require("./controller"));function c({layoutPath:r,services:e}){const t=(0,i.Router)({mergeParams:!0}),n=new m.default(r,e);return t.get("/",n.GET),t}var w=c;0&&(module.exports={routes});
2
2
  //# sourceMappingURL=routes.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../src/dpr/routes/journeys/download-report/request-download/form/submitted/routes.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Router } from 'express'\nimport RequestDownloadSubmittedController from './controller'\nimport { Services } from '../../../../../../types/Services'\n\nexport function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {\n const router = Router({ mergeParams: true })\n\n const controller = new RequestDownloadSubmittedController(layoutPath, services)\n router.get(`/`, controller.GET)\n\n return router\n}\n\nexport default routes\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBACvBC,EAA+C,2BAGxC,SAASH,EAAO,CAAE,WAAAI,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAErCC,EAAa,IAAI,EAAAC,QAAmCJ,EAAYC,CAAQ,EAC9E,OAAAC,EAAO,IAAI,IAAKC,EAAW,GAAG,EAEvBD,CACT,CAEA,IAAOP,EAAQC",
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBACvBC,EAA+C,2BAGxC,SAASH,EAAO,CAAE,WAAAI,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAErCC,EAAa,IAAI,EAAAC,QAAmCJ,EAAYC,CAAQ,EAC9E,OAAAC,EAAO,IAAI,IAAKC,EAAW,GAAG,EAEvBD,CACT,CAEA,IAAOP,EAAQC",
6
6
  "names": ["routes_exports", "__export", "routes_default", "routes", "__toCommonJS", "import_express", "import_controller", "layoutPath", "services", "router", "controller", "RequestDownloadSubmittedController"]
7
7
  }