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

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 (348) hide show
  1. package/dpr/DprClientClass.js +43 -0
  2. package/dpr/DprClientClass.js.map +7 -0
  3. package/dpr/{DprClientClass.mjs → DprClientClass.ts} +1 -0
  4. package/dpr/DprFormValidationClass.js +157 -0
  5. package/dpr/DprFormValidationClass.js.map +7 -0
  6. package/dpr/{DprFormValidationClass.mjs → DprFormValidationClass.ts} +2 -1
  7. package/dpr/DprGenericFormClass.js +66 -0
  8. package/dpr/DprGenericFormClass.js.map +7 -0
  9. package/dpr/{DprGenericFormClass.mjs → DprGenericFormClass.ts} +2 -1
  10. package/dpr/DprLoadingHelper.js +51 -0
  11. package/dpr/DprLoadingHelper.js.map +7 -0
  12. package/dpr/{DprLoadingHelper.mjs → DprLoadingHelper.ts} +1 -0
  13. package/dpr/DprPollingStatusClass.js +79 -0
  14. package/dpr/DprPollingStatusClass.js.map +7 -0
  15. package/dpr/{DprPollingStatusClass.mjs → DprPollingStatusClass.ts} +2 -1
  16. package/dpr/DprQueryParamClass.js +231 -0
  17. package/dpr/DprQueryParamClass.js.map +7 -0
  18. package/dpr/{DprQueryParamClass.mjs → DprQueryParamClass.ts} +2 -1
  19. package/dpr/DprSyncLoading.js +44 -0
  20. package/dpr/DprSyncLoading.js.map +7 -0
  21. package/dpr/{DprSyncLoading.mjs → DprSyncLoading.ts} +2 -1
  22. package/dpr/all.js +111 -0
  23. package/dpr/all.js.map +7 -0
  24. package/dpr/{all.mjs → all.ts} +29 -28
  25. package/dpr/assets/app.js +1 -1
  26. package/dpr/assets/app.js.map +2 -2
  27. package/dpr/components/_async/async-filters-form/clientClass.js +76 -0
  28. package/dpr/components/_async/async-filters-form/clientClass.js.map +7 -0
  29. package/dpr/components/_async/async-filters-form/{clientClass.mjs → clientClass.ts} +3 -2
  30. package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
  31. package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
  32. package/dpr/components/_async/async-filters-form/utils.js.map +1 -1
  33. package/dpr/components/_async/async-polling/clientClass.js +78 -0
  34. package/dpr/components/_async/async-polling/clientClass.js.map +7 -0
  35. package/dpr/components/_async/async-polling/{clientClass.mjs → clientClass.ts} +2 -1
  36. package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
  37. package/dpr/components/_catalogue/catalogue/utils.js.map +1 -1
  38. package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js +94 -0
  39. package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js.map +7 -0
  40. package/dpr/components/_catalogue/catalogue-filter-by-type/{clientClass.mjs → clientClass.ts} +2 -1
  41. package/dpr/components/_catalogue/catalogue-filters/clientClass.js +70 -0
  42. package/dpr/components/_catalogue/catalogue-filters/clientClass.js.map +7 -0
  43. package/dpr/components/_catalogue/catalogue-filters/{clientClass.mjs → clientClass.ts} +2 -1
  44. package/dpr/components/_catalogue/catalogue-list/utils.js.map +1 -1
  45. package/dpr/components/_catalogue/catalogue-search/clientClass.js +106 -0
  46. package/dpr/components/_catalogue/catalogue-search/clientClass.js.map +7 -0
  47. package/dpr/components/_catalogue/catalogue-search/{clientClass.mjs → clientClass.ts} +3 -2
  48. package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js +135 -0
  49. package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js.map +7 -0
  50. package/dpr/components/_catalogue/catalogue-unauthorised-toggle/{clientClass.mjs → clientClass.ts} +2 -1
  51. package/dpr/components/_charts/chart/Chart.js.map +1 -1
  52. package/dpr/components/_charts/chart/ChartColours.js.map +1 -1
  53. package/dpr/components/_charts/chart/ChartTimeseries.js.map +1 -1
  54. package/dpr/components/_charts/chart/bar/BarChart.js.map +1 -1
  55. package/dpr/components/_charts/chart/bar/clientClass.js +98 -0
  56. package/dpr/components/_charts/chart/bar/clientClass.js.map +7 -0
  57. package/dpr/components/_charts/chart/bar/{clientClass.mjs → clientClass.ts} +2 -1
  58. package/dpr/components/_charts/chart/bar/types.js.map +1 -1
  59. package/dpr/components/_charts/chart/bar/validate.js.map +1 -1
  60. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +1 -1
  61. package/dpr/components/_charts/chart/bar-timeseries/types.js.map +1 -1
  62. package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +1 -1
  63. package/dpr/components/_charts/chart/buckets/Buckets.js.map +1 -1
  64. package/dpr/components/_charts/chart/buckets/types.js.map +1 -1
  65. package/dpr/components/_charts/chart/buckets/validate.js.map +1 -1
  66. package/dpr/components/_charts/chart/chart-config.js.map +1 -1
  67. package/dpr/components/_charts/chart/clientClass.js +136 -0
  68. package/dpr/components/_charts/chart/clientClass.js.map +7 -0
  69. package/dpr/components/_charts/chart/{clientClass.mjs → clientClass.ts} +2 -1
  70. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +1 -1
  71. package/dpr/components/_charts/chart/doughnut/clientClass.js +170 -0
  72. package/dpr/components/_charts/chart/doughnut/clientClass.js.map +7 -0
  73. package/dpr/components/_charts/chart/doughnut/{clientClass.mjs → clientClass.ts} +2 -1
  74. package/dpr/components/_charts/chart/doughnut/types.js.map +1 -1
  75. package/dpr/components/_charts/chart/doughnut/validate.js.map +1 -1
  76. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +1 -1
  77. package/dpr/components/_charts/chart/heatmap/clientClass.js +118 -0
  78. package/dpr/components/_charts/chart/heatmap/clientClass.js.map +7 -0
  79. package/dpr/components/_charts/chart/heatmap/{clientClass.mjs → clientClass.ts} +2 -1
  80. package/dpr/components/_charts/chart/heatmap/types.js.map +1 -1
  81. package/dpr/components/_charts/chart/heatmap/validate.js.map +1 -1
  82. package/dpr/components/_charts/chart/line/LineChart.js.map +1 -1
  83. package/dpr/components/_charts/chart/line/clientClass.js +93 -0
  84. package/dpr/components/_charts/chart/line/clientClass.js.map +7 -0
  85. package/dpr/components/_charts/chart/line/{clientClass.mjs → clientClass.ts} +2 -1
  86. package/dpr/components/_charts/chart/line/types.js.map +1 -1
  87. package/dpr/components/_charts/chart/line/validate.js.map +1 -1
  88. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +1 -1
  89. package/dpr/components/_charts/chart/line-timeseries/types.js.map +1 -1
  90. package/dpr/components/_charts/chart/line-timeseries/validate.js.map +1 -1
  91. package/dpr/components/_charts/utils.js.map +1 -1
  92. package/dpr/components/_dashboards/dashboard-list/types.js.map +1 -1
  93. package/dpr/components/_dashboards/dashboard-list/utils.js.map +1 -1
  94. package/dpr/components/_dashboards/dashboard-list/validate.js.map +1 -1
  95. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +1 -1
  96. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +1 -1
  97. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +1 -1
  98. package/dpr/components/_dashboards/scorecard/clientClass.js +50 -0
  99. package/dpr/components/_dashboards/scorecard/clientClass.js.map +7 -0
  100. package/dpr/components/_dashboards/scorecard/{clientClass.mjs → clientClass.ts} +2 -1
  101. package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
  102. package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
  103. package/dpr/components/_dashboards/scorecard/validate.js.map +1 -1
  104. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +1 -1
  105. package/dpr/components/_dashboards/scorecard-group/types.js.map +1 -1
  106. package/dpr/components/_dashboards/scorecard-group/validate.js.map +1 -1
  107. package/dpr/components/_filters/filter-input/enum.js.map +1 -1
  108. package/dpr/components/_filters/filter-input/filters.js.map +1 -1
  109. package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
  110. package/dpr/components/_filters/filters-form/clientClass.js +104 -0
  111. package/dpr/components/_filters/filters-form/clientClass.js.map +7 -0
  112. package/dpr/components/_filters/filters-form/{clientClass.mjs → clientClass.ts} +2 -1
  113. package/dpr/components/_filters/filters-interactive/clientClass.js +55 -0
  114. package/dpr/components/_filters/filters-interactive/clientClass.js.map +7 -0
  115. package/dpr/components/_filters/filters-interactive/{clientClass.mjs → clientClass.ts} +2 -1
  116. package/dpr/components/_filters/filters-selected/clientClass.js +396 -0
  117. package/dpr/components/_filters/filters-selected/clientClass.js.map +7 -0
  118. package/dpr/components/_filters/filters-selected/{clientClass.mjs → clientClass.ts} +7 -7
  119. package/dpr/components/_filters/filters-selected/utils.js.map +1 -1
  120. package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
  121. package/dpr/components/_filters/types.d.js.map +1 -1
  122. package/dpr/components/_filters/utils.js.map +1 -1
  123. package/dpr/components/_inputs/autocomplete-text-input/clientClass.js +153 -0
  124. package/dpr/components/_inputs/autocomplete-text-input/clientClass.js.map +7 -0
  125. package/dpr/components/_inputs/autocomplete-text-input/{clientClass.mjs → clientClass.ts} +2 -1
  126. package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +1 -1
  127. package/dpr/components/_inputs/date-input/clientClass.js +109 -0
  128. package/dpr/components/_inputs/date-input/clientClass.js.map +7 -0
  129. package/dpr/components/_inputs/date-input/{clientClass.mjs → clientClass.ts} +2 -1
  130. package/dpr/components/_inputs/date-input/utils.js.map +1 -1
  131. package/dpr/components/_inputs/date-range/clientClass.js +206 -0
  132. package/dpr/components/_inputs/date-range/clientClass.js.map +7 -0
  133. package/dpr/components/_inputs/date-range/{clientClass.mjs → clientClass.ts} +2 -1
  134. package/dpr/components/_inputs/date-range/types.js.map +1 -1
  135. package/dpr/components/_inputs/date-range/utils.js.map +1 -1
  136. package/dpr/components/_inputs/granular-date-range/clientClass.js +245 -0
  137. package/dpr/components/_inputs/granular-date-range/clientClass.js.map +7 -0
  138. package/dpr/components/_inputs/granular-date-range/{clientClass.mjs → clientClass.ts} +2 -1
  139. package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
  140. package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
  141. package/dpr/components/_inputs/multi-select/utils.js.map +1 -1
  142. package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
  143. package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
  144. package/dpr/components/_reports/report-actions/clientClass.js +103 -0
  145. package/dpr/components/_reports/report-actions/clientClass.js.map +7 -0
  146. package/dpr/components/_reports/report-actions/{clientClass.mjs → clientClass.ts} +2 -1
  147. package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
  148. package/dpr/components/_reports/report-actions/utils.js.map +1 -1
  149. package/dpr/components/_reports/report-columns-form/clientClass.js +76 -0
  150. package/dpr/components/_reports/report-columns-form/clientClass.js.map +7 -0
  151. package/dpr/components/_reports/report-columns-form/{clientClass.mjs → clientClass.ts} +2 -1
  152. package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
  153. package/dpr/components/_reports/report-columns-form/utils.js.map +1 -1
  154. package/dpr/components/_reports/report-data-table/clientClass.js +80 -0
  155. package/dpr/components/_reports/report-data-table/clientClass.js.map +7 -0
  156. package/dpr/components/_reports/report-data-table/{clientClass.mjs → clientClass.ts} +2 -1
  157. package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
  158. package/dpr/components/_reports/report-data-table/utils.js.map +1 -1
  159. package/dpr/components/_reports/report-download-message/clientClass.js +42 -0
  160. package/dpr/components/_reports/report-download-message/clientClass.js.map +7 -0
  161. package/dpr/components/_reports/report-download-message/{clientClass.mjs → clientClass.ts} +2 -1
  162. package/dpr/components/_reports/report-pagination/clientClass.js +61 -0
  163. package/dpr/components/_reports/report-pagination/clientClass.js.map +7 -0
  164. package/dpr/components/_reports/report-pagination/{clientClass.mjs → clientClass.ts} +2 -1
  165. package/dpr/components/_reports/report-pagination/types.d.js.map +1 -1
  166. package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
  167. package/dpr/components/_reports/report-totals/utils.js.map +1 -1
  168. package/dpr/components/bookmark-toggle/clientClass.js +111 -0
  169. package/dpr/components/bookmark-toggle/clientClass.js.map +7 -0
  170. package/dpr/components/bookmark-toggle/{clientClass.mjs → clientClass.ts} +2 -1
  171. package/dpr/components/card-group/clientClass.js +53 -0
  172. package/dpr/components/card-group/clientClass.js.map +7 -0
  173. package/dpr/components/card-group/{clientClass.mjs → clientClass.ts} +2 -1
  174. package/dpr/components/card-group/utils.js.map +1 -1
  175. package/dpr/components/report-list/defaultTokenProvider.js.map +1 -1
  176. package/dpr/components/report-list/types.d.js.map +1 -1
  177. package/dpr/components/report-list/utils.js.map +1 -1
  178. package/dpr/components/show-more/clientClass.js +63 -0
  179. package/dpr/components/show-more/clientClass.js.map +7 -0
  180. package/dpr/components/show-more/{clientClass.mjs → clientClass.ts} +2 -1
  181. package/dpr/components/show-more/utils.js.map +1 -1
  182. package/dpr/components/user-reports/bookmarks/utils.js.map +1 -1
  183. package/dpr/components/user-reports/requested/clientClass.js +132 -0
  184. package/dpr/components/user-reports/requested/clientClass.js.map +7 -0
  185. package/dpr/components/user-reports/requested/{clientClass.mjs → clientClass.ts} +2 -1
  186. package/dpr/components/user-reports/requested/utils.js.map +1 -1
  187. package/dpr/components/user-reports/types.d.js.map +1 -1
  188. package/dpr/components/user-reports/utils.js.map +1 -1
  189. package/dpr/components/user-reports/viewed/clientClass.js +102 -0
  190. package/dpr/components/user-reports/viewed/clientClass.js.map +7 -0
  191. package/dpr/components/user-reports/viewed/{clientClass.mjs → clientClass.ts} +2 -1
  192. package/dpr/components/user-reports/viewed/utils.js.map +1 -1
  193. package/dpr/data/agentConfig.js.map +1 -1
  194. package/dpr/data/dashboardClient.js.map +1 -1
  195. package/dpr/data/dprReportingClient.js.map +1 -1
  196. package/dpr/data/missingReportClient.js.map +1 -1
  197. package/dpr/data/productCollectionClient.js.map +1 -1
  198. package/dpr/data/reportDataStore.js.map +1 -1
  199. package/dpr/data/reportingClient.js.map +1 -1
  200. package/dpr/data/restClient.js.map +1 -1
  201. package/dpr/data/types.d.js.map +1 -1
  202. package/dpr/middleware/reportAuthoriser.js.map +1 -1
  203. package/dpr/middleware/setUpDprResources.js.map +1 -1
  204. package/dpr/middleware/setUpNestedRoute.js.map +1 -1
  205. package/dpr/routes/index.js.map +1 -1
  206. package/dpr/routes/journeys/api-failures.cy.js.map +1 -1
  207. package/dpr/routes/journeys/download-report/controller.js.map +1 -1
  208. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +1 -1
  209. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
  210. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +1 -1
  211. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
  212. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  213. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
  214. package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
  215. package/dpr/routes/journeys/download-report/request-download/service.js.map +1 -1
  216. package/dpr/routes/journeys/download-report/routes.js.map +1 -1
  217. package/dpr/routes/journeys/download-report/tests.cy.js.map +1 -1
  218. package/dpr/routes/journeys/download-report/utils.js.map +1 -1
  219. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
  220. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +1 -1
  221. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
  222. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +1 -1
  223. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
  224. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +1 -1
  225. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +1 -1
  226. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +1 -1
  227. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
  228. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +1 -1
  229. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
  230. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +1 -1
  231. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
  232. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +1 -1
  233. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
  234. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +1 -1
  235. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
  236. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
  237. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
  238. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +1 -1
  239. package/dpr/routes/journeys/my-reports/routes.js.map +1 -1
  240. package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
  241. package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
  242. package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
  243. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +1 -1
  244. package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
  245. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +1 -1
  246. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
  247. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
  248. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
  249. package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
  250. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
  251. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
  252. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
  253. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +1 -1
  254. package/dpr/routes/journeys/request-report/controller.js.map +1 -1
  255. package/dpr/routes/journeys/request-report/filters/controller.js.map +1 -1
  256. package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
  257. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
  258. package/dpr/routes/journeys/request-report/filters/utils.js.map +1 -1
  259. package/dpr/routes/journeys/request-report/routes.js.map +1 -1
  260. package/dpr/routes/journeys/request-report/status/controller.js.map +1 -1
  261. package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
  262. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +1 -1
  263. package/dpr/routes/journeys/request-report/status/utils.js.map +1 -1
  264. package/dpr/routes/journeys/request-report/tests.cy.js.map +1 -1
  265. package/dpr/routes/journeys/routes.js.map +1 -1
  266. package/dpr/routes/journeys/view-report/async/controller.js.map +1 -1
  267. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +1 -1
  268. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
  269. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +1 -1
  270. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
  271. package/dpr/routes/journeys/view-report/async/report/controller.js.map +1 -1
  272. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +1 -1
  273. package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
  274. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +1 -1
  275. package/dpr/routes/journeys/view-report/async/report/types.js.map +1 -1
  276. package/dpr/routes/journeys/view-report/async/report/utils.js.map +1 -1
  277. package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
  278. package/dpr/routes/journeys/view-report/controller.js.map +2 -2
  279. package/dpr/routes/journeys/view-report/controller.ts +1 -1
  280. package/dpr/routes/journeys/view-report/routes.js.map +1 -1
  281. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +1 -1
  282. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +1 -1
  283. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
  284. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +1 -1
  285. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
  286. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +1 -1
  287. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
  288. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +1 -1
  289. package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
  290. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +1 -1
  291. package/dpr/routes/journeys/view-report/utils.js.map +1 -1
  292. package/dpr/services/dashboardService.js.map +1 -1
  293. package/dpr/services/defaultFilterValuesService.js.map +1 -1
  294. package/dpr/services/featureFlagService.js.map +1 -1
  295. package/dpr/services/featureFlags.cy.js.map +1 -1
  296. package/dpr/services/index.js.map +1 -1
  297. package/dpr/services/missingReport/missingReportService.js.map +1 -1
  298. package/dpr/services/productCollection/productCollectionService.js.map +1 -1
  299. package/dpr/services/productCollection/productCollectionStoreService.js.map +1 -1
  300. package/dpr/services/reportStoreService.js.map +1 -1
  301. package/dpr/services/reportingService.js.map +1 -1
  302. package/dpr/setUpNunjucksFilters.js.map +1 -1
  303. package/dpr/types/AsyncReportUtils.js.map +1 -1
  304. package/dpr/types/Bookmark.js.map +1 -1
  305. package/dpr/types/Charts.js.map +1 -1
  306. package/dpr/types/Download.js.map +1 -1
  307. package/dpr/types/DprConfig.js.map +1 -1
  308. package/dpr/types/DprUser.js.map +1 -1
  309. package/dpr/types/EmbeddedReportUtils.js.map +1 -1
  310. package/dpr/types/ExecutionData.d.js.map +1 -1
  311. package/dpr/types/Metrics.js.map +1 -1
  312. package/dpr/types/ReportQuery.js.map +1 -1
  313. package/dpr/types/ReportStore.js.map +1 -1
  314. package/dpr/types/Services.d.js.map +1 -1
  315. package/dpr/types/Templates.d.js.map +1 -1
  316. package/dpr/types/UserReports.js.map +1 -1
  317. package/dpr/types/api.d.js.map +1 -1
  318. package/dpr/types/index.d.js.map +1 -1
  319. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
  320. package/dpr/utils/CreateDprServices.js.map +1 -1
  321. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
  322. package/dpr/utils/DataTableBuilder/types.d.js.map +1 -1
  323. package/dpr/utils/DateMapper/DateMapper.js.map +1 -1
  324. package/dpr/utils/DateMapper/types.d.js.map +1 -1
  325. package/dpr/utils/ErrorHandler.js.map +1 -1
  326. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +1 -1
  327. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
  328. package/dpr/utils/Personalisation/personalisationUtils.js.map +1 -1
  329. package/dpr/utils/Personalisation/types.d.js.map +1 -1
  330. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +1 -1
  331. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
  332. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +1 -1
  333. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
  334. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  335. package/dpr/utils/arrayUtils.js.map +1 -1
  336. package/dpr/utils/datasetHelper.js.map +1 -1
  337. package/dpr/utils/definitionUtils.js.map +1 -1
  338. package/dpr/utils/index.js.map +1 -1
  339. package/dpr/utils/indexedAccesHelper.js.map +1 -1
  340. package/dpr/utils/localsHelper.js.map +1 -1
  341. package/dpr/utils/logger.js.map +1 -1
  342. package/dpr/utils/reportListsHelper.js.map +1 -1
  343. package/dpr/utils/reportStoreHelper.js.map +1 -1
  344. package/dpr/utils/requestStatusHelper.js.map +1 -1
  345. package/dpr/utils/sanitisedError.js.map +1 -1
  346. package/dpr/utils/urlHelper.js.map +1 -1
  347. package/dpr/validation/validate.js.map +1 -1
  348. package/package.json +11 -6
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/services/featureFlagService.ts"],
3
+ "sources": ["../../dpr/services/featureFlagService.ts"],
4
4
  "sourcesContent": ["import { FliptClient, ListFlagsResponse } from '@flipt-io/flipt'\nimport { Application } from 'express'\nimport { FeatureFlagConfig } from '../data/types'\n\nexport class FeatureFlagService {\n restClient: FliptClient | undefined\n\n namespace: string | undefined\n\n constructor(config: FeatureFlagConfig | Record<string, unknown> = {}) {\n const { namespace, token, url } = config && (config as FeatureFlagConfig)\n if (Object.keys(config).length !== 3 || !namespace || !token || !url) {\n return\n }\n this.restClient = new FliptClient({\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n url,\n })\n this.namespace = namespace\n }\n\n async getFlags(): Promise<ListFlagsResponse> {\n if (!this.restClient || !this.namespace) {\n return {\n flags: [],\n nextPageToken: '',\n totalCount: 0,\n }\n }\n return this.restClient.flags.listFlags(this.namespace)\n }\n}\n\nexport const isBooleanFlagEnabled = (flagName: string, app: Application): boolean => {\n const flag = app.locals.featureFlags?.flags?.[flagName]\n if (flag && flag.type !== 'BOOLEAN_FLAG_TYPE') {\n throw Error('Tried to validate whether a non-boolean flag was enabled')\n }\n return !flag || flag.enabled\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+C;AAIxC,MAAM,mBAAmB;AAAA,EAC9B;AAAA,EAEA;AAAA,EAEA,YAAY,SAAsD,CAAC,GAAG;AACpE,UAAM,EAAE,WAAW,OAAO,IAAI,IAAI,UAAW;AAC7C,QAAI,OAAO,KAAK,MAAM,EAAE,WAAW,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK;AACpE;AAAA,IACF;AACA,SAAK,aAAa,IAAI,yBAAY;AAAA,MAChC,SAAS;AAAA,QACP,eAAe,UAAU,KAAK;AAAA,QAC9B,gBAAgB;AAAA,MAClB;AAAA,MACA;AAAA,IACF,CAAC;AACD,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,MAAM,WAAuC;AAC3C,QAAI,CAAC,KAAK,cAAc,CAAC,KAAK,WAAW;AACvC,aAAO;AAAA,QACL,OAAO,CAAC;AAAA,QACR,eAAe;AAAA,QACf,YAAY;AAAA,MACd;AAAA,IACF;AACA,WAAO,KAAK,WAAW,MAAM,UAAU,KAAK,SAAS;AAAA,EACvD;AACF;AAEO,MAAM,uBAAuB,CAAC,UAAkB,QAA8B;AACnF,QAAM,OAAO,IAAI,OAAO,cAAc,QAAQ,QAAQ;AACtD,MAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,UAAM,MAAM,0DAA0D;AAAA,EACxE;AACA,SAAO,CAAC,QAAQ,KAAK;AACvB;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/services/featureFlags.cy.ts"],
3
+ "sources": ["../../dpr/services/featureFlags.cy.ts"],
4
4
  "sourcesContent": ["import { executeReportStubs } from 'cypress-tests/cypressUtils'\nimport { resetFeatureFlags } from 'test-app/routes/integrationTests/appStateUtils'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n\n // Do a reset so that any tests after this re-query for feature flags\n after(() => {\n cy.task('stubFeatureFlags')\n resetFeatureFlags()\n })\n\n describe('Feature flags', () => {\n beforeEach(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult20')\n resetFeatureFlags()\n })\n\n it('should show the ability to save filters as default with feature flag enabled', () => {\n cy.task('stubFeatureFlags')\n\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n Boolean(element?.textContent?.includes('Successful Report')) &&\n Boolean(element?.textContent?.includes('this will succeed'))\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n\n cy.findByRole('button', { name: /Save current filter values as defaults/ }).should('be.visible')\n const helpSummary = cy.contains('summary', /Help/)\n helpSummary.click()\n helpSummary.parent('details').invoke('attr', 'open').should('exist')\n cy.findByRole('heading', { name: /Save current filter values as defaults/ }).should('be.visible')\n })\n\n it('should show the ability to save filters as default with feature flag not existing', () => {\n cy.task('stubFeatureFlagsEmpty')\n\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n Boolean(element?.textContent?.includes('Successful Report')) &&\n Boolean(element?.textContent?.includes('this will succeed'))\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n\n cy.findByRole('button', { name: /Save current filter values as defaults/ }).should('be.visible')\n const helpSummary = cy.contains('summary', /Help/)\n helpSummary.click()\n helpSummary.parent('details').invoke('attr', 'open').should('exist')\n cy.findByRole('heading', { name: /Save current filter values as defaults/ }).should('be.visible')\n })\n\n it('should not show the ability to save filters as default with feature flag disabled', () => {\n cy.task('stubFeatureFlagsDisabled')\n\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n Boolean(element?.textContent?.includes('Successful Report')) &&\n Boolean(element?.textContent?.includes('this will succeed'))\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n\n cy.findByRole('button', { name: /Save current filter values as defaults/ }).should('not.exist')\n const helpSummary = cy.contains('summary', /Help/)\n helpSummary.click()\n helpSummary.parent('details').invoke('attr', 'open').should('exist')\n cy.findByRole('heading', { name: /Save current filter values as defaults/ }).should('not.exist')\n })\n })\n})\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/services/index.ts"],
3
+ "sources": ["../../dpr/services/index.ts"],
4
4
  "sourcesContent": ["import DownloadPermissionService from '../routes/journeys/download-report/request-download/service'\nimport BookmarkService from '../routes/journeys/my-reports/bookmarks/service'\nimport RequestedReportService from '../routes/journeys/my-reports/requested-reports/service'\nimport RecentlyViewedStoreService from '../routes/journeys/my-reports/recently-viewed/service'\nimport DefaultFilterValuesService from './defaultFilterValuesService'\nimport ReportStoreService from './reportStoreService'\nimport ReportingService from './reportingService'\nimport DashboardService from './dashboardService'\n\nexport {\n DownloadPermissionService,\n BookmarkService,\n ReportStoreService,\n ReportingService,\n RecentlyViewedStoreService,\n RequestedReportService,\n DashboardService,\n DefaultFilterValuesService,\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yCAAAA;AAAA,EAAA,gDAAAC;AAAA,EAAA,oEAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,kDAAAC;AAAA,EAAA,oDAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,8CAAAC;AAAA;AAAA;AAAA,qBAAsC;AACtC,IAAAC,kBAA4B;AAC5B,IAAAA,kBAAmC;AACnC,IAAAA,kBAAuC;AACvC,wCAAuC;AACvC,gCAA+B;AAC/B,8BAA6B;AAC7B,8BAA6B;",
6
6
  "names": ["BookmarkService", "DashboardService", "DefaultFilterValuesService", "DownloadPermissionService", "RecentlyViewedStoreService", "ReportStoreService", "ReportingService", "RequestedReportService", "import_service"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/dpr/services/missingReport/missingReportService.ts"],
3
+ "sources": ["../../../dpr/services/missingReport/missingReportService.ts"],
4
4
  "sourcesContent": ["import logger from '../../utils/logger'\nimport MissingReportClient from '../../data/missingReportClient'\nimport { components } from '../../types/api'\nimport { ServiceFeatureConfig } from '../../types/DprConfig'\n\nclass MissingReportService {\n enabled: boolean\n\n constructor(private readonly missingReportClient: MissingReportClient, serviceFeatureConfig: ServiceFeatureConfig) {\n this.enabled = Boolean(serviceFeatureConfig.collections)\n if (!this.enabled) logger.info(`Missing reports: disabled `)\n }\n\n submitMissingReportEntry(\n token: string,\n reportId: string,\n variantId: string,\n reason?: string,\n ): Promise<components['schemas']['MissingReportSubmission']> | undefined {\n if (!this.enabled) return undefined\n return this.missingReportClient.submitMissingReportEntry(token, reportId, variantId, reason)\n }\n}\n\nexport { MissingReportService }\nexport default MissingReportService\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AAKnB,MAAM,qBAAqB;AAAA,EAGzB,YAA6B,qBAA0C,sBAA4C;AAAtF;AAC3B,SAAK,UAAU,QAAQ,qBAAqB,WAAW;AACvD,QAAI,CAAC,KAAK,QAAS,eAAAA,QAAO,KAAK,4BAA4B;AAAA,EAC7D;AAAA,EALA;AAAA,EAOA,yBACE,OACA,UACA,WACA,QACuE;AACvE,QAAI,CAAC,KAAK,QAAS,QAAO;AAC1B,WAAO,KAAK,oBAAoB,yBAAyB,OAAO,UAAU,WAAW,MAAM;AAAA,EAC7F;AACF;AAGA,IAAO,+BAAQ;",
6
6
  "names": ["logger"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/dpr/services/productCollection/productCollectionService.ts"],
3
+ "sources": ["../../../dpr/services/productCollection/productCollectionService.ts"],
4
4
  "sourcesContent": ["import { components } from '../../types/api'\nimport { ServiceFeatureConfig } from '../../types/DprConfig'\nimport { ProductCollectionClient } from '../../data/productCollectionClient'\nimport logger from '../../utils/logger'\n\nexport class ProductCollectionService {\n enabled: boolean\n\n constructor(\n private readonly productCollectionClient: ProductCollectionClient,\n serviceFeatureConfig: ServiceFeatureConfig,\n ) {\n this.productCollectionClient = productCollectionClient\n this.enabled = Boolean(serviceFeatureConfig.collections)\n if (!this.enabled) logger.info(`Product collections: disabled `)\n }\n\n async getProductCollections(token: string): Promise<components['schemas']['ProductCollectionSummary'][]> {\n if (!this.enabled) return []\n return this.productCollectionClient.getProductCollections(token)\n }\n\n async getProductCollection(\n token: string,\n id: string,\n ): Promise<components['schemas']['ProductCollectionDTO'] | undefined> {\n if (!this.enabled) return undefined\n return this.productCollectionClient.getProductCollection(token, id)\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAmB;AAEZ,MAAM,yBAAyB;AAAA,EAGpC,YACmB,yBACjB,sBACA;AAFiB;AAGjB,SAAK,0BAA0B;AAC/B,SAAK,UAAU,QAAQ,qBAAqB,WAAW;AACvD,QAAI,CAAC,KAAK,QAAS,eAAAA,QAAO,KAAK,gCAAgC;AAAA,EACjE;AAAA,EATA;AAAA,EAWA,MAAM,sBAAsB,OAA6E;AACvG,QAAI,CAAC,KAAK,QAAS,QAAO,CAAC;AAC3B,WAAO,KAAK,wBAAwB,sBAAsB,KAAK;AAAA,EACjE;AAAA,EAEA,MAAM,qBACJ,OACA,IACoE;AACpE,QAAI,CAAC,KAAK,QAAS,QAAO;AAC1B,WAAO,KAAK,wBAAwB,qBAAqB,OAAO,EAAE;AAAA,EACpE;AACF;",
6
6
  "names": ["logger"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/dpr/services/productCollection/productCollectionStoreService.ts"],
3
+ "sources": ["../../../dpr/services/productCollection/productCollectionStoreService.ts"],
4
4
  "sourcesContent": ["import { ServiceFeatureConfig } from '../../types/DprConfig'\nimport ReportDataStore from '../../data/reportDataStore'\nimport ReportStoreService from '../reportStoreService'\n\nexport class ProductCollectionStoreService extends ReportStoreService {\n enabled: boolean\n\n constructor(reportDataStore: ReportDataStore, serviceFeatureConfig: ServiceFeatureConfig) {\n super(reportDataStore)\n this.enabled = Boolean(serviceFeatureConfig.collections)\n }\n\n async getSelectedProductCollectionId(userId: string): Promise<string | undefined> {\n if (!this.enabled) return undefined\n\n const userConfig = await this.getState(userId)\n return userConfig.productCollectionInfo?.selectedProductCollection\n }\n\n async setSelectedProductCollectionId(userId: string, id: string): Promise<void> {\n if (!this.enabled) return undefined\n\n const userConfig = await this.getState(userId)\n return this.saveState(userId, {\n ...userConfig,\n productCollectionInfo: {\n ...userConfig.productCollectionInfo,\n selectedProductCollection: id,\n },\n })\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gCAA+B;AAExB,MAAM,sCAAsC,0BAAAA,QAAmB;AAAA,EACpE;AAAA,EAEA,YAAY,iBAAkC,sBAA4C;AACxF,UAAM,eAAe;AACrB,SAAK,UAAU,QAAQ,qBAAqB,WAAW;AAAA,EACzD;AAAA,EAEA,MAAM,+BAA+B,QAA6C;AAChF,QAAI,CAAC,KAAK,QAAS,QAAO;AAE1B,UAAM,aAAa,MAAM,KAAK,SAAS,MAAM;AAC7C,WAAO,WAAW,uBAAuB;AAAA,EAC3C;AAAA,EAEA,MAAM,+BAA+B,QAAgB,IAA2B;AAC9E,QAAI,CAAC,KAAK,QAAS,QAAO;AAE1B,UAAM,aAAa,MAAM,KAAK,SAAS,MAAM;AAC7C,WAAO,KAAK,UAAU,QAAQ;AAAA,MAC5B,GAAG;AAAA,MACH,uBAAuB;AAAA,QACrB,GAAG,WAAW;AAAA,QACd,2BAA2B;AAAA,MAC7B;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
6
  "names": ["ReportStoreService"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/services/reportStoreService.ts"],
3
+ "sources": ["../../dpr/services/reportStoreService.ts"],
4
4
  "sourcesContent": ["import ReportDataStore from '../data/reportDataStore'\nimport { UserReportData } from '../types/UserReports'\nimport { ReportStoreConfig } from '../types/ReportStore'\n\nclass ReportStoreService {\n reportStore: ReportDataStore\n\n constructor(readonly reportDataStore: ReportDataStore) {\n this.reportStore = reportDataStore\n }\n\n async getState(userId: string) {\n return this.reportStore.getUserConfig(userId)\n }\n\n async saveState(userId: string, userConfig: ReportStoreConfig) {\n await this.reportStore.setUserConfig(userId, userConfig)\n }\n\n findIndexByExecutionId(id: string, array: UserReportData[]) {\n return array.findIndex((report) => report.executionId === id)\n }\n\n findIndexByTableId(id: string, array: UserReportData[]) {\n return array.findIndex((report) => report.tableId === id)\n }\n\n findIndexByReportId(id: string, array: UserReportData[]) {\n return array.findIndex((report) => report.id === id)\n }\n}\n\nexport { ReportStoreService }\nexport default ReportStoreService\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,MAAM,mBAAmB;AAAA,EAGvB,YAAqB,iBAAkC;AAAlC;AACnB,SAAK,cAAc;AAAA,EACrB;AAAA,EAJA;AAAA,EAMA,MAAM,SAAS,QAAgB;AAC7B,WAAO,KAAK,YAAY,cAAc,MAAM;AAAA,EAC9C;AAAA,EAEA,MAAM,UAAU,QAAgB,YAA+B;AAC7D,UAAM,KAAK,YAAY,cAAc,QAAQ,UAAU;AAAA,EACzD;AAAA,EAEA,uBAAuB,IAAY,OAAyB;AAC1D,WAAO,MAAM,UAAU,CAAC,WAAW,OAAO,gBAAgB,EAAE;AAAA,EAC9D;AAAA,EAEA,mBAAmB,IAAY,OAAyB;AACtD,WAAO,MAAM,UAAU,CAAC,WAAW,OAAO,YAAY,EAAE;AAAA,EAC1D;AAAA,EAEA,oBAAoB,IAAY,OAAyB;AACvD,WAAO,MAAM,UAAU,CAAC,WAAW,OAAO,OAAO,EAAE;AAAA,EACrD;AACF;AAGA,IAAO,6BAAQ;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/services/reportingService.ts"],
3
+ "sources": ["../../dpr/services/reportingService.ts"],
4
4
  "sourcesContent": ["import { components } from '../types/api'\nimport type ReportingClient from '../data/reportingClient'\nimport ReportQuery from '../types/ReportQuery'\nimport Dict = NodeJS.Dict\nimport { ListWithWarnings } from '../data/types'\n\nclass ReportingService {\n constructor(private readonly reportingClient: ReportingClient) {\n this.reportingClient = reportingClient\n }\n\n async getCount(resourceName: string, token: string, listRequest: ReportQuery): Promise<number> {\n return this.reportingClient.getCount(resourceName, token, listRequest)\n }\n\n async getList(resourceName: string, token: string, listRequest: ReportQuery): Promise<Array<NodeJS.Dict<string>>> {\n return this.reportingClient.getList(resourceName, token, listRequest)\n }\n\n async getListWithWarnings(resourceName: string, token: string, listRequest: ReportQuery): Promise<ListWithWarnings> {\n return this.reportingClient.getListWithWarnings(resourceName, token, listRequest)\n }\n\n async getDefinitionSummary(\n token: string,\n reportId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<components['schemas']['ReportDefinitionSummary']> {\n return this.reportingClient.getDefinitionSummary(token, reportId, dataProductDefinitionsPath)\n }\n\n async getDefinitions(\n token: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Array<components['schemas']['ReportDefinitionSummary']>> {\n return this.reportingClient.getDefinitions(token, dataProductDefinitionsPath)\n }\n\n async getDefinition(\n token: string,\n reportId: string,\n variantId: string,\n dataProductDefinitionsPath?: string,\n query?: Dict<string | string[]>,\n ): Promise<components['schemas']['SingleVariantReportDefinition']> {\n return this.reportingClient.getDefinition(token, reportId, variantId, dataProductDefinitionsPath, query)\n }\n\n async requestAsyncReport(\n token: string,\n reportId: string,\n variantId: string,\n query: Record<string, string | boolean | number>,\n ): Promise<Dict<string>> {\n return this.reportingClient.requestAsyncReport(token, reportId, variantId, query)\n }\n\n async cancelAsyncRequest(\n token: string,\n reportId: string,\n variantId: string,\n executionId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Dict<string>> {\n return this.reportingClient.cancelAsyncRequest(token, reportId, variantId, executionId, dataProductDefinitionsPath)\n }\n\n async getAsyncReport(\n token: string,\n reportId: string,\n variantId: string,\n tableId: string,\n query: Record<string, string | string[]>,\n ): Promise<Array<Dict<string>>> {\n return this.reportingClient.getAsyncReport(token, reportId, variantId, tableId, query)\n }\n\n async getAsyncSummaryReport(\n token: string,\n reportId: string,\n variantId: string,\n tableId: string,\n summaryId: string,\n query: Dict<string | number>,\n ): Promise<Array<Dict<string>>> {\n return this.reportingClient.getAsyncSummaryReport(token, reportId, variantId, tableId, summaryId, query)\n }\n\n async getAsyncReportStatus(\n token: string,\n reportId: string,\n variantId: string,\n executionId: string,\n dataProductDefinitionsPath: string,\n tableId: string,\n ): Promise<components['schemas']['StatementExecutionStatus']> {\n return this.reportingClient.getAsyncReportStatus(\n token,\n reportId,\n variantId,\n executionId,\n dataProductDefinitionsPath,\n tableId,\n )\n }\n\n async getAsyncCount(token: string, tableId: string, dataProductDefinitionsPath?: string): Promise<number> {\n return this.reportingClient.getAsyncCount(token, tableId, dataProductDefinitionsPath)\n }\n\n async getAsyncInteractiveCount(\n token: string,\n tableId: string,\n reportId: string,\n id: string,\n filters: ReportQuery,\n ): Promise<number> {\n return this.reportingClient.getAsyncInteractiveCount(token, tableId, reportId, id, filters)\n }\n}\n\nexport { ReportingService }\nexport default ReportingService\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,iBAAiB;AAAA,EACrB,YAA6B,iBAAkC;AAAlC;AAC3B,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEA,MAAM,SAAS,cAAsB,OAAe,aAA2C;AAC7F,WAAO,KAAK,gBAAgB,SAAS,cAAc,OAAO,WAAW;AAAA,EACvE;AAAA,EAEA,MAAM,QAAQ,cAAsB,OAAe,aAA+D;AAChH,WAAO,KAAK,gBAAgB,QAAQ,cAAc,OAAO,WAAW;AAAA,EACtE;AAAA,EAEA,MAAM,oBAAoB,cAAsB,OAAe,aAAqD;AAClH,WAAO,KAAK,gBAAgB,oBAAoB,cAAc,OAAO,WAAW;AAAA,EAClF;AAAA,EAEA,MAAM,qBACJ,OACA,UACA,4BAC2D;AAC3D,WAAO,KAAK,gBAAgB,qBAAqB,OAAO,UAAU,0BAA0B;AAAA,EAC9F;AAAA,EAEA,MAAM,eACJ,OACA,4BACkE;AAClE,WAAO,KAAK,gBAAgB,eAAe,OAAO,0BAA0B;AAAA,EAC9E;AAAA,EAEA,MAAM,cACJ,OACA,UACA,WACA,4BACA,OACiE;AACjE,WAAO,KAAK,gBAAgB,cAAc,OAAO,UAAU,WAAW,4BAA4B,KAAK;AAAA,EACzG;AAAA,EAEA,MAAM,mBACJ,OACA,UACA,WACA,OACuB;AACvB,WAAO,KAAK,gBAAgB,mBAAmB,OAAO,UAAU,WAAW,KAAK;AAAA,EAClF;AAAA,EAEA,MAAM,mBACJ,OACA,UACA,WACA,aACA,4BACuB;AACvB,WAAO,KAAK,gBAAgB,mBAAmB,OAAO,UAAU,WAAW,aAAa,0BAA0B;AAAA,EACpH;AAAA,EAEA,MAAM,eACJ,OACA,UACA,WACA,SACA,OAC8B;AAC9B,WAAO,KAAK,gBAAgB,eAAe,OAAO,UAAU,WAAW,SAAS,KAAK;AAAA,EACvF;AAAA,EAEA,MAAM,sBACJ,OACA,UACA,WACA,SACA,WACA,OAC8B;AAC9B,WAAO,KAAK,gBAAgB,sBAAsB,OAAO,UAAU,WAAW,SAAS,WAAW,KAAK;AAAA,EACzG;AAAA,EAEA,MAAM,qBACJ,OACA,UACA,WACA,aACA,4BACA,SAC4D;AAC5D,WAAO,KAAK,gBAAgB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,cAAc,OAAe,SAAiB,4BAAsD;AACxG,WAAO,KAAK,gBAAgB,cAAc,OAAO,SAAS,0BAA0B;AAAA,EACtF;AAAA,EAEA,MAAM,yBACJ,OACA,SACA,UACA,IACA,SACiB;AACjB,WAAO,KAAK,gBAAgB,yBAAyB,OAAO,SAAS,UAAU,IAAI,OAAO;AAAA,EAC5F;AACF;AAGA,IAAO,2BAAQ;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/dpr/setUpNunjucksFilters.ts"],
3
+ "sources": ["../dpr/setUpNunjucksFilters.ts"],
4
4
  "sourcesContent": ["import nunjucks from 'nunjucks'\nimport nunjucksDate from 'nunjucks-date'\nimport { FilterOption } from './components/_filters/filter-input/types'\n\nexport const setUpNunjucksFilters = (env: nunjucks.Environment) => {\n env.addFilter('addRequiredAttributeToAll', addRequiredAttributeToAll)\n env.addFilter('json', stringifyJson)\n env.addFilter('capitaliseSentence', capitaliseSentence)\n // Namespace our own filters\n env.addFilter('dpr.findError', findError)\n nunjucksDate.setDefaultFormat('DD/MM/YYYY')\n nunjucksDate.install(env, 'dprDate')\n}\n\nconst findError = (errs: { text: string; href: string }[] | undefined, errToFind: string) => {\n const error = errs?.find((err) => err.href.slice(1) === errToFind)?.text\n return error ? { text: error } : null\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst stringifyJson = (jsonObj: any) => {\n return JSON.stringify(jsonObj, null, 2)\n}\n\nconst capitaliseSentence = (text: string) => {\n return text.charAt(0).toUpperCase() + text.substring(1).toLowerCase()\n}\n\nconst addRequiredAttributeToAll = (items: Array<FilterOption>) => {\n return items.map((i) => ({\n ...i,\n attributes: {\n required: true,\n },\n }))\n}\n\nexport default setUpNunjucksFilters\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAAyB;AAGlB,MAAM,uBAAuB,CAAC,QAA8B;AACjE,MAAI,UAAU,6BAA6B,yBAAyB;AACpE,MAAI,UAAU,QAAQ,aAAa;AACnC,MAAI,UAAU,sBAAsB,kBAAkB;AAEtD,MAAI,UAAU,iBAAiB,SAAS;AACxC,uBAAAA,QAAa,iBAAiB,YAAY;AAC1C,uBAAAA,QAAa,QAAQ,KAAK,SAAS;AACrC;AAEA,MAAM,YAAY,CAAC,MAAoD,cAAsB;AAC3F,QAAM,QAAQ,MAAM,KAAK,CAAC,QAAQ,IAAI,KAAK,MAAM,CAAC,MAAM,SAAS,GAAG;AACpE,SAAO,QAAQ,EAAE,MAAM,MAAM,IAAI;AACnC;AAGA,MAAM,gBAAgB,CAAC,YAAiB;AACtC,SAAO,KAAK,UAAU,SAAS,MAAM,CAAC;AACxC;AAEA,MAAM,qBAAqB,CAAC,SAAiB;AAC3C,SAAO,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,UAAU,CAAC,EAAE,YAAY;AACtE;AAEA,MAAM,4BAA4B,CAAC,UAA+B;AAChE,SAAO,MAAM,IAAI,CAAC,OAAO;AAAA,IACvB,GAAG;AAAA,IACH,YAAY;AAAA,MACV,UAAU;AAAA,IACZ;AAAA,EACF,EAAE;AACJ;AAEA,IAAO,+BAAQ;",
6
6
  "names": ["nunjucksDate"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/AsyncReportUtils.ts"],
3
+ "sources": ["../../dpr/types/AsyncReportUtils.ts"],
4
4
  "sourcesContent": ["import { Response, Request, NextFunction } from 'express'\nimport { Services } from './Services'\nimport { components } from './api'\nimport { ReportType } from './UserReports'\nimport { RenderFiltersReturnValue } from '../components/_async/async-filters-form/types'\n\nexport interface AsyncReportUtilsParams {\n req: Request\n res: Response\n next?: NextFunction\n services: Services\n}\n\nexport interface EmbeddedReportUtilsParams {\n req?: Request\n res: Response\n next?: NextFunction\n services: Services\n}\n\nexport interface RequestReportData {\n interactiveFilters?: components['schemas']['FilterDefinition'][]\n reportName: string\n name: string\n description: string\n reportId: string\n id: string\n definitionPath: string\n csrfToken: string\n template?: string\n sections: components['schemas']['DashboardSectionDefinition'][]\n type: ReportType\n defaultInteractiveQueryString?: string\n hasDefaults: boolean\n defaultsSaved?: string\n saveDefaultsEnabled: boolean\n}\n\nexport interface RequestDataResult {\n title: string\n filtersDescription: string\n filtersData?: RenderFiltersReturnValue | undefined\n reportData: RequestReportData\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/Bookmark.ts"],
3
+ "sources": ["../../dpr/types/Bookmark.ts"],
4
4
  "sourcesContent": ["import { LoadType, ReportType } from './UserReports'\n\nexport interface BookmarkedReportData {\n reportId: string\n id: string\n reportName: string\n name: string\n description: string\n href: string\n type: ReportType\n loadType: LoadType\n automatic?: boolean | undefined\n}\n\nexport interface BookmarkStoreData {\n reportId: string\n id: string\n type?: ReportType\n automatic?: boolean | undefined\n}\n\nexport interface AutomaticBookmarkStoreData {\n reportId: string\n variantId: string\n type?: ReportType\n automatic?: boolean\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/Charts.ts"],
3
+ "sources": ["../../dpr/types/Charts.ts"],
4
4
  "sourcesContent": ["export interface ChartDetails {\n meta?: ChartMetaData[]\n headlines?: ChartMetaData[]\n}\n\nexport interface ChartMetaData {\n label: string\n value: string | number\n legend?: string\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/Download.ts"],
3
+ "sources": ["../../dpr/types/Download.ts"],
4
4
  "sourcesContent": ["export interface DownloadPermissionConfig {\n reportId: string\n id: string\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/DprConfig.ts"],
3
+ "sources": ["../../dpr/types/DprConfig.ts"],
4
4
  "sourcesContent": ["export interface DprConfig {\n routePrefix?: string\n dataProductDefinitionsPath?: string\n}\n\nexport interface ServiceFeatureConfig {\n bookmarking?: boolean\n download?: boolean\n collections?: boolean\n missingReports?: boolean\n saveDefaults?: boolean\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/DprUser.ts"],
3
+ "sources": ["../../dpr/types/DprUser.ts"],
4
4
  "sourcesContent": ["class DprUser {\n // Auth token\n token = ''\n\n // Nomis user uuid\n id = ''\n\n // e.g. John Smith\n displayName?: string\n\n // e.g. MDI\n activeCaseLoadId?: string\n\n // Prison staff id in Nomis\n staffId?: number\n\n // Email address\n emailAddress?: string\n}\n\nexport { DprUser }\nexport default DprUser\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,QAAQ;AAAA;AAAA,EAEZ,QAAQ;AAAA;AAAA,EAGR,KAAK;AAAA;AAAA,EAGL;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF;AAGA,IAAO,kBAAQ;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/EmbeddedReportUtils.ts"],
3
+ "sources": ["../../dpr/types/EmbeddedReportUtils.ts"],
4
4
  "sourcesContent": ["import { Response, Request, NextFunction, Router } from 'express'\nimport { Services } from './Services'\nimport UserDataStore, { RedisClient } from '../data/reportDataStore'\n\nexport interface EmbeddedReportUtilsParams {\n req?: Request\n res: Response\n next?: NextFunction\n services: Services\n options?: EmbeddedReportOptions\n features: EmbeddedReportFeatures\n}\n\nexport interface EmbeddedSyncParams {\n router: Router\n config?: EmbeddedSyncParamsConfig\n services?: Services\n options?: EmbeddedReportOptions\n features?: EmbeddedReportFeatures\n}\n\nexport interface EmbeddedSyncParamsConfig {\n layoutPath?: string\n templatePath?: string\n reportingClientArgs?: ReportingClientArgs\n}\n\nexport interface EmbeddedReportOptions {\n dpdPath?: string\n}\n\nexport interface EmbeddedReportFeatures {\n config: EmbeddedReportFeaturesConfig\n list: EmbeddedReportFeaturesList[]\n}\n\nexport interface EmbeddedReportFeaturesConfig {\n userId?: string\n redisClient?: RedisClient\n userDataStore?: UserDataStore\n}\n\ninterface ReportingClientArgs {\n url: string\n agent: { timeout: number }\n}\n\nexport enum EmbeddedReportFeaturesList {\n download = 'download',\n bookmark = 'bookmark',\n recentlyViewed = 'recentlyViewed',\n}\n\nexport interface InitialisedFeatures {\n download?: boolean\n bookmark?: boolean\n recentlyViewed?: boolean\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CO,IAAK,6BAAL,kBAAKA,gCAAL;AACL,EAAAA,4BAAA,cAAW;AACX,EAAAA,4BAAA,cAAW;AACX,EAAAA,4BAAA,oBAAiB;AAHP,SAAAA;AAAA,GAAA;",
6
6
  "names": ["EmbeddedReportFeaturesList"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/ExecutionData.d.ts"],
3
+ "sources": ["../../dpr/types/ExecutionData.d.ts"],
4
4
  "sourcesContent": ["export interface ExecutionData {\n executionId?: string | undefined\n tableId?: string | undefined\n dataProductDefinitionsPath?: string\n}\n\nexport interface ChildReportExecutionData extends ExecutionData {\n variantId: string\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/Metrics.ts"],
3
+ "sources": ["../../dpr/types/Metrics.ts"],
4
4
  "sourcesContent": ["export interface DashboardDataResponse {\n [key: string]: {\n raw?: number | string | null | undefined\n rag?: number\n }\n}\n\nexport interface DashboardDataResponseWithRag {\n [key: string]: {\n raw: number | string\n rag: number\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/ReportQuery.ts"],
3
+ "sources": ["../../dpr/types/ReportQuery.ts"],
4
4
  "sourcesContent": ["import type { ParsedQs } from 'qs'\nimport { FilteredListRequest } from './index'\nimport Dict = NodeJS.Dict\nimport { components } from './api'\nimport { clearFilterValue } from '../utils/urlHelper'\nimport ColumnUtils from '../components/_reports/report-columns-form/utils'\nimport { Template } from './Templates'\nimport { ReportType } from './UserReports'\n\nexport const DEFAULT_FILTERS_PREFIX = 'filters.'\n\nclass ReportQuery implements FilteredListRequest {\n selectedPage: number\n\n pageSize: number\n\n sortColumn?: string | undefined\n\n columns: Array<string>\n\n sortedAsc: boolean\n\n filters: Dict<string>\n\n filtersPrefix: string\n\n dataProductDefinitionsPath?: string | undefined\n\n constructor({\n fields,\n template,\n queryParams,\n definitionsPath,\n filtersPrefix = DEFAULT_FILTERS_PREFIX,\n reportType,\n }: {\n fields: components['schemas']['FieldDefinition'][]\n template?: Template\n queryParams: ParsedQs\n definitionsPath?: string\n filtersPrefix?: string\n reportType?: ReportType\n }) {\n this.selectedPage = queryParams['selectedPage'] ? Number(queryParams['selectedPage']) : 1\n this.pageSize = this.getPageSize(queryParams, template, reportType)\n\n this.sortColumn = queryParams['sortColumn']\n ? queryParams['sortColumn'].toString()\n : this.getDefaultSortColumn(fields)\n\n this.sortedAsc =\n queryParams['sortedAsc'] !== undefined\n ? queryParams['sortedAsc'] !== 'false'\n : this.getDefaultSortDirection(fields)\n\n this.dataProductDefinitionsPath =\n definitionsPath ??\n (queryParams['dataProductDefinitionsPath'] ? queryParams['dataProductDefinitionsPath'].toString() : undefined)\n\n this.filtersPrefix = filtersPrefix\n\n if (queryParams['columns']) {\n const columns =\n typeof queryParams['columns'] === 'string'\n ? queryParams['columns'].split(',')\n : (queryParams['columns'] as string[])\n this.columns = ColumnUtils.ensureMandatoryColumns(fields, columns)\n } else {\n this.columns = fields.filter((f) => f.visible).map((f) => f.name)\n }\n\n const dateField: components['schemas']['FieldDefinition'] | undefined = fields.find((f) => {\n return (\n (f.type === 'date' && f.filter && f.filter.type === 'daterange') ||\n (f.type === 'date' && f.filter && f.filter.type === 'date')\n )\n })\n\n let min: string | undefined\n let max: string | undefined\n if (dateField && dateField.filter) {\n min = dateField.filter.min\n max = dateField.filter.max\n }\n\n this.filters = {}\n\n Object.keys(queryParams)\n .filter((key) => key.startsWith(this.filtersPrefix))\n .filter((key) => queryParams[key])\n .forEach((key) => {\n const filter = key.replace(this.filtersPrefix, '')\n const p = queryParams[key]\n let value = p ? p.toString() : ''\n if (filter.includes('.start') && min) {\n if (new Date(value) < new Date(min)) value = min\n }\n if (filter.includes('.end') && max) {\n if (new Date(value) > new Date(max)) value = max\n }\n if (value !== 'no-filter') {\n this.filters[filter] = value\n }\n })\n\n if (dateField && dateField.filter && dateField.filter.type === 'daterange') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.start'))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n\n if (\n max &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.end'))\n ) {\n this.filters[`${dateField.name}.end`] = max\n }\n }\n\n if (dateField && dateField.filter && dateField.filter.type === 'date') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes(dateField.name))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n }\n }\n\n private getDefaultSortColumn(fields: components['schemas']['FieldDefinition'][]) {\n const defaultSortColumn = fields.find((f) => f.defaultsort)\n return defaultSortColumn ? defaultSortColumn.name : fields.find((f) => f.sortable)?.name\n }\n\n private getDefaultSortDirection(fields: components['schemas']['FieldDefinition'][]) {\n const field = fields.find((f) => f.defaultsort)\n if (field) {\n return field.sortDirection ? field.sortDirection === 'asc' : true\n }\n return true\n }\n\n getPageSize(queryParams: ParsedQs, template?: Template, reportType?: ReportType): number {\n let pageSize = 5000000\n if (!reportType || reportType === ReportType.REPORT) {\n if (queryParams['pageSize']) {\n pageSize = Number(queryParams['pageSize'])\n } else if (template) {\n pageSize = this.getDefaultPageSize(template)\n }\n }\n return pageSize\n }\n\n toRecordWithFilterPrefix(removeClearedFilters = false): Record<string, string | Array<string>> {\n const record: Record<string, string | Array<string>> = {\n selectedPage: this.selectedPage.toString(),\n ...(this.pageSize && { pageSize: this.pageSize.toString() }),\n ...(this.sortColumn && { sortColumn: this.sortColumn }),\n sortedAsc: this.sortedAsc.toString(),\n columns: this.columns,\n }\n\n if (this.dataProductDefinitionsPath) {\n record['dataProductDefinitionsPath'] = this.dataProductDefinitionsPath\n }\n\n Object.keys(this.filters).forEach((filterName) => {\n const value = this.filters[filterName]\n if ((value && !removeClearedFilters) || value !== clearFilterValue) {\n record[`${this.filtersPrefix}${filterName}`] = <string>value\n }\n })\n\n return record\n }\n\n private getDefaultPageSize(template: Template) {\n const maxResultsSize = 500000\n const standardPage = 20\n\n switch (template) {\n case 'list-section':\n case 'summary-section':\n case 'row-section-child':\n case 'parent-child':\n case 'parent-child-section':\n return maxResultsSize\n\n default:\n return standardPage\n }\n }\n}\n\nexport { ReportQuery }\nexport default ReportQuery\n"],
5
5
  "mappings": "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",
6
6
  "names": ["ColumnUtils"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/ReportStore.ts"],
3
+ "sources": ["../../dpr/types/ReportStore.ts"],
4
4
  "sourcesContent": ["import { defaultFilterConfig } from '../utils/Personalisation/types'\nimport { BookmarkStoreData } from './Bookmark'\nimport { DownloadPermissionConfig } from './Download'\nimport { RequestedReport, RecentlyViewedReport } from './UserReports'\n\nexport interface ReportStoreConfig {\n requestedReports: RequestedReport[]\n recentlyViewedReports: RecentlyViewedReport[]\n bookmarks: BookmarkStoreData[]\n downloadPermissions?: DownloadPermissionConfig[]\n defaultFilters?: defaultFilterConfig[]\n productCollectionInfo?: { selectedProductCollection: string }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/Services.d.ts"],
3
+ "sources": ["../../dpr/types/Services.d.ts"],
4
4
  "sourcesContent": ["import {\n BookmarkService,\n DefaultFilterValuesService,\n DownloadPermissionService,\n RecentlyViewedStoreService,\n RequestedReportService,\n} from '../services'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport MissingReportService from '../services/missingReport/missingReportService'\nimport ReportingService from '../services/reportingService'\nimport DashboardService from '../services/dashboardService'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\nimport { FeatureFlagService } from '../services/featureFlagService'\n\nexport type Services = UserStoreServices & {\n reportingService: ReportingService\n dashboardService: DashboardService\n missingReportService: MissingReportService\n productCollectionService: ProductCollectionService\n featureFlagService: FeatureFlagService\n}\n\nexport interface UserStoreServices {\n downloadPermissionService: DownloadPermissionService\n requestedReportService: RequestedReportService\n recentlyViewedService: RecentlyViewedStoreService\n bookmarkService: BookmarkService\n defaultFilterValuesService: DefaultFilterValuesService\n productCollectionStoreService: ProductCollectionStoreService\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/Templates.d.ts"],
3
+ "sources": ["../../dpr/types/Templates.d.ts"],
4
4
  "sourcesContent": ["export type Template =\n | 'list'\n | 'list-section'\n | 'list-tab'\n | 'summary'\n | 'summary-section'\n | 'parent-child'\n | 'parent-child-section'\n | 'row-section'\n | 'row-section-child'\n\nexport type SummaryTemplate =\n | 'table-header'\n | 'table-footer'\n | 'section-header'\n | 'section-footer'\n | 'page-header'\n | 'page-footer'\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/UserReports.ts"],
3
+ "sources": ["../../dpr/types/UserReports.ts"],
4
4
  "sourcesContent": ["import Dict = NodeJS.Dict\nimport { SummaryTemplate, Template } from './Templates'\nimport { FieldDefinition } from '../utils/DataTableBuilder/types'\nimport { ChildReportExecutionData } from './ExecutionData'\n\nexport interface StoredReportData {\n reportId: string\n variantId?: string // NOTE variant ID exists fir V1 async routes\n id: string\n executionId?: string | undefined\n tableId?: string | undefined\n reportName: string\n variantName?: string\n name: string\n description: string\n status?: RequestStatus\n timestamp: AsyncReportsTimestamp\n dataProductDefinitionsPath?: string\n dpdPathFromQuery?: boolean\n query?: AsyncReportQueryData\n interactiveQuery?: AsyncReportQueryData\n url?: AsyncReportUrlData\n type: ReportType\n loadType?: LoadType\n childExecutionData?: Array<ChildReportExecutionData>\n}\n\nexport interface RequestedReport extends StoredReportData {\n template: Template\n errorMessage?: string\n filters: ParamsConfig\n sortBy: ParamsConfig\n}\n\nexport interface RequestedDashboard extends StoredReportData {\n metrics: { name: string }[]\n}\n\nexport type RecentlyViewedReport = StoredReportData\nexport type UserReportData = RequestedReport | RecentlyViewedReport | StoredReportData | RequestedDashboard\n\nexport interface AsyncReportUrlData {\n origin: string\n request?: AsyncReportUrlItemData\n report?: AsyncReportUrlItemData\n polling?: AsyncReportUrlItemData\n}\n\nexport interface AsyncReportUrlItemData {\n pathname?: string | undefined\n fullUrl?: string | undefined\n search?: string\n default?: string\n}\n\nexport interface AsyncReportQueryData {\n data: Dict<string | string[]>\n summary: Array<Dict<string>>\n}\n\nexport interface ParamsConfig {\n data: Dict<string>\n queryString: string\n}\n\nexport enum RequestStatus {\n SUBMITTED = 'SUBMITTED',\n STARTED = 'STARTED',\n PICKED = 'PICKED',\n FINISHED = 'FINISHED',\n FAILED = 'FAILED',\n ABORTED = 'ABORTED',\n EXPIRED = 'EXPIRED',\n READY = 'READY',\n ALL = 'ALL',\n}\n\nexport enum ReportType {\n REPORT = 'report',\n DASHBOARD = 'dashboard',\n UNAVAILABLE = 'unavailable',\n}\n\nexport interface AsyncReportsTimestamp {\n lastViewed?: Date\n requested?: Date\n completed?: Date\n expired?: Date\n failed?: Date\n retried?: Date\n aborted?: Date\n refresh?: Date\n}\n\nexport interface AsyncSummary {\n id: string\n template: SummaryTemplate\n fields: Array<FieldDefinition>\n data: Array<Dict<string>>\n}\n\nexport interface FormattedUserReportData {\n id?: string | undefined\n href?: string | undefined\n text: string\n reportName: string\n description: string\n timestamp?: string\n tag?: string\n status?: string | undefined\n type: ReportType\n summary?: { name: string; value: string }[]\n interactiveSummary?: { name: string; value: string }[]\n meta: meta\n}\n\nexport interface FormattedBookmarkData {\n id?: string\n href?: string\n text: string\n reportName: string\n description: string\n timestamp?: string\n tag?: string\n status?: string\n type: ReportType\n summary?: { name: string; value: string }[]\n interactiveSummary?: { name: string; value: string }[]\n}\n\nexport interface meta {\n reportId: string\n id: string\n executionId?: string | undefined\n tableId?: string | undefined\n status?: string | undefined\n type: ReportType\n requestedAt?: Date | undefined\n dataProductDefinitionsPath?: string | undefined\n pollingUrl?: string | undefined\n reportUrl?: string | undefined\n}\n\nexport interface RequestFormData {\n dataProductDefinitionsPath: string\n _csrf: string\n reportId: string\n name: string\n reportName: string\n description: string\n type: string\n pathname: string\n origin: string\n href: string\n search: string\n id: string\n variantId?: string\n template?: string\n metrics?: { name: string }[]\n}\n\nexport enum LoadType {\n SYNC = 'sync',\n ASYNC = 'async',\n SCHEDULED = 'scheduled',\n}\n\nexport interface DefinitionData {\n reportName: string\n reportId: string\n id: string\n name: string\n description?: string\n type: ReportType\n reportDescription?: string\n loadType: LoadType\n authorised: boolean\n isMissing?: boolean\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiEO,IAAK,gBAAL,kBAAKA,mBAAL;AACL,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,SAAM;AATI,SAAAA;AAAA,GAAA;AAYL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,eAAY;AACZ,EAAAA,YAAA,iBAAc;AAHJ,SAAAA;AAAA,GAAA;AAoFL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,eAAY;AAHF,SAAAA;AAAA,GAAA;",
6
6
  "names": ["RequestStatus", "ReportType", "LoadType"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/api.d.ts"],
3
+ "sources": ["../../dpr/types/api.d.ts"],
4
4
  "sourcesContent": ["/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interface paths {\n '/missingRequest/{reportId}/{variantId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n get?: never\n put?: never\n /** @description Submit a request for a missing report */\n post: operations['requestMissing']\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/user/caseload/active': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Gets a user's active caseloads */\n get: operations['definitions']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the dataset for the given report ID and report variant ID filtered by the filters provided in the query. */\n get: operations['configuredApiDataset']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}/{fieldId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the dataset for the given report ID and report variant ID filtered by the filters provided in the query. */\n get: operations['configuredApiDynamicFilter']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}/tables/{tableId}/result': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the resulting rows of the executed statement in a paginated fashion which has been stored in a dedicated table. */\n get: operations['getQueryExecutionResult']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}/tables/{tableId}/result/summary/{summaryId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns a summary of a request, which has been stored in a dedicated table. */\n get: operations['getSummaryQueryExecutionResult']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}/tables/{tableId}/count': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the number of rows of the table which contains the result of a previously executed query. Allows filtering and it is aimed at supporting the interactive journey. */\n get: operations['getInteractiveExternalTableRowCount']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}/statements/{statementId}/status': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the status of the statement execution based on the statement ID provided.The following status values can be returned:\n * ABORTED - The query run was stopped by the user.\n * ALL - A status value that includes all query statuses. This value can be used to filter results.\n * FAILED - The query run failed.\n * FINISHED - The query has finished running.\n * PICKED - The query has been chosen to be run.\n * STARTED - The query run has started.\n * SUBMITTED - The query was submitted, but not yet processed.\n * Note: When the status is FAILED the error field of the response will be populated.ResultRows is the number of rows returned from the SQL statement. A -1 indicates the value is null.ResultSize is the size in bytes of the returned results. A -1 indicates the value is null.\n * For Athena:\n * Athena automatically retries your queries in cases of certain transient errors. As a result, you may see the query state transition from STARTED or FAILED to SUBMITTED.\n * */\n get: operations['getQueryExecutionStatus']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}/count': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the number of records for the given report ID and report variant ID filtered by the filters provided in the query. */\n get: operations['configuredApiCount']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/dashboards/{dashboardId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the dataset for the given report ID and dashboard ID filtered by the filters provided in the query. */\n get: operations['configuredApiDatasetForDashboard']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/dashboards/{dashboardId}/tables/{tableId}/result': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the resulting rows of the executed statement in a paginated fashion which has been stored in a dedicated table. */\n get: operations['getDashboardQueryExecutionResult']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/dashboards/{dashboardId}/statements/{statementId}/status': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the status of the dashboard statement execution based on the statement ID provided.The following status values can be returned:\n * ABORTED - The query run was stopped by the user.\n * ALL - A status value that includes all query statuses. This value can be used to filter results.\n * FAILED - The query run failed.\n * FINISHED - The query has finished running.\n * PICKED - The query has been chosen to be run.\n * STARTED - The query run has started.\n * SUBMITTED - The query was submitted, but not yet processed.\n * Note: When the status is FAILED the error field of the response will be populated.ResultRows is the number of rows returned from the SQL statement. A -1 indicates the value is null.ResultSize is the size in bytes of the returned results. A -1 indicates the value is null.\n * For Athena:\n * Athena automatically retries your queries in cases of certain transient errors. As a result, you may see the query state transition from STARTED or FAILED to SUBMITTED.\n * */\n get: operations['getDashboardExecutionStatus']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/report/tables/{tableId}/count': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Returns the number of rows of the table which contains the result of a previously executed query. */\n get: operations['getExternalTableRowCount']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/productCollections': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Gets all product collections */\n get: operations['getCollections']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/productCollections/{id}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Gets product collection by id */\n get: operations['getCollections_1']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/definitions': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Gets summaries of all report definitions */\n get: operations['definitions_1']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/definitions/{reportId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Gets report definition summary */\n get: operations['definitionSummary']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/definitions/{reportId}/{variantId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Gets report definition containing a single variant. */\n get: operations['definition']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/definitions/{dataProductDefinitionId}/dashboards/{dashboardId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Gets the metric dashboard definition. */\n get: operations['dashboardDefinition']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/async/reports/{reportId}/{reportVariantId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Executes asynchronously the dataset query for the given report and stores the result into an external table.The response returned contains the table ID and the execution ID. This is the asynchronous version of the /reports/{reportId}/{reportVariantId} API. */\n get: operations['asyncConfiguredApiExecuteQuery']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/async/dashboards/{reportId}/{dashboardId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n /** @description Executes asynchronously the dataset query for the given dashboard and stores the result into an external table.The response returned contains the table ID and the execution ID. */\n get: operations['asyncExecuteDashboard']\n put?: never\n post?: never\n delete?: never\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/{reportVariantId}/statements/{statementId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n get?: never\n put?: never\n post?: never\n /** @description Cancels the execution of a running query. */\n delete: operations['cancelReportQueryExecution']\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n '/reports/{reportId}/dashboards/{dashboardId}/statements/{statementId}': {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n get?: never\n put?: never\n post?: never\n /** @description Cancels the execution of a running query. */\n delete: operations['cancelDashboardQueryExecution']\n options?: never\n head?: never\n patch?: never\n trace?: never\n }\n}\nexport type webhooks = Record<string, never>\nexport interface components {\n schemas: {\n ErrorResponse: {\n /** Format: int32 */\n status: number\n /** Format: int32 */\n errorCode?: number\n userMessage?: string\n developerMessage?: string\n moreInfo?: string\n }\n MissingReportSubmission: {\n userId: string\n reportId: string\n reportVariantId: string\n reason?: string\n /** Format: int32 */\n id?: number\n }\n Count: {\n /**\n * Format: int64\n * @description The total number of records\n * @example 501\n */\n count: number\n }\n StatementExecutionStatus: {\n /** @description The status of the statement execution. */\n status: string\n /**\n * Format: int64\n * @description The amount of time in nanoseconds that the statement ran.\n * @example 10562762848\n */\n duration: number\n /**\n * Format: int64\n * @description The number of rows returned from the query.\n * @example 10\n */\n resultRows: number\n /**\n * Format: int64\n * @description The size in bytes of the returned results. A -1 indicates the value is null.\n * @example 0\n */\n resultSize?: number\n /** @description Contains a short description of the error that occurred. */\n error?: string\n /**\n * Format: int32\n * @description Specific to Athena queries. An integer value that specifies the category of a query failure error. The following list shows the category for each integer value.\n * 1 - System\n * 2 - User\n * 3 - Other\n */\n errorCategory?: number\n /** @description Specific to Athena queries. Further detail about the status of the query. */\n stateChangeReason?: string\n }\n ProductCollectionSummary: {\n id: string\n name: string\n version: string\n ownerName: string\n }\n ProductCollectionDTO: {\n id: string\n name: string\n version: string\n ownerName: string\n products: components['schemas']['ProductCollectionProduct'][]\n }\n ProductCollectionProduct: {\n productId: string\n }\n DashboardDefinitionSummary: {\n id: string\n name: string\n description?: string\n /** @enum {string} */\n loadType?: 'sync' | 'async'\n }\n ReportDefinitionSummary: {\n id: string\n name: string\n description?: string\n variants: components['schemas']['VariantDefinitionSummary'][]\n dashboards?: components['schemas']['DashboardDefinitionSummary'][]\n authorised: boolean\n }\n VariantDefinitionSummary: {\n id: string\n name: string\n description?: string\n isMissing: boolean\n /** @enum {string} */\n loadType?: 'sync' | 'async'\n }\n ChildVariantDefinition: {\n id: string\n name: string\n resourceName: string\n specification?: components['schemas']['Specification']\n joinFields: string[]\n }\n DynamicFilterOption: {\n /** Format: int32 */\n minimumLength?: number\n }\n FieldDefinition: {\n name: string\n display: string\n /** @enum {string} */\n wordWrap?: 'none' | 'normal' | 'break-words'\n filter?: components['schemas']['FilterDefinition']\n sortable: boolean\n defaultsort: boolean\n /** @enum {string} */\n sortDirection?: 'asc' | 'desc'\n /** @enum {string} */\n type: 'boolean' | 'date' | 'double' | 'HTML' | 'long' | 'string' | 'time'\n mandatory: boolean\n visible: boolean\n calculated: boolean\n header: boolean\n }\n FilterDefinition: {\n /** @enum {string} */\n type: 'Radio' | 'Select' | 'multiselect' | 'daterange' | 'autocomplete' | 'text' | 'date' | 'granulardaterange'\n mandatory: boolean\n pattern?: string\n staticOptions?: components['schemas']['FilterOption'][]\n dynamicOptions?: components['schemas']['DynamicFilterOption']\n defaultValue?: string\n min?: string\n max?: string\n interactive?: boolean\n /** @enum {string} */\n defaultGranularity?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'annually'\n /** @enum {string} */\n defaultQuickFilterValue?:\n | 'today'\n | 'yesterday'\n | 'last-seven-days'\n | 'last-thirty-days'\n | 'last-month'\n | 'last-full-month'\n | 'last-ninety-days'\n | 'last-three-months'\n | 'last-full-three-months'\n | 'last-year'\n | 'last-full-year'\n | 'tomorrow'\n | 'next-seven-days'\n | 'next-thirty-days'\n | 'next-month'\n | 'next-full-month'\n | 'next-ninety-days'\n | 'next-three-months'\n | 'next-full-three-months'\n | 'next-year'\n | 'next-full-year'\n /** Format: int32 */\n index?: number\n }\n FilterOption: {\n name: string\n display: string\n }\n ReportSummary: {\n id: string\n /** @enum {string} */\n template: 'table-header' | 'table-footer' | 'section-header' | 'section-footer' | 'page-header' | 'page-footer'\n fields: components['schemas']['SummaryField'][]\n }\n SingleVariantReportDefinition: {\n id: string\n name: string\n description?: string\n variant: components['schemas']['VariantDefinition']\n }\n Specification: {\n /** @enum {string} */\n template:\n | 'list'\n | 'list-section'\n | 'list-tab'\n | 'summary'\n | 'summary-section'\n | 'parent-child'\n | 'parent-child-section'\n | 'row-section'\n | 'row-section-child'\n fields: components['schemas']['FieldDefinition'][]\n sections: string[]\n }\n SummaryField: {\n name: string\n display?: string\n /** @enum {string} */\n type?: 'boolean' | 'date' | 'double' | 'HTML' | 'long' | 'string' | 'time'\n header?: boolean\n mergeRows?: boolean\n }\n VariantDefinition: {\n id: string\n name: string\n resourceName: string\n description?: string\n specification?: components['schemas']['Specification']\n classification?: string\n printable?: boolean\n summaries?: components['schemas']['ReportSummary'][]\n interactive?: boolean\n childVariants?: components['schemas']['ChildVariantDefinition'][]\n }\n DashboardBucketDefinition: {\n /** Format: int64 */\n min?: number\n /** Format: int64 */\n max?: number\n hexColour?: string\n }\n DashboardDefinition: {\n id: string\n name: string\n description?: string\n sections: components['schemas']['DashboardSectionDefinition'][]\n filterFields?: components['schemas']['FieldDefinition'][]\n }\n DashboardOptionDefinition: {\n useRagColour?: boolean\n baseColour?: string\n buckets?: components['schemas']['DashboardBucketDefinition'][]\n showLatest?: boolean\n columnsAsList?: boolean\n }\n DashboardSectionDefinition: {\n id: string\n display?: string\n description?: string\n visualisations: components['schemas']['DashboardVisualisationDefinition'][]\n }\n DashboardVisualisationColumnDefinition: {\n id: string\n display?: string\n /** @enum {string} */\n aggregate?: 'sum' | 'average'\n /** @enum {string} */\n unit?: 'NUMBER' | 'PERCENTAGE'\n displayValue?: boolean\n axis?: string\n optional?: boolean\n }\n DashboardVisualisationColumnsDefinition: {\n keys?: components['schemas']['DashboardVisualisationColumnDefinition'][]\n measures: components['schemas']['DashboardVisualisationColumnDefinition'][]\n filters?: components['schemas']['ValueVisualisationColumnDefinition'][]\n expectNulls: boolean\n }\n DashboardVisualisationDefinition: {\n id: string\n /** @enum {string} */\n type:\n | 'list'\n | 'doughnut'\n | 'bar'\n | 'bar-timeseries'\n | 'line'\n | 'scorecard'\n | 'scorecard-group'\n | 'matrix-timeseries'\n | 'line-timeseries'\n display?: string\n description?: string\n columns: components['schemas']['DashboardVisualisationColumnsDefinition']\n options?: components['schemas']['DashboardOptionDefinition']\n }\n ValueVisualisationColumnDefinition: {\n id: string\n equals: string\n }\n StatementExecutionResponse: {\n tableId: string\n executionId: string\n }\n StatementCancellationResponse: {\n /** @description A value that indicates whether the cancel statement succeeded (true). */\n cancellationSucceeded: boolean\n }\n }\n responses: never\n parameters: never\n requestBodies: never\n headers: never\n pathItems: never\n}\nexport type $defs = Record<string, never>\nexport interface operations {\n requestMissing: {\n parameters: {\n query?: never\n header?: never\n path: {\n reportId: string\n /**\n * @description The ID of the variant definition.\n * @example list\n */\n variantId: string\n }\n cookie?: never\n }\n requestBody?: {\n content: {\n 'application/json': string\n }\n }\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['MissingReportSubmission']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n definitions: {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': string[]\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n configuredApiDataset: {\n parameters: {\n query: {\n selectedPage?: number\n pageSize?: number\n sortColumn?: string\n sortedAsc?: boolean\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': {\n [key: string]: Record<string, never>\n }[]\n }\n }\n }\n }\n configuredApiDynamicFilter: {\n parameters: {\n query: {\n pageSize?: number\n sortedAsc?: boolean\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n /**\n * @description The value to match the start of the fieldId\n * @example Lond\n */\n prefix: string\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n /**\n * @description The name of the schema field which will be used as a dynamic filter.\n * @example name\n */\n fieldId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': string[]\n }\n }\n }\n }\n getQueryExecutionResult: {\n parameters: {\n query: {\n dataProductDefinitionsPath?: string\n selectedPage?: number\n pageSize?: number\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n sortColumn?: string\n sortedAsc?: boolean\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n tableId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': {\n [key: string]: Record<string, never>\n }[]\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n getSummaryQueryExecutionResult: {\n parameters: {\n query: {\n dataProductDefinitionsPath?: string\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n tableId: string\n summaryId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': {\n [key: string]: Record<string, never>\n }[]\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n getInteractiveExternalTableRowCount: {\n parameters: {\n query: {\n filters: {\n [key: string]: string\n }\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n tableId: string\n reportId: string\n reportVariantId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['Count']\n }\n }\n }\n }\n getQueryExecutionStatus: {\n parameters: {\n query?: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n /**\n * @description External table ID.\n * @example reports._6b3c6dfb_f601_4795_8ee5_2ad65b7fb283\n */\n tableId?: string\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n statementId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['StatementExecutionStatus']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n configuredApiCount: {\n parameters: {\n query: {\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['Count']\n }\n }\n }\n }\n configuredApiDatasetForDashboard: {\n parameters: {\n query: {\n selectedPage?: number\n pageSize?: number\n sortColumn?: string\n sortedAsc?: boolean\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n reportId: string\n dashboardId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': {\n [key: string]: Record<string, never>\n }[]\n }\n }\n }\n }\n getDashboardQueryExecutionResult: {\n parameters: {\n query: {\n dataProductDefinitionsPath?: string\n selectedPage?: number\n pageSize?: number\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n }\n header?: never\n path: {\n reportId: string\n dashboardId: string\n tableId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': {\n [key: string]: Record<string, never>\n }[][]\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n getDashboardExecutionStatus: {\n parameters: {\n query?: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n /**\n * @description External table ID.\n * @example reports._6b3c6dfb_f601_4795_8ee5_2ad65b7fb283\n */\n tableId?: string\n }\n header?: never\n path: {\n reportId: string\n dashboardId: string\n statementId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['StatementExecutionStatus']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n getExternalTableRowCount: {\n parameters: {\n query?: never\n header?: never\n path: {\n tableId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['Count']\n }\n }\n }\n }\n getCollections: {\n parameters: {\n query?: never\n header?: never\n path?: never\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ProductCollectionSummary'][]\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n getCollections_1: {\n parameters: {\n query?: never\n header?: never\n path: {\n /**\n * @description The ID of the product collection.\n * @example 72c22579-3f77-4e23-8d16-1e5aadcc88c9\n */\n id: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ProductCollectionDTO']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n definitions_1: {\n parameters: {\n query?: {\n /**\n * @description Set this parameter to filter the list to only include reports for the given rendering method.\n * @example HTML\n */\n renderMethod?: 'HTML' | 'PDF' | 'SVG'\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path?: never\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ReportDefinitionSummary'][]\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n definitionSummary: {\n parameters: {\n query?: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n /**\n * @description The ID of the report definition.\n * @example external-movements\n */\n reportId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ReportDefinitionSummary']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n definition: {\n parameters: {\n query: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n }\n header?: never\n path: {\n /**\n * @description The ID of the report definition.\n * @example external-movements\n */\n reportId: string\n /**\n * @description The ID of the variant definition.\n * @example list\n */\n variantId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['SingleVariantReportDefinition']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n dashboardDefinition: {\n parameters: {\n query: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n }\n header?: never\n path: {\n /**\n * @description The ID of the Data Product Definition.\n * @example external-movements\n */\n dataProductDefinitionId: string\n /**\n * @description The ID of the dashboard.\n * @example dashboardId\n */\n dashboardId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['DashboardDefinition']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n asyncConfiguredApiExecuteQuery: {\n parameters: {\n query: {\n sortColumn?: string\n sortedAsc?: boolean\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n * Note: For legacy nomis and bodmis reports, for filters deriving from DPD parameters(prompts),there is no need for these to be suffixed with .start and .end. For example, filters.start_date and filters.end_date are perfectly valid in this case.\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['StatementExecutionResponse']\n }\n }\n }\n }\n asyncExecuteDashboard: {\n parameters: {\n query: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n /**\n * @description The filter query parameters have to start with the prefix \"filters.\" followed by the name of the filter.\n * For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.\n * For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:\n * filters.someMultiselectFilter=a,b,c\n *\n * @example {\n * \"filters.date.start\": \"2023-04-25\",\n * \"filters.date.end\": \"2023-05-30\",\n * \"filters.someMultiselectFilter\": \"a,b,c\"\n * }\n */\n filters: {\n [key: string]: string\n }\n }\n header?: never\n path: {\n reportId: string\n dashboardId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description default response */\n default: {\n headers: {\n /** @description Provides additional information about why no data has been returned. */\n 'x-no-data-warning'?: string\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['StatementExecutionResponse']\n }\n }\n }\n }\n cancelReportQueryExecution: {\n parameters: {\n query?: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n reportId: string\n reportVariantId: string\n statementId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['StatementCancellationResponse']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n cancelDashboardQueryExecution: {\n parameters: {\n query?: {\n /**\n * @description This optional parameter sets the path of the directory of the data product definition files your application will use.\n * \"This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.\n * @example definitions/prisons/orphanage\n */\n dataProductDefinitionsPath?: string\n }\n header?: never\n path: {\n reportId: string\n dashboardId: string\n statementId: string\n }\n cookie?: never\n }\n requestBody?: never\n responses: {\n /** @description OK */\n 200: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['StatementCancellationResponse']\n }\n }\n /** @description Bad Request */\n 400: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Too Many Requests */\n 429: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n /** @description Internal Server Error */\n 500: {\n headers: {\n [name: string]: unknown\n }\n content: {\n 'application/json': components['schemas']['ErrorResponse']\n }\n }\n }\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/types/index.d.ts"],
3
+ "sources": ["../../dpr/types/index.d.ts"],
4
4
  "sourcesContent": ["import Dict = NodeJS.Dict\n\nexport interface ListRequest {\n selectedPage: number\n pageSize: number\n sortColumn?: string | undefined\n sortedAsc: boolean\n}\n\nexport interface FilteredListRequest extends ListRequest {\n filters: Dict<string>\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.ts"],
3
+ "sources": ["../../../dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.ts"],
4
4
  "sourcesContent": ["import Dict = NodeJS.Dict\nimport { AsyncSummary } from '../../types/UserReports'\nimport { SummaryTemplate } from '../../types/Templates'\nimport { components } from '../../types/api'\nimport { DataTable } from '../DataTableBuilder/types'\nimport SummaryDataTableBuilder from '../SummaryDataTableBuilder/SummaryDataTableBuilder'\n\nclass CollatedSummaryBuilder {\n private summaries: Array<AsyncSummary>\n\n private specification: components['schemas']['Specification']\n\n constructor(specification: components['schemas']['Specification'], summaries: Array<AsyncSummary>) {\n this.specification = specification\n this.summaries = summaries\n }\n\n pageSummaryTemplates: Array<SummaryTemplate> = ['page-header', 'page-footer']\n\n dataTableSummaryTemplates: Array<SummaryTemplate> = [\n 'section-footer',\n 'section-header',\n 'table-footer',\n 'table-header',\n ]\n\n collatePageSummaries(): Dict<Array<DataTable>> {\n return this.collateAndMapToDataTable(this.pageSummaryTemplates)\n }\n\n collateDataTableSummaries(): Dict<Array<AsyncSummary>> {\n return this.collate(this.dataTableSummaryTemplates)\n }\n\n collateAndMapToDataTable(summaryTemplates: Array<SummaryTemplate> = []): Dict<Array<DataTable>> {\n const collatedSummaries = this.collate(summaryTemplates)\n\n return this.mapToDataTables(collatedSummaries)\n }\n\n collate(summaryTemplates: Array<SummaryTemplate> = this.pageSummaryTemplates): Dict<Array<AsyncSummary>> {\n const collatedSummaries: Dict<Array<AsyncSummary>> = {}\n if (this.summaries) {\n this.summaries.forEach((summary: AsyncSummary) => {\n const { template } = summary\n if (summaryTemplates.includes(template)) {\n if (!collatedSummaries[template]) {\n collatedSummaries[template] = []\n }\n collatedSummaries[template].push(summary)\n }\n })\n }\n\n return collatedSummaries\n }\n\n private mapToDataTables(summaries: Dict<Array<AsyncSummary>>): Dict<Array<DataTable>> {\n const dataTables: Dict<Array<DataTable>> = {}\n\n Object.keys(summaries).forEach((summaryType) => {\n if (summaries[summaryType]) {\n dataTables[summaryType] = summaries[summaryType].map((summary) => {\n return new SummaryDataTableBuilder(summary, this.specification.sections).buildSummaryTable()\n })\n }\n })\n\n return dataTables\n }\n}\n\nexport { CollatedSummaryBuilder }\nexport default CollatedSummaryBuilder\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qCAAoC;AAEpC,MAAM,uBAAuB;AAAA,EACnB;AAAA,EAEA;AAAA,EAER,YAAY,eAAuD,WAAgC;AACjG,SAAK,gBAAgB;AACrB,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,uBAA+C,CAAC,eAAe,aAAa;AAAA,EAE5E,4BAAoD;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,uBAA+C;AAC7C,WAAO,KAAK,yBAAyB,KAAK,oBAAoB;AAAA,EAChE;AAAA,EAEA,4BAAuD;AACrD,WAAO,KAAK,QAAQ,KAAK,yBAAyB;AAAA,EACpD;AAAA,EAEA,yBAAyB,mBAA2C,CAAC,GAA2B;AAC9F,UAAM,oBAAoB,KAAK,QAAQ,gBAAgB;AAEvD,WAAO,KAAK,gBAAgB,iBAAiB;AAAA,EAC/C;AAAA,EAEA,QAAQ,mBAA2C,KAAK,sBAAiD;AACvG,UAAM,oBAA+C,CAAC;AACtD,QAAI,KAAK,WAAW;AAClB,WAAK,UAAU,QAAQ,CAAC,YAA0B;AAChD,cAAM,EAAE,SAAS,IAAI;AACrB,YAAI,iBAAiB,SAAS,QAAQ,GAAG;AACvC,cAAI,CAAC,kBAAkB,QAAQ,GAAG;AAChC,8BAAkB,QAAQ,IAAI,CAAC;AAAA,UACjC;AACA,4BAAkB,QAAQ,EAAE,KAAK,OAAO;AAAA,QAC1C;AAAA,MACF,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,EACT;AAAA,EAEQ,gBAAgB,WAA8D;AACpF,UAAM,aAAqC,CAAC;AAE5C,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,gBAAgB;AAC9C,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,WAAW,IAAI,UAAU,WAAW,EAAE,IAAI,CAAC,YAAY;AAChE,iBAAO,IAAI,+BAAAA,QAAwB,SAAS,KAAK,cAAc,QAAQ,EAAE,kBAAkB;AAAA,QAC7F,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AACF;AAGA,IAAO,iCAAQ;",
6
6
  "names": ["SummaryDataTableBuilder"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/dpr/utils/CreateDprServices.ts"],
3
+ "sources": ["../../dpr/utils/CreateDprServices.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport {\n DownloadPermissionService,\n BookmarkService,\n RequestedReportService,\n RecentlyViewedStoreService,\n ReportingService,\n DashboardService,\n DefaultFilterValuesService,\n} from '../services'\nimport ReportDataStore from '../data/reportDataStore'\nimport ReportingClient from '../data/reportingClient'\nimport DashboardClient from '../data/dashboardClient'\nimport MissingReportClient from '../data/missingReportClient'\nimport ProductCollectionClient from '../data/productCollectionClient'\nimport logger from './logger'\nimport { Services } from '../types/Services'\nimport { MissingReportService } from '../services/missingReport/missingReportService'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\nimport { ServiceFeatureConfig } from '../types/DprConfig'\nimport { FeatureFlagService } from '../services/featureFlagService'\n\nexport interface InitDPRServicesArgs {\n reportingClient: ReportingClient\n dashboardClient: DashboardClient\n reportDataStore: ReportDataStore\n missingReportClient: MissingReportClient\n productCollectionClient: ProductCollectionClient\n featureFlagService: FeatureFlagService\n}\n\ninterface dprServices {\n reportingService: ReportingService\n dashboardService: DashboardService\n productCollectionService: ProductCollectionService\n requestedReportService: RequestedReportService\n missingReportService: MissingReportService\n recentlyViewedService: RecentlyViewedStoreService\n bookmarkService: BookmarkService\n downloadPermissionService: DownloadPermissionService\n defaultFilterValuesService: DefaultFilterValuesService\n productCollectionStoreService: ProductCollectionStoreService\n featureFlagService: FeatureFlagService\n}\n\nexport const createDprServices = (\n clients: InitDPRServicesArgs,\n serviceFeatureConfig: ServiceFeatureConfig = {\n bookmarking: false,\n download: false,\n collections: false,\n missingReports: false,\n saveDefaults: false,\n },\n): Services => {\n logger.info('Initialising DPR services...')\n\n const { reportingClient, dashboardClient, reportDataStore, missingReportClient, productCollectionClient } = clients\n const services: dprServices = {\n reportingService: new ReportingService(reportingClient),\n dashboardService: new DashboardService(dashboardClient),\n\n requestedReportService: new RequestedReportService(reportDataStore),\n recentlyViewedService: new RecentlyViewedStoreService(reportDataStore),\n bookmarkService: new BookmarkService(reportDataStore, serviceFeatureConfig),\n\n defaultFilterValuesService: new DefaultFilterValuesService(reportDataStore, serviceFeatureConfig),\n productCollectionStoreService: new ProductCollectionStoreService(reportDataStore, serviceFeatureConfig),\n downloadPermissionService: new DownloadPermissionService(reportDataStore, serviceFeatureConfig),\n\n missingReportService: new MissingReportService(missingReportClient, serviceFeatureConfig),\n productCollectionService: new ProductCollectionService(productCollectionClient, serviceFeatureConfig),\n featureFlagService: clients.featureFlagService,\n }\n return services as Services\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAQO;AAMP,oBAAmB;AAEnB,kCAAqC;AACrC,2CAA8C;AAC9C,sCAAyC;AA2BlC,MAAM,oBAAoB,CAC/B,SACA,uBAA6C;AAAA,EAC3C,aAAa;AAAA,EACb,UAAU;AAAA,EACV,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAChB,MACa;AACb,gBAAAA,QAAO,KAAK,8BAA8B;AAE1C,QAAM,EAAE,iBAAiB,iBAAiB,iBAAiB,qBAAqB,wBAAwB,IAAI;AAC5G,QAAM,WAAwB;AAAA,IAC5B,kBAAkB,IAAI,iCAAiB,eAAe;AAAA,IACtD,kBAAkB,IAAI,iCAAiB,eAAe;AAAA,IAEtD,wBAAwB,IAAI,uCAAuB,eAAe;AAAA,IAClE,uBAAuB,IAAI,2CAA2B,eAAe;AAAA,IACrE,iBAAiB,IAAI,gCAAgB,iBAAiB,oBAAoB;AAAA,IAE1E,4BAA4B,IAAI,2CAA2B,iBAAiB,oBAAoB;AAAA,IAChG,+BAA+B,IAAI,mEAA8B,iBAAiB,oBAAoB;AAAA,IACtG,2BAA2B,IAAI,0CAA0B,iBAAiB,oBAAoB;AAAA,IAE9F,sBAAsB,IAAI,iDAAqB,qBAAqB,oBAAoB;AAAA,IACxF,0BAA0B,IAAI,yDAAyB,yBAAyB,oBAAoB;AAAA,IACpG,oBAAoB,QAAQ;AAAA,EAC9B;AACA,SAAO;AACT;",
6
6
  "names": ["logger"]