@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.16.1 → 4.17.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 (211) hide show
  1. package/dpr/components/_catalogue/catalogue/utils.js +1 -1
  2. package/dpr/components/_catalogue/catalogue/utils.js.map +3 -3
  3. package/dpr/components/_catalogue/catalogue/utils.test.ts +15 -1
  4. package/dpr/components/_catalogue/catalogue/utils.ts +22 -4
  5. package/dpr/components/_catalogue/catalogue/view.njk +2 -1
  6. package/dpr/components/_catalogue/catalogue-filters/view.njk +2 -2
  7. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  8. package/dpr/components/_catalogue/catalogue-list/utils.js.map +3 -3
  9. package/dpr/components/_catalogue/catalogue-list/utils.ts +4 -5
  10. package/dpr/components/_catalogue/catalogue-search/clientClass.mjs +14 -0
  11. package/dpr/components/_catalogue/catalogue-search/view.njk +24 -1
  12. package/dpr/components/_charts/chart/Buckets.js +1 -1
  13. package/dpr/components/_charts/chart/Buckets.js.map +3 -3
  14. package/dpr/components/_charts/chart/Buckets.ts +44 -36
  15. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
  16. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  17. package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +22 -14
  18. package/dpr/components/_charts/chart/heatmap/types.js +2 -0
  19. package/dpr/components/_charts/chart/heatmap/types.js.map +7 -0
  20. package/dpr/components/_charts/chart/heatmap/types.ts +6 -0
  21. package/dpr/components/_charts/utils.js +1 -1
  22. package/dpr/components/_charts/utils.js.map +3 -3
  23. package/dpr/components/_charts/utils.test.ts +10 -7
  24. package/dpr/components/_charts/utils.ts +57 -50
  25. package/dpr/components/_dashboards/dashboard/view.njk +1 -1
  26. package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
  27. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  28. package/dpr/components/_dashboards/dashboard-list/utils.test.ts +3 -3
  29. package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -12
  30. package/dpr/components/_dashboards/dashboard-section/view.njk +1 -1
  31. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +2 -0
  32. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +7 -0
  33. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +40 -0
  34. package/dpr/components/_dashboards/dashboard-visualisation/types.js +2 -0
  35. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +7 -0
  36. package/dpr/components/_dashboards/dashboard-visualisation/types.ts +102 -0
  37. package/dpr/components/_dashboards/dashboard-visualisation/view.njk +1 -1
  38. package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
  39. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  40. package/dpr/components/_dashboards/scorecard/Scorecard.ts +37 -29
  41. package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
  42. package/dpr/components/_dashboards/scorecard/types.ts +1 -0
  43. package/dpr/components/_dashboards/scorecard/utils.js +1 -1
  44. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  45. package/dpr/components/_dashboards/scorecard/utils.test.ts +13 -4
  46. package/dpr/components/_dashboards/scorecard/utils.ts +6 -5
  47. package/dpr/components/_dashboards/scorecard/view.njk +6 -5
  48. package/dpr/components/_dashboards/scorecard-group/view.njk +4 -4
  49. package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
  50. package/dpr/components/_reports/report-actions/types.d.ts +1 -1
  51. package/dpr/components/_reports/report-heading/view.njk +1 -1
  52. package/dpr/data/dashboardClient.js +1 -1
  53. package/dpr/data/dashboardClient.js.map +2 -2
  54. package/dpr/data/dashboardClient.ts +8 -7
  55. package/dpr/data/dprReportingClient.js +1 -1
  56. package/dpr/data/dprReportingClient.js.map +3 -3
  57. package/dpr/data/dprReportingClient.ts +2 -0
  58. package/dpr/data/reportingClient.js +1 -1
  59. package/dpr/data/reportingClient.js.map +1 -1
  60. package/dpr/data/reportingClient.ts +1 -1
  61. package/dpr/middleware/reportAuthoriser.js +1 -1
  62. package/dpr/middleware/reportAuthoriser.js.map +3 -3
  63. package/dpr/middleware/reportAuthoriser.ts +9 -20
  64. package/dpr/middleware/setUpDprResources.js +1 -1
  65. package/dpr/middleware/setUpDprResources.js.map +3 -3
  66. package/dpr/middleware/setUpDprResources.test.ts +7 -0
  67. package/dpr/middleware/setUpDprResources.ts +17 -2
  68. package/dpr/routes/journeys/download-report/controller.js +1 -1
  69. package/dpr/routes/journeys/download-report/controller.js.map +3 -3
  70. package/dpr/routes/journeys/download-report/controller.ts +4 -1
  71. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
  72. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +2 -2
  73. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.ts +1 -0
  74. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
  75. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  76. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.ts +1 -0
  77. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  78. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  79. package/dpr/routes/journeys/download-report/tests.cy.ts +2 -7
  80. package/dpr/routes/journeys/download-report/utils.js +1 -1
  81. package/dpr/routes/journeys/download-report/utils.js.map +3 -3
  82. package/dpr/routes/journeys/download-report/utils.ts +10 -7
  83. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
  84. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  85. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -0
  86. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  87. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +3 -3
  88. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +5 -12
  89. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
  90. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
  91. package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +11 -5
  92. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  93. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +3 -3
  94. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +4 -6
  95. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
  96. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  97. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.ts +1 -0
  98. package/dpr/routes/journeys/product-collection/routes.js +2 -0
  99. package/dpr/routes/journeys/product-collection/routes.js.map +7 -0
  100. package/dpr/routes/journeys/product-collection/routes.ts +28 -0
  101. package/dpr/routes/journeys/product-collection/selected/controller.js +2 -0
  102. package/dpr/routes/journeys/product-collection/selected/controller.js.map +7 -0
  103. package/dpr/routes/journeys/product-collection/selected/controller.ts +29 -0
  104. package/dpr/routes/journeys/product-collection/selected/routes.js +2 -0
  105. package/dpr/routes/journeys/product-collection/selected/routes.js.map +7 -0
  106. package/dpr/routes/journeys/product-collection/selected/routes.ts +15 -0
  107. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +2 -0
  108. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +7 -0
  109. package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +54 -0
  110. package/dpr/routes/journeys/product-collection/selected/validation.js +2 -0
  111. package/dpr/routes/journeys/product-collection/selected/validation.js.map +7 -0
  112. package/dpr/routes/journeys/product-collection/selected/validation.ts +5 -0
  113. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
  114. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  115. package/dpr/routes/journeys/request-missing-report/form/tests.cy.ts +1 -0
  116. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  117. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  118. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +3 -4
  119. package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
  120. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +3 -3
  121. package/dpr/routes/journeys/request-report/filters/tests.cy.ts +3 -6
  122. package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
  123. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  124. package/dpr/routes/journeys/request-report/filters/utils.ts +2 -3
  125. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  126. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  127. package/dpr/routes/journeys/request-report/status/tests.cy.ts +2 -6
  128. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  129. package/dpr/routes/journeys/request-report/tests.cy.js.map +3 -3
  130. package/dpr/routes/journeys/request-report/tests.cy.ts +5 -32
  131. package/dpr/routes/journeys/routes.js +1 -1
  132. package/dpr/routes/journeys/routes.js.map +2 -2
  133. package/dpr/routes/journeys/routes.ts +2 -0
  134. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  135. package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
  136. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  137. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  138. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -9
  139. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  140. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
  141. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +100 -95
  142. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  143. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  144. package/dpr/routes/journeys/view-report/async/report/controller.ts +4 -6
  145. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  146. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  147. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +8 -17
  148. package/dpr/routes/journeys/view-report/async/report/types.js +2 -0
  149. package/dpr/routes/journeys/view-report/async/report/types.js.map +7 -0
  150. package/dpr/routes/journeys/view-report/async/report/types.ts +31 -0
  151. package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
  152. package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
  153. package/dpr/routes/journeys/view-report/async/report/utils.ts +173 -136
  154. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  155. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +3 -3
  156. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +3 -4
  157. package/dpr/services/dashboardService.js +1 -1
  158. package/dpr/services/dashboardService.js.map +2 -2
  159. package/dpr/services/dashboardService.ts +7 -5
  160. package/dpr/services/productCollection/productCollectionService.js +2 -0
  161. package/dpr/services/productCollection/productCollectionService.js.map +7 -0
  162. package/dpr/services/productCollection/productCollectionService.ts +25 -0
  163. package/dpr/services/productCollection/productCollectionStoreService.js +2 -0
  164. package/dpr/services/productCollection/productCollectionStoreService.js.map +7 -0
  165. package/dpr/services/productCollection/productCollectionStoreService.ts +26 -0
  166. package/dpr/services/reportingService.js +1 -1
  167. package/dpr/services/reportingService.js.map +1 -1
  168. package/dpr/services/reportingService.ts +1 -1
  169. package/dpr/types/AsyncReportUtils.js.map +1 -1
  170. package/dpr/types/AsyncReportUtils.ts +3 -4
  171. package/dpr/types/Charts.js +1 -1
  172. package/dpr/types/Charts.js.map +3 -3
  173. package/dpr/types/Charts.ts +0 -82
  174. package/dpr/types/Metrics.js +1 -1
  175. package/dpr/types/Metrics.js.map +1 -1
  176. package/dpr/types/Metrics.ts +7 -0
  177. package/dpr/types/ReportQuery.js +1 -1
  178. package/dpr/types/ReportQuery.js.map +3 -3
  179. package/dpr/types/ReportQuery.ts +24 -15
  180. package/dpr/types/ReportStore.js +1 -1
  181. package/dpr/types/ReportStore.js.map +1 -1
  182. package/dpr/types/ReportStore.ts +1 -0
  183. package/dpr/types/Services.d.js +1 -1
  184. package/dpr/types/Services.d.js.map +1 -1
  185. package/dpr/types/Services.d.ts +15 -0
  186. package/dpr/types/api.d.js +1 -1
  187. package/dpr/types/api.d.js.map +1 -1
  188. package/dpr/types/api.d.ts +197 -6
  189. package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
  190. package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
  191. package/dpr/utils/Personalisation/personalisationUtils.ts +15 -6
  192. package/dpr/utils/ReportStoreServiceUtils.js +1 -1
  193. package/dpr/utils/ReportStoreServiceUtils.js.map +3 -3
  194. package/dpr/utils/ReportStoreServiceUtils.ts +7 -0
  195. package/dpr/utils/UserStoreItemBuilder.js +1 -1
  196. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  197. package/dpr/utils/UserStoreItemBuilder.ts +2 -2
  198. package/dpr/utils/datasetHelper.js +1 -1
  199. package/dpr/utils/datasetHelper.js.map +3 -3
  200. package/dpr/utils/datasetHelper.test.ts +11 -11
  201. package/dpr/utils/datasetHelper.ts +23 -8
  202. package/dpr/utils/logger.js +1 -1
  203. package/dpr/utils/logger.js.map +3 -3
  204. package/dpr/utils/logger.ts +6 -1
  205. package/package.json +2 -1
  206. package/dpr/components/_charts/chart/DashboardVisualisation.js +0 -2
  207. package/dpr/components/_charts/chart/DashboardVisualisation.js.map +0 -7
  208. package/dpr/components/_charts/chart/DashboardVisualisation.ts +0 -43
  209. package/dpr/components/_dashboards/dashboard/types.js +0 -2
  210. package/dpr/components/_dashboards/dashboard/types.js.map +0 -7
  211. package/dpr/components/_dashboards/dashboard/types.ts +0 -120
@@ -3,8 +3,6 @@
3
3
  * Do not make direct changes to the file.
4
4
  */
5
5
 
6
- import { LoadType } from './UserReports'
7
-
8
6
  export interface paths {
9
7
  '/missingRequest/{reportId}/{variantId}': {
10
8
  parameters: {
@@ -232,6 +230,40 @@ export interface paths {
232
230
  patch?: never
233
231
  trace?: never
234
232
  }
233
+ '/productCollections': {
234
+ parameters: {
235
+ query?: never
236
+ header?: never
237
+ path?: never
238
+ cookie?: never
239
+ }
240
+ /** @description Gets all product collections */
241
+ get: operations['getCollections']
242
+ put?: never
243
+ post?: never
244
+ delete?: never
245
+ options?: never
246
+ head?: never
247
+ patch?: never
248
+ trace?: never
249
+ }
250
+ '/productCollections/{id}': {
251
+ parameters: {
252
+ query?: never
253
+ header?: never
254
+ path?: never
255
+ cookie?: never
256
+ }
257
+ /** @description Gets product collection by id */
258
+ get: operations['getCollections_1']
259
+ put?: never
260
+ post?: never
261
+ delete?: never
262
+ options?: never
263
+ head?: never
264
+ patch?: never
265
+ trace?: never
266
+ }
235
267
  '/definitions': {
236
268
  parameters: {
237
269
  query?: never
@@ -431,12 +463,28 @@ export interface components {
431
463
  /** @description Specific to Athena queries. Further detail about the status of the query. */
432
464
  stateChangeReason?: string
433
465
  }
466
+ ProductCollectionSummary: {
467
+ id: string
468
+ name: string
469
+ version: string
470
+ ownerName: string
471
+ }
472
+ ProductCollectionDTO: {
473
+ id: string
474
+ name: string
475
+ version: string
476
+ ownerName: string
477
+ products: components['schemas']['ProductCollectionProduct'][]
478
+ }
479
+ ProductCollectionProduct: {
480
+ productId: string
481
+ }
434
482
  DashboardDefinitionSummary: {
435
483
  id: string
436
484
  name: string
437
485
  description?: string
438
486
  /** @enum {string} */
439
- loadType?: 'sync' | 'async'
487
+ loadType?: LoadType
440
488
  }
441
489
  ReportDefinitionSummary: {
442
490
  id: string
@@ -452,7 +500,7 @@ export interface components {
452
500
  description?: string
453
501
  isMissing: boolean
454
502
  /** @enum {string} */
455
- loadType?: LoadType
503
+ loadType?: 'sync' | 'async'
456
504
  }
457
505
  ChildVariantDefinition: {
458
506
  id: string
@@ -572,6 +620,13 @@ export interface components {
572
620
  interactive?: boolean
573
621
  childVariants?: components['schemas']['ChildVariantDefinition'][]
574
622
  }
623
+ DashboardBucketDefinition: {
624
+ /** Format: int64 */
625
+ min?: number
626
+ /** Format: int64 */
627
+ max?: number
628
+ hexColour?: string
629
+ }
575
630
  DashboardDefinition: {
576
631
  id: string
577
632
  name: string
@@ -579,6 +634,13 @@ export interface components {
579
634
  sections: components['schemas']['DashboardSectionDefinition'][]
580
635
  filterFields?: components['schemas']['FieldDefinition'][]
581
636
  }
637
+ DashboardOptionDefinition: {
638
+ useRagColour?: boolean
639
+ baseColour?: string
640
+ buckets?: components['schemas']['DashboardBucketDefinition'][]
641
+ showLatest?: boolean
642
+ columnsAsList?: boolean
643
+ }
582
644
  DashboardSectionDefinition: {
583
645
  id: string
584
646
  display?: string
@@ -587,13 +649,14 @@ export interface components {
587
649
  }
588
650
  DashboardVisualisationColumnDefinition: {
589
651
  id: string
590
- display: string
652
+ display?: string
591
653
  /** @enum {string} */
592
654
  aggregate?: 'sum' | 'average'
593
655
  /** @enum {string} */
594
656
  unit?: 'NUMBER' | 'PERCENTAGE'
595
657
  displayValue?: boolean
596
658
  axis?: string
659
+ optional?: boolean
597
660
  }
598
661
  DashboardVisualisationColumnsDefinition: {
599
662
  keys?: components['schemas']['DashboardVisualisationColumnDefinition'][]
@@ -604,10 +667,20 @@ export interface components {
604
667
  DashboardVisualisationDefinition: {
605
668
  id: string
606
669
  /** @enum {string} */
607
- type: 'list' | 'doughnut' | 'bar' | 'bar-timeseries' | 'line' | 'scorecard' | 'scorecard-group'
670
+ type:
671
+ | 'list'
672
+ | 'doughnut'
673
+ | 'bar'
674
+ | 'bar-timeseries'
675
+ | 'line'
676
+ | 'scorecard'
677
+ | 'scorecard-group'
678
+ | 'matrix-timeseries'
679
+ | 'line-timeseries'
608
680
  display?: string
609
681
  description?: string
610
682
  columns: components['schemas']['DashboardVisualisationColumnsDefinition']
683
+ options?: components['schemas']['DashboardOptionDefinition']
611
684
  }
612
685
  ValueVisualisationColumnDefinition: {
613
686
  id: string
@@ -1535,6 +1608,124 @@ export interface operations {
1535
1608
  }
1536
1609
  }
1537
1610
  }
1611
+ getCollections: {
1612
+ parameters: {
1613
+ query?: never
1614
+ header?: never
1615
+ path?: never
1616
+ cookie?: never
1617
+ }
1618
+ requestBody?: never
1619
+ responses: {
1620
+ /** @description OK */
1621
+ 200: {
1622
+ headers: {
1623
+ [name: string]: unknown
1624
+ }
1625
+ content: {
1626
+ 'application/json': components['schemas']['ProductCollectionSummary'][]
1627
+ }
1628
+ }
1629
+ /** @description Bad Request */
1630
+ 400: {
1631
+ headers: {
1632
+ [name: string]: unknown
1633
+ }
1634
+ content: {
1635
+ 'application/json': components['schemas']['ErrorResponse']
1636
+ }
1637
+ }
1638
+ /** @description Forbidden */
1639
+ 403: {
1640
+ headers: {
1641
+ [name: string]: unknown
1642
+ }
1643
+ content: {
1644
+ 'application/json': components['schemas']['ErrorResponse']
1645
+ }
1646
+ }
1647
+ /** @description Too Many Requests */
1648
+ 429: {
1649
+ headers: {
1650
+ [name: string]: unknown
1651
+ }
1652
+ content: {
1653
+ 'application/json': components['schemas']['ErrorResponse']
1654
+ }
1655
+ }
1656
+ /** @description Internal Server Error */
1657
+ 500: {
1658
+ headers: {
1659
+ [name: string]: unknown
1660
+ }
1661
+ content: {
1662
+ 'application/json': components['schemas']['ErrorResponse']
1663
+ }
1664
+ }
1665
+ }
1666
+ }
1667
+ getCollections_1: {
1668
+ parameters: {
1669
+ query?: never
1670
+ header?: never
1671
+ path: {
1672
+ /**
1673
+ * @description The ID of the product collection.
1674
+ * @example 72c22579-3f77-4e23-8d16-1e5aadcc88c9
1675
+ */
1676
+ id: string
1677
+ }
1678
+ cookie?: never
1679
+ }
1680
+ requestBody?: never
1681
+ responses: {
1682
+ /** @description OK */
1683
+ 200: {
1684
+ headers: {
1685
+ [name: string]: unknown
1686
+ }
1687
+ content: {
1688
+ 'application/json': components['schemas']['ProductCollectionDTO']
1689
+ }
1690
+ }
1691
+ /** @description Bad Request */
1692
+ 400: {
1693
+ headers: {
1694
+ [name: string]: unknown
1695
+ }
1696
+ content: {
1697
+ 'application/json': components['schemas']['ErrorResponse']
1698
+ }
1699
+ }
1700
+ /** @description Forbidden */
1701
+ 403: {
1702
+ headers: {
1703
+ [name: string]: unknown
1704
+ }
1705
+ content: {
1706
+ 'application/json': components['schemas']['ErrorResponse']
1707
+ }
1708
+ }
1709
+ /** @description Too Many Requests */
1710
+ 429: {
1711
+ headers: {
1712
+ [name: string]: unknown
1713
+ }
1714
+ content: {
1715
+ 'application/json': components['schemas']['ErrorResponse']
1716
+ }
1717
+ }
1718
+ /** @description Internal Server Error */
1719
+ 500: {
1720
+ headers: {
1721
+ [name: string]: unknown
1722
+ }
1723
+ content: {
1724
+ 'application/json': components['schemas']['ErrorResponse']
1725
+ }
1726
+ }
1727
+ }
1728
+ }
1538
1729
  definitions_1: {
1539
1730
  parameters: {
1540
1731
  query?: {
@@ -1,2 +1,2 @@
1
- var k=Object.create;var V=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var M=(e,t)=>{for(var a in t)V(e,a,{get:t[a],enumerable:!0})},C=(e,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of P(t))!G.call(e,n)&&n!==a&&V(e,n,{get:()=>t[n],enumerable:!(o=A(t,n))||o.enumerable});return e};var d=(e,t,a)=>(a=e!=null?k(E(e)):{},C(t||!e||!e.__esModule?V(a,"default",{value:e,enumerable:!0}):a,e)),j=e=>C(V({},"__esModule",{value:!0}),e);var H={};M(H,{default:()=>B,removeDefaults:()=>T,saveDefaults:()=>h,setFilterValuesFromSavedDefaults:()=>x,setUserContextDefaults:()=>I});module.exports=j(H);var m=d(require("../localsHelper")),R=require("../../types/UserReports"),c=require("../../components/_filters/filter-input/enum"),y=d(require("../../components/_inputs/date-range/utils")),D=d(require("../../components/_inputs/granular-date-range/utils")),b=d(require("../../components/_inputs/multi-select/utils")),S=d(require("../../components/_inputs/date-input/utils"));const h=async(e,t,a,o)=>{const n=await W(a,t,o,e),{dprUser:u}=m.default.getValues(t),{reportId:i,id:s}=a.params;return o.defaultFilterValuesService.save(u.id,i,s,n)},T=async(e,t,a,o)=>{const{dprUser:n}=m.default.getValues(t),{reportId:u,id:i}=a.params;return o.defaultFilterValuesService.delete(n.id,u,i,e)},W=async(e,t,a,o)=>{const{token:n,definitionsPath:u}=m.default.getValues(t),{reportId:i,id:s,type:r}=e.params,f=await(r===R.ReportType.REPORT?a.reportingService:a.dashboardService).getDefinition(n,i,s,u),O=r===R.ReportType.REPORT?f.variant.specification.fields:f.filterFields,L=Object.keys(e.body).filter(l=>l.includes("filters.")||l.includes("sortColumn")||l.includes("sortedAsc")).map(l=>({name:l.replace("filters.",""),value:e.body[l]})).map(l=>{const v=l.name.split(".")[0],g=O.find(w=>w.name===v);let{value:F,name:p}=l;if(g)switch(g.filter?.type.toLocaleLowerCase()){case c.FilterType.multiselect.toLocaleLowerCase():F=Array.isArray(l.value)?l.value.join(","):l.value;break;case c.FilterType.dateRange.toLocaleLowerCase():({value:F,name:p}=y.default.setDefaultValue(e,p));break;case c.FilterType.granularDateRange.toLocaleLowerCase():({name:p,value:F}=D.default.setDefaultValue(e,p));break;default:break}return{name:p,value:F,type:o}});return Array.from(new Set(L.map(l=>l.name))).map(l=>L.find(v=>v.name===l)).filter(l=>l!==void 0).filter(l=>l?l.value!=="":!1)},x=(e,t,a)=>{const o=e.some(i=>a.findIndex(r=>r.name===i.name)!==-1),n=e.map(i=>{const s=a.find(f=>f.name===i.name);let r={...i};switch(i.type.toLocaleLowerCase()){case c.FilterType.multiselect.toLocaleLowerCase():r=b.default.setFilterValuesFromSavedDefault(r,o,s);break;case c.FilterType.date.toLocaleLowerCase():o&&(r.value=""),s&&(r=S.default.setFilterValueFromDefault(s,r));break;case c.FilterType.dateRange.toLocaleLowerCase():o&&(r.value={start:"",end:"",relative:void 0}),s&&(r=y.default.setFilterValueFromDefault(s,r));break;case c.FilterType.granularDateRange.toLocaleLowerCase():o&&(r.value={start:"",end:"",granularity:void 0,quickFilter:void 0}),s&&(r=D.default.setFilterValueFromDefault(s,r));break;default:{let f=o?"":r.value;f=s?s.value:f,r={...i,value:f}}break}return r}),u=t.map(i=>{const s=a.find(r=>r.name===i.name);return{...i,...s&&{value:s.value}}});return{filters:n,sortBy:u}},I=(e,t)=>{const{dprUser:a}=m.default.getValues(e),{activeCaseLoadId:o}=a;return t.forEach(n=>{if(n.type.toLocaleLowerCase()===c.FilterType.autocomplete.toLocaleLowerCase()&&n.text.toLocaleLowerCase().includes("establishment")&&o?.length){const u=n,i=u.options.find(s=>s.value===o);i&&(u.value=i.text,u.staticOptionNameValue=o)}}),t};var B={saveDefaults:h,removeDefaults:T,setFilterValuesFromSavedDefaults:x,setUserContextDefaults:I};0&&(module.exports={removeDefaults,saveDefaults,setFilterValuesFromSavedDefaults,setUserContextDefaults});
1
+ var k=Object.create;var v=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var P=(e,t)=>{for(var l in t)v(e,l,{get:t[l],enumerable:!0})},C=(e,t,l,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of A(t))!M.call(e,n)&&n!==l&&v(e,n,{get:()=>t[n],enumerable:!(s=O(t,n))||s.enumerable});return e};var m=(e,t,l)=>(l=e!=null?k(G(e)):{},C(t||!e||!e.__esModule?v(l,"default",{value:e,enumerable:!0}):l,e)),j=e=>C(v({},"__esModule",{value:!0}),e);var B={};P(B,{default:()=>W,removeDefaults:()=>T,saveDefaults:()=>x,setFilterValuesFromSavedDefaults:()=>I,setUserContextDefaults:()=>U});module.exports=j(B);var V=m(require("../localsHelper")),b=require("../../types/UserReports"),f=require("../../components/_filters/filter-input/enum"),R=m(require("../../components/_inputs/date-range/utils")),y=m(require("../../components/_inputs/granular-date-range/utils")),h=m(require("../../components/_inputs/multi-select/utils")),S=m(require("../../components/_inputs/date-input/utils"));const x=async(e,t,l,s)=>{const n=await E(l,t,s,e),{dprUser:u}=V.default.getValues(t),{reportId:i,id:a}=l.params,{defaultFilterValuesService:r}=s;return r?r.save(u.id,i,a,n):void 0},T=async(e,t,l,s)=>{const{dprUser:n}=V.default.getValues(t),{reportId:u,id:i}=l.params,{defaultFilterValuesService:a}=s;return a?a.delete(n.id,u,i,e):void 0},E=async(e,t,l,s)=>{const{token:n,definitionsPath:u}=V.default.getValues(t),{reportId:i,id:a,type:r}=e.params;let p,c=[];r===b.ReportType.REPORT?(p=await l.reportingService.getDefinition(n,i,a,u),c=p.variant.specification?.fields||[]):(p=await l.dashboardService.getDefinition(n,i,a,u),c=p.filterFields||[]);const g=Object.keys(e.body).filter(o=>o.includes("filters.")||o.includes("sortColumn")||o.includes("sortedAsc")).map(o=>({name:o.replace("filters.",""),value:e.body[o]})).map(o=>{const D=o.name.split(".")[0],L=c.find(w=>w.name===D);let{value:F,name:d}=o;if(L)switch(L.filter?.type.toLocaleLowerCase()){case f.FilterType.multiselect.toLocaleLowerCase():F=Array.isArray(o.value)?o.value.join(","):o.value;break;case f.FilterType.dateRange.toLocaleLowerCase():({value:F,name:d}=R.default.setDefaultValue(e,d));break;case f.FilterType.granularDateRange.toLocaleLowerCase():({name:d,value:F}=y.default.setDefaultValue(e,d));break;default:break}return{name:d,value:F,type:s}});return Array.from(new Set(g.map(o=>o.name))).map(o=>g.find(D=>D.name===o)).filter(o=>o!==void 0).filter(o=>o?o.value!=="":!1)},I=(e,t,l)=>{const s=e.some(i=>l.findIndex(r=>r.name===i.name)!==-1),n=e.map(i=>{const a=l.find(c=>c.name===i.name);let r={...i};switch(i.type.toLocaleLowerCase()){case f.FilterType.multiselect.toLocaleLowerCase():r=h.default.setFilterValuesFromSavedDefault(r,s,a);break;case f.FilterType.date.toLocaleLowerCase():s&&(r.value=""),a&&(r=S.default.setFilterValueFromDefault(a,r));break;case f.FilterType.dateRange.toLocaleLowerCase():s&&(r.value={start:"",end:"",relative:void 0}),a&&(r=R.default.setFilterValueFromDefault(a,r));break;case f.FilterType.granularDateRange.toLocaleLowerCase():s&&(r.value={start:"",end:"",granularity:void 0,quickFilter:void 0}),a&&(r=y.default.setFilterValueFromDefault(a,r));break;default:{let c=s?"":r.value;c=a?a.value:c,r={...i,value:c}}break}return r}),u=t.map(i=>{const a=l.find(r=>r.name===i.name);return{...i,...a&&{value:a.value}}});return{filters:n,sortBy:u}},U=(e,t)=>{const{dprUser:l}=V.default.getValues(e),{activeCaseLoadId:s}=l;return t.forEach(n=>{if(n.type.toLocaleLowerCase()===f.FilterType.autocomplete.toLocaleLowerCase()&&n.text.toLocaleLowerCase().includes("establishment")&&s?.length){const u=n,i=u.options.find(a=>a.value===s);i&&(u.value=i.text,u.staticOptionNameValue=s)}}),t};var W={saveDefaults:x,removeDefaults:T,setFilterValuesFromSavedDefaults:I,setUserContextDefaults:U};0&&(module.exports={removeDefaults,saveDefaults,setFilterValuesFromSavedDefaults,setUserContextDefaults});
2
2
  //# sourceMappingURL=personalisationUtils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/utils/Personalisation/personalisationUtils.ts"],
4
- "sourcesContent": ["import { Request, Response } from 'express'\nimport { Services } from '../../types/Services'\nimport localsHelper from '../localsHelper'\nimport { ReportType } from '../../types/UserReports'\nimport { components } from '../../types/api'\nimport { FilterType } from '../../components/_filters/filter-input/enum'\nimport DateRangeInputUtils from '../../components/_inputs/date-range/utils'\nimport GranularDateRangeInputUtils from '../../components/_inputs/granular-date-range/utils'\nimport MultiSelectUtils from '../../components/_inputs/multi-select/utils'\nimport DateInputUtils from '../../components/_inputs/date-input/utils'\nimport { RenderFiltersReturnValue } from '../../components/_async/async-filters-form/types'\nimport {\n DateFilterValue,\n DateRangeFilterValue,\n FilterValue,\n FilterValueWithOptions,\n GranularDateRangeFilterValue,\n MultiselectFilterValue,\n} from '../../components/_filters/types'\nimport { defaultFilterValue } from './types'\nimport { FiltersType } from '../../components/_filters/filtersTypeEnum'\n\nexport const saveDefaults = async (type: FiltersType, res: Response, req: Request, services: Services) => {\n const defaultValuesForReport = await getDefaultValues(req, res, services, type)\n const { dprUser } = localsHelper.getValues(res)\n const { reportId, id } = req.params\n return services.defaultFilterValuesService.save(dprUser.id, reportId, id, defaultValuesForReport)\n}\n\nexport const removeDefaults = async (type: FiltersType, res: Response, req: Request, services: Services) => {\n const { dprUser } = localsHelper.getValues(res)\n const { reportId, id } = req.params\n return services.defaultFilterValuesService.delete(dprUser.id, reportId, id, type)\n}\n\nconst getDefaultValues = async (\n req: Request,\n res: Response,\n services: Services,\n filtersType: FiltersType,\n): Promise<defaultFilterValue[]> => {\n const { token, definitionsPath } = localsHelper.getValues(res)\n const { reportId, id, type } = req.params\n\n const service = type === ReportType.REPORT ? services.reportingService : services.dashboardService\n const definition = await service.getDefinition(token, reportId, id, definitionsPath)\n const fields: components['schemas']['FieldDefinition'][] =\n type === ReportType.REPORT ? definition.variant.specification.fields : definition.filterFields\n\n const bodyFilterValues = Object.keys(req.body)\n .filter((k) => {\n return k.includes('filters.') || k.includes('sortColumn') || k.includes('sortedAsc')\n })\n .map((k) => {\n return { name: k.replace('filters.', ''), value: req.body[k] }\n })\n .map((k) => {\n const n = k.name.split('.')[0]\n const field = fields.find((f) => f.name === n)\n let { value, name } = k\n\n if (field) {\n const filterType = field.filter?.type.toLocaleLowerCase()\n\n switch (filterType) {\n case FilterType.multiselect.toLocaleLowerCase():\n value = Array.isArray(k.value) ? k.value.join(',') : k.value\n break\n\n case FilterType.dateRange.toLocaleLowerCase():\n ;({ value, name } = DateRangeInputUtils.setDefaultValue(req, name))\n break\n\n case FilterType.granularDateRange.toLocaleLowerCase():\n ;({ name, value } = GranularDateRangeInputUtils.setDefaultValue(req, name))\n break\n\n default:\n break\n }\n }\n\n return {\n name,\n value,\n type: filtersType,\n }\n })\n\n const defaultValuesConfig = Array.from(new Set(bodyFilterValues.map((a) => a.name)))\n .map((name) => {\n return bodyFilterValues.find((a) => a.name === name)\n })\n .filter((c) => c !== undefined)\n\n return defaultValuesConfig.filter((defaultValue) => {\n return defaultValue ? defaultValue.value !== '' : false\n })\n}\n\nexport const setFilterValuesFromSavedDefaults = (\n filters: FilterValue[],\n sortBy: FilterValue[],\n defaultValues: defaultFilterValue[],\n): RenderFiltersReturnValue => {\n const hasDefaults = filters.some((f) => {\n const defaultValue = defaultValues.findIndex((v) => v.name === f.name)\n return defaultValue !== -1\n })\n\n const filterValues = filters.map((filter) => {\n const defaultValue = defaultValues.find((v) => v.name === filter.name)\n let updatedFilter = {\n ...filter,\n }\n const type = filter.type.toLocaleLowerCase()\n\n switch (type) {\n case FilterType.multiselect.toLocaleLowerCase():\n updatedFilter = MultiSelectUtils.setFilterValuesFromSavedDefault(\n <MultiselectFilterValue>updatedFilter,\n hasDefaults,\n defaultValue,\n )\n break\n case FilterType.date.toLocaleLowerCase():\n if (hasDefaults) {\n updatedFilter.value = ''\n }\n if (defaultValue) {\n updatedFilter = <DateFilterValue>DateInputUtils.setFilterValueFromDefault(defaultValue, updatedFilter)\n }\n break\n case FilterType.dateRange.toLocaleLowerCase():\n if (hasDefaults) {\n updatedFilter.value = { start: '', end: '', relative: undefined }\n }\n if (defaultValue) {\n updatedFilter = <DateRangeFilterValue>(\n DateRangeInputUtils.setFilterValueFromDefault(defaultValue, updatedFilter)\n )\n }\n break\n case FilterType.granularDateRange.toLocaleLowerCase():\n if (hasDefaults) {\n updatedFilter.value = { start: '', end: '', granularity: undefined, quickFilter: undefined }\n }\n if (defaultValue) {\n updatedFilter = <GranularDateRangeFilterValue>(\n GranularDateRangeInputUtils.setFilterValueFromDefault(defaultValue, updatedFilter)\n )\n }\n break\n default:\n {\n let value = hasDefaults ? '' : updatedFilter.value\n value = defaultValue ? defaultValue.value : value\n updatedFilter = {\n ...filter,\n value,\n }\n }\n\n break\n }\n\n return updatedFilter\n })\n\n const sortValues = sortBy.map((sortFilter) => {\n const defaultValue = defaultValues.find((v) => v.name === sortFilter.name)\n return {\n ...sortFilter,\n ...(defaultValue && { value: defaultValue.value }),\n }\n })\n\n return {\n filters: filterValues,\n sortBy: sortValues,\n }\n}\n\nexport const setUserContextDefaults = (res: Response, filters: FilterValue[]) => {\n const { dprUser } = localsHelper.getValues(res)\n const { activeCaseLoadId } = dprUser\n\n filters.forEach((filter) => {\n if (\n filter.type.toLocaleLowerCase() === FilterType.autocomplete.toLocaleLowerCase() &&\n filter.text.toLocaleLowerCase().includes('establishment') &&\n activeCaseLoadId?.length\n ) {\n const f = <FilterValueWithOptions>filter\n const option = f.options.find((opt) => opt.value === activeCaseLoadId)\n\n if (option) {\n f.value = option.text\n f.staticOptionNameValue = activeCaseLoadId\n }\n }\n })\n\n return filters\n}\n\nexport default { saveDefaults, removeDefaults, setFilterValuesFromSavedDefaults, setUserContextDefaults }\n"],
5
- "mappings": "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",
6
- "names": ["personalisationUtils_exports", "__export", "personalisationUtils_default", "removeDefaults", "saveDefaults", "setFilterValuesFromSavedDefaults", "setUserContextDefaults", "__toCommonJS", "import_localsHelper", "import_UserReports", "import_enum", "import_utils", "type", "res", "req", "services", "defaultValuesForReport", "getDefaultValues", "dprUser", "localsHelper", "reportId", "id", "filtersType", "token", "definitionsPath", "definition", "fields", "bodyFilterValues", "k", "n", "field", "f", "value", "name", "DateRangeInputUtils", "GranularDateRangeInputUtils", "a", "c", "defaultValue", "filters", "sortBy", "defaultValues", "hasDefaults", "v", "filterValues", "filter", "updatedFilter", "MultiSelectUtils", "DateInputUtils", "sortValues", "sortFilter", "activeCaseLoadId", "option", "opt"]
4
+ "sourcesContent": ["import { Request, Response } from 'express'\nimport { Services } from '../../types/Services'\nimport localsHelper from '../localsHelper'\nimport { ReportType } from '../../types/UserReports'\nimport { components } from '../../types/api'\nimport { FilterType } from '../../components/_filters/filter-input/enum'\nimport DateRangeInputUtils from '../../components/_inputs/date-range/utils'\nimport GranularDateRangeInputUtils from '../../components/_inputs/granular-date-range/utils'\nimport MultiSelectUtils from '../../components/_inputs/multi-select/utils'\nimport DateInputUtils from '../../components/_inputs/date-input/utils'\nimport { RenderFiltersReturnValue } from '../../components/_async/async-filters-form/types'\nimport {\n DateFilterValue,\n DateRangeFilterValue,\n FilterValue,\n FilterValueWithOptions,\n GranularDateRangeFilterValue,\n MultiselectFilterValue,\n} from '../../components/_filters/types'\nimport { defaultFilterValue } from './types'\nimport { FiltersType } from '../../components/_filters/filtersTypeEnum'\n\nexport const saveDefaults = async (type: FiltersType, res: Response, req: Request, services: Services) => {\n const defaultValuesForReport = await getDefaultValues(req, res, services, type)\n const { dprUser } = localsHelper.getValues(res)\n const { reportId, id } = req.params\n const { defaultFilterValuesService } = services\n return defaultFilterValuesService\n ? defaultFilterValuesService.save(dprUser.id, reportId, id, defaultValuesForReport)\n : undefined\n}\n\nexport const removeDefaults = async (type: FiltersType, res: Response, req: Request, services: Services) => {\n const { dprUser } = localsHelper.getValues(res)\n const { reportId, id } = req.params\n const { defaultFilterValuesService } = services\n return defaultFilterValuesService ? defaultFilterValuesService.delete(dprUser.id, reportId, id, type) : undefined\n}\n\nconst getDefaultValues = async (\n req: Request,\n res: Response,\n services: Services,\n filtersType: FiltersType,\n): Promise<defaultFilterValue[]> => {\n const { token, definitionsPath } = localsHelper.getValues(res)\n const { reportId, id, type } = req.params\n\n let definition: components['schemas']['SingleVariantReportDefinition'] | components['schemas']['DashboardDefinition']\n let fields = []\n if (type === ReportType.REPORT) {\n definition = await services.reportingService.getDefinition(token, reportId, id, definitionsPath)\n fields = definition.variant.specification?.fields || []\n } else {\n definition = await services.dashboardService.getDefinition(token, reportId, id, definitionsPath)\n fields = definition.filterFields || []\n }\n\n const bodyFilterValues = Object.keys(req.body)\n .filter((k) => {\n return k.includes('filters.') || k.includes('sortColumn') || k.includes('sortedAsc')\n })\n .map((k) => {\n return { name: k.replace('filters.', ''), value: req.body[k] }\n })\n .map((k) => {\n const n = k.name.split('.')[0]\n const field = fields.find((f) => f.name === n)\n let { value, name } = k\n\n if (field) {\n const filterType = field.filter?.type.toLocaleLowerCase()\n\n switch (filterType) {\n case FilterType.multiselect.toLocaleLowerCase():\n value = Array.isArray(k.value) ? k.value.join(',') : k.value\n break\n\n case FilterType.dateRange.toLocaleLowerCase():\n ;({ value, name } = DateRangeInputUtils.setDefaultValue(req, name))\n break\n\n case FilterType.granularDateRange.toLocaleLowerCase():\n ;({ name, value } = GranularDateRangeInputUtils.setDefaultValue(req, name))\n break\n\n default:\n break\n }\n }\n\n return {\n name,\n value,\n type: filtersType,\n }\n })\n\n const defaultValuesConfig = Array.from(new Set(bodyFilterValues.map((a) => a.name)))\n .map((name) => {\n return bodyFilterValues.find((a) => a.name === name)\n })\n .filter((c) => c !== undefined)\n\n return defaultValuesConfig.filter((defaultValue) => {\n return defaultValue ? defaultValue.value !== '' : false\n })\n}\n\nexport const setFilterValuesFromSavedDefaults = (\n filters: FilterValue[],\n sortBy: FilterValue[],\n defaultValues: defaultFilterValue[],\n): RenderFiltersReturnValue => {\n const hasDefaults = filters.some((f) => {\n const defaultValue = defaultValues.findIndex((v) => v.name === f.name)\n return defaultValue !== -1\n })\n\n const filterValues = filters.map((filter) => {\n const defaultValue = defaultValues.find((v) => v.name === filter.name)\n let updatedFilter = {\n ...filter,\n }\n const type = filter.type.toLocaleLowerCase()\n\n switch (type) {\n case FilterType.multiselect.toLocaleLowerCase():\n updatedFilter = MultiSelectUtils.setFilterValuesFromSavedDefault(\n <MultiselectFilterValue>updatedFilter,\n hasDefaults,\n defaultValue,\n )\n break\n case FilterType.date.toLocaleLowerCase():\n if (hasDefaults) {\n updatedFilter.value = ''\n }\n if (defaultValue) {\n updatedFilter = <DateFilterValue>DateInputUtils.setFilterValueFromDefault(defaultValue, updatedFilter)\n }\n break\n case FilterType.dateRange.toLocaleLowerCase():\n if (hasDefaults) {\n updatedFilter.value = { start: '', end: '', relative: undefined }\n }\n if (defaultValue) {\n updatedFilter = <DateRangeFilterValue>(\n DateRangeInputUtils.setFilterValueFromDefault(defaultValue, updatedFilter)\n )\n }\n break\n case FilterType.granularDateRange.toLocaleLowerCase():\n if (hasDefaults) {\n updatedFilter.value = { start: '', end: '', granularity: undefined, quickFilter: undefined }\n }\n if (defaultValue) {\n updatedFilter = <GranularDateRangeFilterValue>(\n GranularDateRangeInputUtils.setFilterValueFromDefault(defaultValue, updatedFilter)\n )\n }\n break\n default:\n {\n let value = hasDefaults ? '' : updatedFilter.value\n value = defaultValue ? defaultValue.value : value\n updatedFilter = {\n ...filter,\n value,\n }\n }\n\n break\n }\n\n return updatedFilter\n })\n\n const sortValues = sortBy.map((sortFilter) => {\n const defaultValue = defaultValues.find((v) => v.name === sortFilter.name)\n return {\n ...sortFilter,\n ...(defaultValue && { value: defaultValue.value }),\n }\n })\n\n return {\n filters: filterValues,\n sortBy: sortValues,\n }\n}\n\nexport const setUserContextDefaults = (res: Response, filters: FilterValue[]) => {\n const { dprUser } = localsHelper.getValues(res)\n const { activeCaseLoadId } = dprUser\n\n filters.forEach((filter) => {\n if (\n filter.type.toLocaleLowerCase() === FilterType.autocomplete.toLocaleLowerCase() &&\n filter.text.toLocaleLowerCase().includes('establishment') &&\n activeCaseLoadId?.length\n ) {\n const f = <FilterValueWithOptions>filter\n const option = f.options.find((opt) => opt.value === activeCaseLoadId)\n\n if (option) {\n f.value = option.text\n f.staticOptionNameValue = activeCaseLoadId\n }\n }\n })\n\n return filters\n}\n\nexport default { saveDefaults, removeDefaults, setFilterValuesFromSavedDefaults, setUserContextDefaults }\n"],
5
+ "mappings": "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",
6
+ "names": ["personalisationUtils_exports", "__export", "personalisationUtils_default", "removeDefaults", "saveDefaults", "setFilterValuesFromSavedDefaults", "setUserContextDefaults", "__toCommonJS", "import_localsHelper", "import_UserReports", "import_enum", "import_utils", "type", "res", "req", "services", "defaultValuesForReport", "getDefaultValues", "dprUser", "localsHelper", "reportId", "id", "defaultFilterValuesService", "filtersType", "token", "definitionsPath", "definition", "fields", "bodyFilterValues", "k", "n", "field", "f", "value", "name", "DateRangeInputUtils", "GranularDateRangeInputUtils", "a", "c", "defaultValue", "filters", "sortBy", "defaultValues", "hasDefaults", "v", "filterValues", "filter", "updatedFilter", "MultiSelectUtils", "DateInputUtils", "sortValues", "sortFilter", "activeCaseLoadId", "option", "opt"]
7
7
  }
@@ -24,13 +24,17 @@ export const saveDefaults = async (type: FiltersType, res: Response, req: Reques
24
24
  const defaultValuesForReport = await getDefaultValues(req, res, services, type)
25
25
  const { dprUser } = localsHelper.getValues(res)
26
26
  const { reportId, id } = req.params
27
- return services.defaultFilterValuesService.save(dprUser.id, reportId, id, defaultValuesForReport)
27
+ const { defaultFilterValuesService } = services
28
+ return defaultFilterValuesService
29
+ ? defaultFilterValuesService.save(dprUser.id, reportId, id, defaultValuesForReport)
30
+ : undefined
28
31
  }
29
32
 
30
33
  export const removeDefaults = async (type: FiltersType, res: Response, req: Request, services: Services) => {
31
34
  const { dprUser } = localsHelper.getValues(res)
32
35
  const { reportId, id } = req.params
33
- return services.defaultFilterValuesService.delete(dprUser.id, reportId, id, type)
36
+ const { defaultFilterValuesService } = services
37
+ return defaultFilterValuesService ? defaultFilterValuesService.delete(dprUser.id, reportId, id, type) : undefined
34
38
  }
35
39
 
36
40
  const getDefaultValues = async (
@@ -42,10 +46,15 @@ const getDefaultValues = async (
42
46
  const { token, definitionsPath } = localsHelper.getValues(res)
43
47
  const { reportId, id, type } = req.params
44
48
 
45
- const service = type === ReportType.REPORT ? services.reportingService : services.dashboardService
46
- const definition = await service.getDefinition(token, reportId, id, definitionsPath)
47
- const fields: components['schemas']['FieldDefinition'][] =
48
- type === ReportType.REPORT ? definition.variant.specification.fields : definition.filterFields
49
+ let definition: components['schemas']['SingleVariantReportDefinition'] | components['schemas']['DashboardDefinition']
50
+ let fields = []
51
+ if (type === ReportType.REPORT) {
52
+ definition = await services.reportingService.getDefinition(token, reportId, id, definitionsPath)
53
+ fields = definition.variant.specification?.fields || []
54
+ } else {
55
+ definition = await services.dashboardService.getDefinition(token, reportId, id, definitionsPath)
56
+ fields = definition.filterFields || []
57
+ }
49
58
 
50
59
  const bodyFilterValues = Object.keys(req.body)
51
60
  .filter((k) => {
@@ -1,2 +1,2 @@
1
- var p=Object.create;var S=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var f=(e,r)=>{for(var i in r)S(e,i,{get:r[i],enumerable:!0})},d=(e,r,i,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of v(r))!m.call(e,n)&&n!==i&&S(e,n,{get:()=>r[n],enumerable:!(a=s(r,n))||a.enumerable});return e};var g=(e,r,i)=>(i=e!=null?p(R(e)):{},d(r||!e||!e.__esModule?S(i,"default",{value:e,enumerable:!0}):i,e)),u=e=>d(S({},"__esModule",{value:!0}),e);var P={};f(P,{createDprServices:()=>l,default:()=>h});module.exports=u(P);var o=require("../services"),c=g(require("./logger"));const l=(e,r={})=>{c.default.info("Creating DPR services...");const{reportingClient:i,dashboardClient:a,reportDataStore:n}=e;let t={};return i&&(t=C(t,i)),a&&(t=D(t,a)),n&&(t=w(n,t,r)),t={...t,missingReportClient:e.missingReportClient},t},C=(e,r)=>(e={...e,reportingService:new o.ReportingService(r)},e),D=(e,r)=>(e={...e,dashboardService:new o.DashboardService(r)},e),w=(e,r,i={})=>(r={...r,requestedReportService:new o.RequestedReportService(e),recentlyViewedService:new o.RecentlyViewedStoreService(e),defaultFilterValuesService:new o.DefaultFilterValuesService(e)},i.bookmarking===void 0||i.bookmarking?r=k(r,e):c.default.info("Service Disabled: BookmarkService"),i.download===void 0||i.download?r=b(r,e):c.default.info("Service Disabled: DownloadPermissionService"),r),b=(e,r)=>(e={...e,downloadPermissionService:new o.DownloadPermissionService(r)},e),k=(e,r)=>(e={...e,bookmarkService:new o.BookmarkService(r)},e);var h=l;0&&(module.exports={createDprServices});
1
+ var v=Object.create;var S=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var C=(e,r)=>{for(var o in r)S(e,o,{get:r[o],enumerable:!0})},a=(e,r,o,c)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of m(r))!u.call(e,n)&&n!==o&&S(e,n,{get:()=>r[n],enumerable:!(c=s(r,n))||c.enumerable});return e};var f=(e,r,o)=>(o=e!=null?v(R(e)):{},a(r||!e||!e.__esModule?S(o,"default",{value:e,enumerable:!0}):o,e)),g=e=>a(S({},"__esModule",{value:!0}),e);var V={};C(V,{createDprServices:()=>p,default:()=>h});module.exports=g(V);var i=require("../services"),l=f(require("./logger")),d=require("../services/productCollection/productCollectionStoreService");const p=(e,r={})=>{l.default.info("Creating DPR services...");const{reportingClient:o,dashboardClient:c,reportDataStore:n}=e;let t={};return o&&(t=w(t,o)),c&&(t=D(t,c)),n&&(t=b(n,t,r)),t={...t,missingReportClient:e.missingReportClient,productCollectionService:e.productCollectionService},t},w=(e,r)=>(e={...e,reportingService:new i.ReportingService(r)},e),D=(e,r)=>(e={...e,dashboardService:new i.DashboardService(r)},e),b=(e,r,o={})=>(r={...r,requestedReportService:new i.RequestedReportService(e),recentlyViewedService:new i.RecentlyViewedStoreService(e),defaultFilterValuesService:new i.DefaultFilterValuesService(e),productCollectionStoreService:new d.ProductCollectionStoreService(e)},o.bookmarking===void 0||o.bookmarking?r=P(r,e):l.default.info("Service Disabled: BookmarkService"),o.download===void 0||o.download?r=k(r,e):l.default.info("Service Disabled: DownloadPermissionService"),r),k=(e,r)=>(e={...e,downloadPermissionService:new i.DownloadPermissionService(r)},e),P=(e,r)=>(e={...e,bookmarkService:new i.BookmarkService(r)},e);var h=p;0&&(module.exports={createDprServices});
2
2
  //# sourceMappingURL=ReportStoreServiceUtils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/utils/ReportStoreServiceUtils.ts"],
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 logger from './logger'\nimport { Services } from '../types/Services'\nimport MissingReportClient from '../services/missingReport/missingReportClient'\n\nexport interface InitDPRServicesArgs {\n reportingClient: ReportingClient\n dashboardClient: DashboardClient\n reportDataStore: ReportDataStore\n missingReportClient: MissingReportClient\n}\n\ninterface dprServices {\n reportingService?: ReportingService\n dashboardService?: DashboardService\n requestedReportService?: RequestedReportService\n missingReportClient?: MissingReportClient\n recentlyViewedService?: RecentlyViewedStoreService\n bookmarkService?: BookmarkService\n downloadPermissionService?: DownloadPermissionService\n defaultFilterValuesService?: DefaultFilterValuesService\n}\n\nexport const createDprServices = (\n clients: InitDPRServicesArgs,\n reportStoreConfig: ReportStoreConfig = {},\n): Services => {\n logger.info('Creating DPR services...')\n\n const { reportingClient, dashboardClient, reportDataStore } = clients\n let services: dprServices = {}\n\n if (reportingClient) {\n services = createReportingService(services, reportingClient)\n }\n\n if (dashboardClient) {\n services = createDashboardService(services, dashboardClient)\n }\n\n if (reportDataStore) {\n services = createReportStoreServices(reportDataStore, services, reportStoreConfig)\n }\n\n services = {\n ...services,\n missingReportClient: clients.missingReportClient,\n }\n\n return services as Services\n}\n\nconst createReportingService = (services: dprServices, client: ReportingClient) => {\n services = {\n ...services,\n reportingService: new ReportingService(client),\n }\n\n return services\n}\n\nconst createDashboardService = (services: dprServices, client: DashboardClient) => {\n services = {\n ...services,\n dashboardService: new DashboardService(client),\n }\n\n return services\n}\n\ninterface ReportStoreConfig {\n bookmarking?: boolean\n download?: boolean\n}\n\nconst createReportStoreServices = (\n reportDataStore: ReportDataStore,\n services: dprServices,\n config: ReportStoreConfig = {},\n) => {\n services = {\n ...services,\n requestedReportService: new RequestedReportService(reportDataStore),\n recentlyViewedService: new RecentlyViewedStoreService(reportDataStore),\n defaultFilterValuesService: new DefaultFilterValuesService(reportDataStore),\n }\n\n if (config.bookmarking === undefined || config.bookmarking) {\n services = createBookmarkService(services, reportDataStore)\n } else {\n logger.info('Service Disabled: BookmarkService')\n }\n\n if (config.download === undefined || config.download) {\n services = createDownloadService(services, reportDataStore)\n } else {\n logger.info('Service Disabled: DownloadPermissionService')\n }\n\n return services\n}\n\nconst createDownloadService = (services: dprServices, reportDataStore: ReportDataStore) => {\n services = {\n ...services,\n downloadPermissionService: new DownloadPermissionService(reportDataStore),\n }\n\n return services\n}\n\nconst createBookmarkService = (services: dprServices, reportDataStore: ReportDataStore) => {\n services = {\n ...services,\n bookmarkService: new BookmarkService(reportDataStore),\n }\n\n return services\n}\n\nexport default createDprServices\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAQO,uBAIPC,EAAmB,uBAsBZ,MAAMJ,EAAoB,CAC/BK,EACAC,EAAuC,CAAC,IAC3B,CACb,EAAAC,QAAO,KAAK,0BAA0B,EAEtC,KAAM,CAAE,gBAAAC,EAAiB,gBAAAC,EAAiB,gBAAAC,CAAgB,EAAIL,EAC9D,IAAIM,EAAwB,CAAC,EAE7B,OAAIH,IACFG,EAAWC,EAAuBD,EAAUH,CAAe,GAGzDC,IACFE,EAAWE,EAAuBF,EAAUF,CAAe,GAGzDC,IACFC,EAAWG,EAA0BJ,EAAiBC,EAAUL,CAAiB,GAGnFK,EAAW,CACT,GAAGA,EACH,oBAAqBN,EAAQ,mBAC/B,EAEOM,CACT,EAEMC,EAAyB,CAACD,EAAuBI,KACrDJ,EAAW,CACT,GAAGA,EACH,iBAAkB,IAAI,mBAAiBI,CAAM,CAC/C,EAEOJ,GAGHE,EAAyB,CAACF,EAAuBI,KACrDJ,EAAW,CACT,GAAGA,EACH,iBAAkB,IAAI,mBAAiBI,CAAM,CAC/C,EAEOJ,GAQHG,EAA4B,CAChCJ,EACAC,EACAK,EAA4B,CAAC,KAE7BL,EAAW,CACT,GAAGA,EACH,uBAAwB,IAAI,yBAAuBD,CAAe,EAClE,sBAAuB,IAAI,6BAA2BA,CAAe,EACrE,2BAA4B,IAAI,6BAA2BA,CAAe,CAC5E,EAEIM,EAAO,cAAgB,QAAaA,EAAO,YAC7CL,EAAWM,EAAsBN,EAAUD,CAAe,EAE1D,EAAAH,QAAO,KAAK,mCAAmC,EAG7CS,EAAO,WAAa,QAAaA,EAAO,SAC1CL,EAAWO,EAAsBP,EAAUD,CAAe,EAE1D,EAAAH,QAAO,KAAK,6CAA6C,EAGpDI,GAGHO,EAAwB,CAACP,EAAuBD,KACpDC,EAAW,CACT,GAAGA,EACH,0BAA2B,IAAI,4BAA0BD,CAAe,CAC1E,EAEOC,GAGHM,EAAwB,CAACN,EAAuBD,KACpDC,EAAW,CACT,GAAGA,EACH,gBAAiB,IAAI,kBAAgBD,CAAe,CACtD,EAEOC,GAGT,IAAOV,EAAQD",
6
- "names": ["ReportStoreServiceUtils_exports", "__export", "createDprServices", "ReportStoreServiceUtils_default", "__toCommonJS", "import_services", "import_logger", "clients", "reportStoreConfig", "logger", "reportingClient", "dashboardClient", "reportDataStore", "services", "createReportingService", "createDashboardService", "createReportStoreServices", "client", "config", "createBookmarkService", "createDownloadService"]
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 logger from './logger'\nimport { Services } from '../types/Services'\nimport MissingReportClient from '../services/missingReport/missingReportClient'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\n\nexport interface InitDPRServicesArgs {\n reportingClient: ReportingClient\n dashboardClient: DashboardClient\n reportDataStore: ReportDataStore\n missingReportClient: MissingReportClient\n productCollectionService?: ProductCollectionService\n}\n\ninterface dprServices {\n reportingService?: ReportingService\n dashboardService?: DashboardService\n productCollectionService?: ProductCollectionService\n requestedReportService?: RequestedReportService\n missingReportClient?: MissingReportClient\n recentlyViewedService?: RecentlyViewedStoreService\n bookmarkService?: BookmarkService\n downloadPermissionService?: DownloadPermissionService\n defaultFilterValuesService?: DefaultFilterValuesService\n productCollectionStoreService?: ProductCollectionStoreService\n}\n\nexport const createDprServices = (\n clients: InitDPRServicesArgs,\n reportStoreConfig: ReportStoreConfig = {},\n): Services => {\n logger.info('Creating DPR services...')\n\n const { reportingClient, dashboardClient, reportDataStore } = clients\n let services: dprServices = {}\n\n if (reportingClient) {\n services = createReportingService(services, reportingClient)\n }\n\n if (dashboardClient) {\n services = createDashboardService(services, dashboardClient)\n }\n\n if (reportDataStore) {\n services = createReportStoreServices(reportDataStore, services, reportStoreConfig)\n }\n\n services = {\n ...services,\n missingReportClient: clients.missingReportClient,\n productCollectionService: clients.productCollectionService,\n }\n\n return services as Services\n}\n\nconst createReportingService = (services: dprServices, client: ReportingClient) => {\n services = {\n ...services,\n reportingService: new ReportingService(client),\n }\n\n return services\n}\n\nconst createDashboardService = (services: dprServices, client: DashboardClient) => {\n services = {\n ...services,\n dashboardService: new DashboardService(client),\n }\n\n return services\n}\n\ninterface ReportStoreConfig {\n bookmarking?: boolean\n download?: boolean\n}\n\nconst createReportStoreServices = (\n reportDataStore: ReportDataStore,\n services: dprServices,\n config: ReportStoreConfig = {},\n) => {\n services = {\n ...services,\n requestedReportService: new RequestedReportService(reportDataStore),\n recentlyViewedService: new RecentlyViewedStoreService(reportDataStore),\n defaultFilterValuesService: new DefaultFilterValuesService(reportDataStore),\n productCollectionStoreService: new ProductCollectionStoreService(reportDataStore),\n }\n\n if (config.bookmarking === undefined || config.bookmarking) {\n services = createBookmarkService(services, reportDataStore)\n } else {\n logger.info('Service Disabled: BookmarkService')\n }\n\n if (config.download === undefined || config.download) {\n services = createDownloadService(services, reportDataStore)\n } else {\n logger.info('Service Disabled: DownloadPermissionService')\n }\n\n return services\n}\n\nconst createDownloadService = (services: dprServices, reportDataStore: ReportDataStore) => {\n services = {\n ...services,\n downloadPermissionService: new DownloadPermissionService(reportDataStore),\n }\n\n return services\n}\n\nconst createBookmarkService = (services: dprServices, reportDataStore: ReportDataStore) => {\n services = {\n ...services,\n bookmarkService: new BookmarkService(reportDataStore),\n }\n\n return services\n}\n\nexport default createDprServices\n"],
5
+ "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAQO,uBAIPC,EAAmB,uBAGnBC,EAA8C,uEAwBvC,MAAML,EAAoB,CAC/BM,EACAC,EAAuC,CAAC,IAC3B,CACb,EAAAC,QAAO,KAAK,0BAA0B,EAEtC,KAAM,CAAE,gBAAAC,EAAiB,gBAAAC,EAAiB,gBAAAC,CAAgB,EAAIL,EAC9D,IAAIM,EAAwB,CAAC,EAE7B,OAAIH,IACFG,EAAWC,EAAuBD,EAAUH,CAAe,GAGzDC,IACFE,EAAWE,EAAuBF,EAAUF,CAAe,GAGzDC,IACFC,EAAWG,EAA0BJ,EAAiBC,EAAUL,CAAiB,GAGnFK,EAAW,CACT,GAAGA,EACH,oBAAqBN,EAAQ,oBAC7B,yBAA0BA,EAAQ,wBACpC,EAEOM,CACT,EAEMC,EAAyB,CAACD,EAAuBI,KACrDJ,EAAW,CACT,GAAGA,EACH,iBAAkB,IAAI,mBAAiBI,CAAM,CAC/C,EAEOJ,GAGHE,EAAyB,CAACF,EAAuBI,KACrDJ,EAAW,CACT,GAAGA,EACH,iBAAkB,IAAI,mBAAiBI,CAAM,CAC/C,EAEOJ,GAQHG,EAA4B,CAChCJ,EACAC,EACAK,EAA4B,CAAC,KAE7BL,EAAW,CACT,GAAGA,EACH,uBAAwB,IAAI,yBAAuBD,CAAe,EAClE,sBAAuB,IAAI,6BAA2BA,CAAe,EACrE,2BAA4B,IAAI,6BAA2BA,CAAe,EAC1E,8BAA+B,IAAI,gCAA8BA,CAAe,CAClF,EAEIM,EAAO,cAAgB,QAAaA,EAAO,YAC7CL,EAAWM,EAAsBN,EAAUD,CAAe,EAE1D,EAAAH,QAAO,KAAK,mCAAmC,EAG7CS,EAAO,WAAa,QAAaA,EAAO,SAC1CL,EAAWO,EAAsBP,EAAUD,CAAe,EAE1D,EAAAH,QAAO,KAAK,6CAA6C,EAGpDI,GAGHO,EAAwB,CAACP,EAAuBD,KACpDC,EAAW,CACT,GAAGA,EACH,0BAA2B,IAAI,4BAA0BD,CAAe,CAC1E,EAEOC,GAGHM,EAAwB,CAACN,EAAuBD,KACpDC,EAAW,CACT,GAAGA,EACH,gBAAiB,IAAI,kBAAgBD,CAAe,CACtD,EAEOC,GAGT,IAAOX,EAAQD",
6
+ "names": ["ReportStoreServiceUtils_exports", "__export", "createDprServices", "ReportStoreServiceUtils_default", "__toCommonJS", "import_services", "import_logger", "import_productCollectionStoreService", "clients", "reportStoreConfig", "logger", "reportingClient", "dashboardClient", "reportDataStore", "services", "createReportingService", "createDashboardService", "createReportStoreServices", "client", "config", "createBookmarkService", "createDownloadService"]
7
7
  }
@@ -14,23 +14,28 @@ import DashboardClient from '../data/dashboardClient'
14
14
  import logger from './logger'
15
15
  import { Services } from '../types/Services'
16
16
  import MissingReportClient from '../services/missingReport/missingReportClient'
17
+ import { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'
18
+ import { ProductCollectionService } from '../services/productCollection/productCollectionService'
17
19
 
18
20
  export interface InitDPRServicesArgs {
19
21
  reportingClient: ReportingClient
20
22
  dashboardClient: DashboardClient
21
23
  reportDataStore: ReportDataStore
22
24
  missingReportClient: MissingReportClient
25
+ productCollectionService?: ProductCollectionService
23
26
  }
24
27
 
25
28
  interface dprServices {
26
29
  reportingService?: ReportingService
27
30
  dashboardService?: DashboardService
31
+ productCollectionService?: ProductCollectionService
28
32
  requestedReportService?: RequestedReportService
29
33
  missingReportClient?: MissingReportClient
30
34
  recentlyViewedService?: RecentlyViewedStoreService
31
35
  bookmarkService?: BookmarkService
32
36
  downloadPermissionService?: DownloadPermissionService
33
37
  defaultFilterValuesService?: DefaultFilterValuesService
38
+ productCollectionStoreService?: ProductCollectionStoreService
34
39
  }
35
40
 
36
41
  export const createDprServices = (
@@ -57,6 +62,7 @@ export const createDprServices = (
57
62
  services = {
58
63
  ...services,
59
64
  missingReportClient: clients.missingReportClient,
65
+ productCollectionService: clients.productCollectionService,
60
66
  }
61
67
 
62
68
  return services as Services
@@ -95,6 +101,7 @@ const createReportStoreServices = (
95
101
  requestedReportService: new RequestedReportService(reportDataStore),
96
102
  recentlyViewedService: new RecentlyViewedStoreService(reportDataStore),
97
103
  defaultFilterValuesService: new DefaultFilterValuesService(reportDataStore),
104
+ productCollectionStoreService: new ProductCollectionStoreService(reportDataStore),
98
105
  }
99
106
 
100
107
  if (config.bookmarking === undefined || config.bookmarking) {
@@ -1,2 +1,2 @@
1
- var I=Object.create;var u=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var q=(r,t)=>{for(var e in t)u(r,e,{get:t[e],enumerable:!0})},d=(r,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of y(t))!R.call(r,s)&&s!==e&&u(r,s,{get:()=>t[s],enumerable:!(i=g(t,s))||i.enumerable});return r};var f=(r,t,e)=>(e=r!=null?I(D(r)):{},d(t||!r||!r.__esModule?u(e,"default",{value:r,enumerable:!0}):e,r)),U=r=>d(u({},"__esModule",{value:!0}),r);var b={};q(b,{UserStoreItemBuilder:()=>h,default:()=>E});module.exports=U(b);var p=f(require("parseurl")),o=require("../types/UserReports");class h{constructor(t,e){this.build=()=>this.userStoreItem;this.addReportData=({type:t,reportId:e,reportName:i,description:s,id:m,name:n})=>({type:t,reportId:e,reportName:i,description:s,id:m,name:n,timestamp:{}});this.addExecutionData=t=>(this.userStoreItem={...this.userStoreItem,...t},this);this.addChildExecutionData=t=>(this.userStoreItem={...this.userStoreItem,childExecutionData:t},this);this.addFilters=t=>{const e=new URLSearchParams(t).toString();return this.userStoreItem={...this.userStoreItem,filters:{data:t,queryString:e}},this};this.addSortData=t=>{const e=new URLSearchParams(t).toString();return this.userStoreItem={...this.userStoreItem,sortBy:{data:t,queryString:e}},this};this.addRequestUrls=t=>{const{origin:e,pathname:i,search:s,href:m}=this.requestFormData,{executionId:n,dataProductDefinitionsPath:S,dpdPathFromQuery:l}=this.userStoreItem;let a=t.baseUrl.replace("/filters",`/${n}/status`);l&&(a=`${a}?dataProductDefinitionsPath=${S}`);const c=`${e}${a}`;return this.userStoreItem={...this.userStoreItem,url:{origin:e,request:{fullUrl:m,pathname:i,search:s},polling:{fullUrl:c,pathname:a}}},this};this.addAsyncUrls=t=>(this.userStoreItem={...this.userStoreItem,url:t},this);this.addReportUrls=t=>{const e=t.get("host"),i=`${t.protocol}://${t.get("host")}${t.originalUrl}`,s=(0,p.default)(t);return this.userStoreItem={...this.userStoreItem,url:{origin:e||this.userStoreItem.url?.origin||"",...this.userStoreItem.url?.request&&{request:this.userStoreItem.url.request},...this.userStoreItem.url?.polling&&{polling:this.userStoreItem.url.polling},report:{...this.userStoreItem.url?.report&&this.userStoreItem.url.report,fullUrl:i,...s&&s.search&&{search:s.search}}}},this};this.addLoadType=t=>(this.userStoreItem={...this.userStoreItem,loadType:t},this);this.addQuery=t=>(this.userStoreItem={...this.userStoreItem,...t&&{query:{data:t.query,summary:t.querySummary}}},this);this.addInteractiveQuery=t=>(t&&(this.userStoreItem={...this.userStoreItem,interactiveQuery:{data:t.query,summary:t.querySummary}}),this);this.addStatus=t=>(this.userStoreItem={...this.userStoreItem,status:t},this);this.addMetrics=t=>(this.userStoreItem={...this.userStoreItem,metrics:t.filter(e=>e.display).map(e=>({name:e.display||""}))},this);this.addTimestamp=()=>{const{status:t}=this.userStoreItem,e=new Date;switch(t){case o.RequestStatus.FAILED:this.userStoreItem.timestamp.failed=e;break;case o.RequestStatus.EXPIRED:this.userStoreItem.timestamp.expired=e;break;case o.RequestStatus.ABORTED:this.userStoreItem.timestamp.aborted=e;break;case o.RequestStatus.FINISHED:this.userStoreItem.timestamp.completed=e;break;case o.RequestStatus.SUBMITTED:this.userStoreItem.timestamp.requested=e;break;case o.RequestStatus.STARTED:case o.RequestStatus.PICKED:break;default:this.userStoreItem.timestamp.lastViewed=e;break}return this};this.addDefinitionsPath=(t,e)=>(t&&(this.userStoreItem={...this.userStoreItem,dataProductDefinitionsPath:t,dpdPathFromQuery:e}),this);this.requestFormData=e||{},this.userStoreItem=this.addReportData(t)}}var E=h;0&&(module.exports={UserStoreItemBuilder});
1
+ var I=Object.create;var u=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var f=(r,t)=>{for(var e in t)u(r,e,{get:t[e],enumerable:!0})},d=(r,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of y(t))!R.call(r,s)&&s!==e&&u(r,s,{get:()=>t[s],enumerable:!(i=g(t,s))||i.enumerable});return r};var q=(r,t,e)=>(e=r!=null?I(D(r)):{},d(t||!r||!r.__esModule?u(e,"default",{value:r,enumerable:!0}):e,r)),U=r=>d(u({},"__esModule",{value:!0}),r);var T={};f(T,{UserStoreItemBuilder:()=>h,default:()=>E});module.exports=U(T);var p=q(require("parseurl")),o=require("../types/UserReports");class h{constructor(t,e){this.build=()=>this.userStoreItem;this.addReportData=({type:t,reportId:e,reportName:i,description:s,id:m,name:n})=>({type:t,reportId:e,reportName:i,description:s,id:m,name:n,timestamp:{}});this.addExecutionData=t=>(this.userStoreItem={...this.userStoreItem,...t},this);this.addChildExecutionData=t=>(this.userStoreItem={...this.userStoreItem,childExecutionData:t},this);this.addFilters=t=>{const e=new URLSearchParams(t).toString();return this.userStoreItem={...this.userStoreItem,filters:{data:t,queryString:e}},this};this.addSortData=t=>{const e=new URLSearchParams(t).toString();return this.userStoreItem={...this.userStoreItem,sortBy:{data:t,queryString:e}},this};this.addRequestUrls=t=>{const{origin:e,pathname:i,search:s,href:m}=this.requestFormData,{executionId:n,dataProductDefinitionsPath:S,dpdPathFromQuery:l}=this.userStoreItem;let a=t.baseUrl.replace("/filters",`/${n}/status`);l&&(a=`${a}?dataProductDefinitionsPath=${S}`);const c=`${e}${a}`;return this.userStoreItem={...this.userStoreItem,url:{origin:e,request:{fullUrl:m,pathname:i,search:s},polling:{fullUrl:c,pathname:a}}},this};this.addAsyncUrls=t=>(this.userStoreItem={...this.userStoreItem,url:t},this);this.addReportUrls=t=>{const e=t.get("host"),i=`${t.protocol}://${t.get("host")}${t.originalUrl}`,s=(0,p.default)(t);return this.userStoreItem={...this.userStoreItem,url:{origin:e||this.userStoreItem.url?.origin||"",...this.userStoreItem.url?.request&&{request:this.userStoreItem.url.request},...this.userStoreItem.url?.polling&&{polling:this.userStoreItem.url.polling},report:{...this.userStoreItem.url?.report&&this.userStoreItem.url.report,fullUrl:i,...s&&s.search&&{search:s.search}}}},this};this.addLoadType=t=>(this.userStoreItem={...this.userStoreItem,loadType:t},this);this.addQuery=t=>(this.userStoreItem={...this.userStoreItem,...t&&{query:{data:t.query,summary:t.querySummary}}},this);this.addInteractiveQuery=t=>(t&&(this.userStoreItem={...this.userStoreItem,interactiveQuery:{data:t.query,summary:t.querySummary}}),this);this.addStatus=t=>(this.userStoreItem={...this.userStoreItem,status:t},this);this.addMetrics=t=>(this.userStoreItem={...this.userStoreItem,metrics:t.filter(e=>e.display).map(e=>({name:e.display||""}))},this);this.addTimestamp=()=>{const{status:t}=this.userStoreItem,e=new Date;switch(t){case o.RequestStatus.FAILED:this.userStoreItem.timestamp.failed=e;break;case o.RequestStatus.EXPIRED:this.userStoreItem.timestamp.expired=e;break;case o.RequestStatus.ABORTED:this.userStoreItem.timestamp.aborted=e;break;case o.RequestStatus.FINISHED:this.userStoreItem.timestamp.completed=e;break;case o.RequestStatus.SUBMITTED:this.userStoreItem.timestamp.requested=e;break;case o.RequestStatus.STARTED:case o.RequestStatus.PICKED:break;default:this.userStoreItem.timestamp.lastViewed=e;break}return this};this.addDefinitionsPath=(t,e)=>(t&&(this.userStoreItem={...this.userStoreItem,dataProductDefinitionsPath:t,dpdPathFromQuery:e}),this);this.requestFormData=e||{},this.userStoreItem=this.addReportData(t)}}var E=h;0&&(module.exports={UserStoreItemBuilder});
2
2
  //# sourceMappingURL=UserStoreItemBuilder.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/utils/UserStoreItemBuilder.ts"],
4
- "sourcesContent": ["import type { Request } from 'express'\nimport parseUrl from 'parseurl'\nimport {\n AsyncReportUrlData,\n LoadType,\n ReportType,\n RequestedReport,\n RequestFormData,\n RequestStatus,\n UserReportData,\n} from '../types/UserReports'\nimport Dict = NodeJS.Dict\nimport { ChildReportExecutionData, ExecutionData } from '../types/ExecutionData'\nimport { DashboardSection } from '../components/_dashboards/dashboard/types'\n\nclass UserStoreItemBuilder {\n userStoreItem: UserReportData\n\n requestFormData: RequestFormData | Record<string, never>\n\n constructor(\n reportData: {\n type: ReportType\n reportId: string\n reportName: string\n description: string\n id: string\n name: string\n },\n requestFormData?: RequestFormData,\n ) {\n this.requestFormData = requestFormData || {}\n this.userStoreItem = this.addReportData(reportData)\n }\n\n build = () => {\n return this.userStoreItem as RequestedReport\n }\n\n addReportData = ({\n type,\n reportId,\n reportName,\n description,\n id,\n name,\n }: {\n type: ReportType\n reportId: string\n reportName: string\n description: string\n id: string\n name: string\n }) => {\n return {\n type: type as ReportType,\n reportId,\n reportName,\n description,\n id,\n name,\n timestamp: {},\n }\n }\n\n addExecutionData = (executionData: ExecutionData) => {\n this.userStoreItem = {\n ...(<UserReportData>this.userStoreItem),\n ...executionData,\n }\n return this\n }\n\n addChildExecutionData = (childExecutionData: Array<ChildReportExecutionData>) => {\n this.userStoreItem = {\n ...(<UserReportData>this.userStoreItem),\n childExecutionData,\n }\n return this\n }\n\n addFilters = (filterData?: Record<string, string>) => {\n const filtersQueryString = new URLSearchParams(filterData).toString()\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n filters: {\n data: filterData,\n queryString: filtersQueryString,\n },\n },\n }\n return this\n }\n\n addSortData = (sortData: Record<string, string>) => {\n const sortByQueryString = new URLSearchParams(sortData).toString()\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n sortBy: {\n data: sortData,\n queryString: sortByQueryString,\n },\n },\n }\n return this\n }\n\n addRequestUrls = (req: Request) => {\n const { origin, pathname, search, href } = this.requestFormData\n const { executionId, dataProductDefinitionsPath, dpdPathFromQuery } = this.userStoreItem\n\n // Polling path\n let pollingPath = req.baseUrl.replace('/filters', `/${executionId}/status`)\n if (dpdPathFromQuery) {\n pollingPath = `${pollingPath}?dataProductDefinitionsPath=${dataProductDefinitionsPath}`\n }\n const pollingFullUrl = `${origin}${pollingPath}`\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n url: {\n origin,\n request: {\n fullUrl: href,\n pathname,\n search,\n },\n polling: {\n fullUrl: pollingFullUrl,\n pathname: pollingPath,\n },\n },\n },\n }\n\n return this\n }\n\n addAsyncUrls = (url: AsyncReportUrlData) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n url,\n },\n }\n\n return this\n }\n\n addReportUrls = (req: Request) => {\n const origin = req.get('host')\n const fullUrl = `${req.protocol}://${req.get('host')}${req.originalUrl}`\n const urlData = parseUrl(req)\n\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n url: {\n origin: origin || this.userStoreItem.url?.origin || '',\n ...(this.userStoreItem.url?.request && { request: this.userStoreItem.url.request }),\n ...(this.userStoreItem.url?.polling && { polling: this.userStoreItem.url.polling }),\n report: {\n ...(this.userStoreItem.url?.report && this.userStoreItem.url.report),\n fullUrl,\n ...(urlData && urlData.search && { search: urlData.search }),\n },\n },\n },\n }\n\n return this\n }\n\n addLoadType = (loadType: LoadType) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n loadType,\n }\n\n return this\n }\n\n addQuery = (queryData?: { query: Dict<string | string[]>; querySummary: Array<Dict<string>> }) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n ...(queryData && {\n query: {\n data: queryData.query,\n summary: queryData.querySummary,\n },\n }),\n }\n return this\n }\n\n addInteractiveQuery = (queryData?: { query: Dict<string | string[]>; querySummary: Array<Dict<string>> }) => {\n if (queryData) {\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n interactiveQuery: {\n data: queryData.query,\n summary: queryData.querySummary,\n },\n },\n }\n }\n return this\n }\n\n addStatus = (status: RequestStatus) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n status,\n }\n return this\n }\n\n addMetrics = (metrics: DashboardSection[]) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n metrics: metrics.filter((metric) => metric.display).map((metric) => ({ name: metric.display || '' })),\n }\n return this\n }\n\n addTimestamp = () => {\n const { status } = this.userStoreItem\n const ts = new Date()\n switch (status) {\n case RequestStatus.FAILED:\n this.userStoreItem.timestamp.failed = ts\n break\n case RequestStatus.EXPIRED:\n this.userStoreItem.timestamp.expired = ts\n break\n case RequestStatus.ABORTED:\n this.userStoreItem.timestamp.aborted = ts\n break\n case RequestStatus.FINISHED:\n this.userStoreItem.timestamp.completed = ts\n break\n case RequestStatus.SUBMITTED:\n this.userStoreItem.timestamp.requested = ts\n break\n case RequestStatus.STARTED:\n case RequestStatus.PICKED:\n break\n default:\n this.userStoreItem.timestamp.lastViewed = ts\n break\n }\n return this\n }\n\n addDefinitionsPath = (definitionsPath: string, dpdPathFromQuery: boolean) => {\n if (definitionsPath) {\n this.userStoreItem = {\n ...this.userStoreItem,\n dataProductDefinitionsPath: definitionsPath,\n dpdPathFromQuery,\n }\n }\n return this\n }\n}\n\nexport { UserStoreItemBuilder }\nexport default UserStoreItemBuilder\n"],
4
+ "sourcesContent": ["import type { Request } from 'express'\nimport parseUrl from 'parseurl'\nimport {\n AsyncReportUrlData,\n LoadType,\n ReportType,\n RequestedReport,\n RequestFormData,\n RequestStatus,\n UserReportData,\n} from '../types/UserReports'\nimport Dict = NodeJS.Dict\nimport { ChildReportExecutionData, ExecutionData } from '../types/ExecutionData'\nimport { components } from '../types/api'\n\nclass UserStoreItemBuilder {\n userStoreItem: UserReportData\n\n requestFormData: RequestFormData | Record<string, never>\n\n constructor(\n reportData: {\n type: ReportType\n reportId: string\n reportName: string\n description: string\n id: string\n name: string\n },\n requestFormData?: RequestFormData,\n ) {\n this.requestFormData = requestFormData || {}\n this.userStoreItem = this.addReportData(reportData)\n }\n\n build = () => {\n return this.userStoreItem as RequestedReport\n }\n\n addReportData = ({\n type,\n reportId,\n reportName,\n description,\n id,\n name,\n }: {\n type: ReportType\n reportId: string\n reportName: string\n description: string\n id: string\n name: string\n }) => {\n return {\n type: type as ReportType,\n reportId,\n reportName,\n description,\n id,\n name,\n timestamp: {},\n }\n }\n\n addExecutionData = (executionData: ExecutionData) => {\n this.userStoreItem = {\n ...(<UserReportData>this.userStoreItem),\n ...executionData,\n }\n return this\n }\n\n addChildExecutionData = (childExecutionData: Array<ChildReportExecutionData>) => {\n this.userStoreItem = {\n ...(<UserReportData>this.userStoreItem),\n childExecutionData,\n }\n return this\n }\n\n addFilters = (filterData?: Record<string, string>) => {\n const filtersQueryString = new URLSearchParams(filterData).toString()\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n filters: {\n data: filterData,\n queryString: filtersQueryString,\n },\n },\n }\n return this\n }\n\n addSortData = (sortData: Record<string, string>) => {\n const sortByQueryString = new URLSearchParams(sortData).toString()\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n sortBy: {\n data: sortData,\n queryString: sortByQueryString,\n },\n },\n }\n return this\n }\n\n addRequestUrls = (req: Request) => {\n const { origin, pathname, search, href } = this.requestFormData\n const { executionId, dataProductDefinitionsPath, dpdPathFromQuery } = this.userStoreItem\n\n // Polling path\n let pollingPath = req.baseUrl.replace('/filters', `/${executionId}/status`)\n if (dpdPathFromQuery) {\n pollingPath = `${pollingPath}?dataProductDefinitionsPath=${dataProductDefinitionsPath}`\n }\n const pollingFullUrl = `${origin}${pollingPath}`\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n url: {\n origin,\n request: {\n fullUrl: href,\n pathname,\n search,\n },\n polling: {\n fullUrl: pollingFullUrl,\n pathname: pollingPath,\n },\n },\n },\n }\n\n return this\n }\n\n addAsyncUrls = (url: AsyncReportUrlData) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n url,\n },\n }\n\n return this\n }\n\n addReportUrls = (req: Request) => {\n const origin = req.get('host')\n const fullUrl = `${req.protocol}://${req.get('host')}${req.originalUrl}`\n const urlData = parseUrl(req)\n\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n url: {\n origin: origin || this.userStoreItem.url?.origin || '',\n ...(this.userStoreItem.url?.request && { request: this.userStoreItem.url.request }),\n ...(this.userStoreItem.url?.polling && { polling: this.userStoreItem.url.polling }),\n report: {\n ...(this.userStoreItem.url?.report && this.userStoreItem.url.report),\n fullUrl,\n ...(urlData && urlData.search && { search: urlData.search }),\n },\n },\n },\n }\n\n return this\n }\n\n addLoadType = (loadType: LoadType) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n loadType,\n }\n\n return this\n }\n\n addQuery = (queryData?: { query: Dict<string | string[]>; querySummary: Array<Dict<string>> }) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n ...(queryData && {\n query: {\n data: queryData.query,\n summary: queryData.querySummary,\n },\n }),\n }\n return this\n }\n\n addInteractiveQuery = (queryData?: { query: Dict<string | string[]>; querySummary: Array<Dict<string>> }) => {\n if (queryData) {\n this.userStoreItem = {\n ...this.userStoreItem,\n ...{\n interactiveQuery: {\n data: queryData.query,\n summary: queryData.querySummary,\n },\n },\n }\n }\n return this\n }\n\n addStatus = (status: RequestStatus) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n status,\n }\n return this\n }\n\n addMetrics = (metrics: components['schemas']['DashboardSectionDefinition'][]) => {\n this.userStoreItem = {\n ...this.userStoreItem,\n metrics: metrics.filter((metric) => metric.display).map((metric) => ({ name: metric.display || '' })),\n }\n return this\n }\n\n addTimestamp = () => {\n const { status } = this.userStoreItem\n const ts = new Date()\n switch (status) {\n case RequestStatus.FAILED:\n this.userStoreItem.timestamp.failed = ts\n break\n case RequestStatus.EXPIRED:\n this.userStoreItem.timestamp.expired = ts\n break\n case RequestStatus.ABORTED:\n this.userStoreItem.timestamp.aborted = ts\n break\n case RequestStatus.FINISHED:\n this.userStoreItem.timestamp.completed = ts\n break\n case RequestStatus.SUBMITTED:\n this.userStoreItem.timestamp.requested = ts\n break\n case RequestStatus.STARTED:\n case RequestStatus.PICKED:\n break\n default:\n this.userStoreItem.timestamp.lastViewed = ts\n break\n }\n return this\n }\n\n addDefinitionsPath = (definitionsPath: string, dpdPathFromQuery: boolean) => {\n if (definitionsPath) {\n this.userStoreItem = {\n ...this.userStoreItem,\n dataProductDefinitionsPath: definitionsPath,\n dpdPathFromQuery,\n }\n }\n return this\n }\n}\n\nexport { UserStoreItemBuilder }\nexport default UserStoreItemBuilder\n"],
5
5
  "mappings": "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",
6
6
  "names": ["UserStoreItemBuilder_exports", "__export", "UserStoreItemBuilder", "UserStoreItemBuilder_default", "__toCommonJS", "import_parseurl", "import_UserReports", "reportData", "requestFormData", "type", "reportId", "reportName", "description", "id", "name", "executionData", "childExecutionData", "filterData", "filtersQueryString", "sortData", "sortByQueryString", "req", "origin", "pathname", "search", "href", "executionId", "dataProductDefinitionsPath", "dpdPathFromQuery", "pollingPath", "pollingFullUrl", "url", "fullUrl", "urlData", "parseUrl", "loadType", "queryData", "status", "metrics", "metric", "ts", "definitionsPath"]
7
7
  }
@@ -11,7 +11,7 @@ import {
11
11
  } from '../types/UserReports'
12
12
  import Dict = NodeJS.Dict
13
13
  import { ChildReportExecutionData, ExecutionData } from '../types/ExecutionData'
14
- import { DashboardSection } from '../components/_dashboards/dashboard/types'
14
+ import { components } from '../types/api'
15
15
 
16
16
  class UserStoreItemBuilder {
17
17
  userStoreItem: UserReportData
@@ -218,7 +218,7 @@ class UserStoreItemBuilder {
218
218
  return this
219
219
  }
220
220
 
221
- addMetrics = (metrics: DashboardSection[]) => {
221
+ addMetrics = (metrics: components['schemas']['DashboardSectionDefinition'][]) => {
222
222
  this.userStoreItem = {
223
223
  ...this.userStoreItem,
224
224
  metrics: metrics.filter((metric) => metric.display).map((metric) => ({ name: metric.display || '' })),
@@ -1,2 +1,2 @@
1
- var h=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var q=(e,s)=>{for(var n in s)h(e,n,{get:s[n],enumerable:!0})},T=(e,s,n,t)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of E(s))!O.call(e,o)&&o!==n&&h(e,o,{get:()=>s[o],enumerable:!(t=k(s,o))||t.enumerable});return e};var j=e=>T(h({},"__esModule",{value:!0}),e);var H={};q(H,{default:()=>B,filterKeys:()=>R,filterRowsByDisplayColumns:()=>I,getDatasetRows:()=>g,getEarliestDataset:()=>V,getGroupKey:()=>K,getKeyIds:()=>b,getKeyVariations:()=>y,getLastestDataset:()=>v,groupRowsByKey:()=>C,groupRowsByTimestamp:()=>x});module.exports=j(H);const g=(e,s)=>{const{keys:n,measures:t,filters:o,expectNulls:r}=e.columns,a=t.map(p=>p.id),i=n?.map(p=>p.id)||[],l=o?.map(p=>p.id)||[],u=n?.some(p=>p.optional);s.length&&s[0].ts&&i.unshift("ts");const m=s.filter(p=>{const w=[];return Object.keys(p).forEach(f=>{const c=p[f].raw;let d=!0;l.includes(f)?d=(o?o.filter(D=>D.id===f).map(D=>D.equals):[]).includes(c):i.includes(f)&&u?d=!0:i.includes(f)&&!u||a.includes(f)?d=c!==""&&c!==void 0&&c!==null:r&&(d=c===""||c===void 0||c===null),w.push(d)}),w.every(f=>f)});return u?R(m,n||[]):m},y=(e,s)=>{const n=[],t=s.map(a=>a.id),o=s.every(a=>a.optional),r=[...t];return t.reverse().forEach(a=>{const i=s.find(l=>l.id===a);n.push([...r]),i&&i.optional&&r.pop()}),o&&n.push([]),n},b=(e,s)=>{let n=[];return s.every(t=>{const o=[];return e.forEach(r=>{const a=[];Object.keys(r).forEach(i=>{const l=r[i].raw;let u=!0;t.includes(i)&&(u=l!==""&&l!==void 0&&l!==null),a.push(u)}),a.every(i=>i)&&o.push(r)}),o.length>0?(n=t,!1):(n=t,!0)}),n},R=(e,s)=>{const n=y(e,s),t=b(e,n);return e.filter(o=>{const r=[];return Object.keys(o).forEach(a=>{const i=o[a].raw;let l=!0;t.includes(a)&&(l=i!==""&&i!==void 0&&i!==null),r.push(l)}),r.every(a=>a)})},v=e=>{const s=e[e.length-1]?.ts?.raw;return s?e.filter(n=>n.ts.raw===s):e},V=e=>{const s=e[0]?.ts?.raw;return s?e.filter(n=>n.ts.raw===s):e},x=e=>[...new Set(e.map(n=>n.ts.raw))].map(n=>e.filter(t=>t.ts.raw===n)),C=(e,s)=>[...new Set(e.map(t=>t[s].raw))].map(t=>e.filter(o=>o[s].raw===t)),K=(e,s)=>{if(!e||!e.length||!s.length)return;const n=s[0];let t=e.length-1,o=!1;for(;!o;){const r=`${e[t]?.id}`;r&&t!==-1&&(!n[r]||!n[r].raw||n[r].raw===""||n[r].raw===null)?t-=1:o=!0}return t!==-1?e[t]:void 0},I=(e,s,n=!1)=>{const{keys:t,measures:o}=e.columns,r=t||[];let a=[...o];n&&(a=[...r,...o]);const i=a.map(l=>l.id);return s.map(l=>Object.keys(l).filter(u=>i.includes(u)).reduce((u,m)=>(u[m]=l[m],u),{}))};var B={getDatasetRows:g,getLastestDataset:v,getEarliestDataset:V,filterRowsByDisplayColumns:I,groupRowsByTimestamp:x,groupRowsByKey:C,getGroupKey:K,getKeyVariations:y,getKeyIds:b,filterKeys:R};0&&(module.exports={filterKeys,filterRowsByDisplayColumns,getDatasetRows,getEarliestDataset,getGroupKey,getKeyIds,getKeyVariations,getLastestDataset,groupRowsByKey,groupRowsByTimestamp});
1
+ var h=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var q=(e,s)=>{for(var n in s)h(e,n,{get:s[n],enumerable:!0})},T=(e,s,n,o)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of E(s))!O.call(e,t)&&t!==n&&h(e,t,{get:()=>s[t],enumerable:!(o=k(s,t))||o.enumerable});return e};var j=e=>T(h({},"__esModule",{value:!0}),e);var B={};q(B,{default:()=>A,filterKeys:()=>R,filterRowsByDisplayColumns:()=>K,getDatasetRows:()=>w,getEarliestDataset:()=>x,getGroupKey:()=>I,getKeyIds:()=>b,getKeyVariations:()=>y,getLastestDataset:()=>v,groupRowsByKey:()=>V,groupRowsByTimestamp:()=>C});module.exports=j(B);const w=(e,s)=>{const{measures:n,filters:o,expectNulls:t}=e.columns,a=e.columns.keys,r=n.map(p=>p.id),i=a?.map(p=>p.id)||[],l=o?.map(p=>p.id)||[],u=a?.some(p=>p.optional);s.length&&s[0].ts&&i.unshift("ts");const d=s.filter(p=>{const g=[];return Object.keys(p).forEach(f=>{const c=p[f].raw;let m=!0;l.includes(f)?m=(o?o.filter(D=>D.id===f).map(D=>D.equals):[]).includes(c):i.includes(f)&&u?m=!0:i.includes(f)&&!u||r.includes(f)?m=c!==""&&c!==void 0&&c!==null:t&&(m=c===""||c===void 0||c===null),g.push(m)}),g.every(f=>f)});return u?R(d,a||[]):d},y=(e,s)=>{const n=[],o=s.map(r=>r.id),t=s.every(r=>r.optional),a=[...o];return o.reverse().forEach(r=>{const i=s.find(l=>l.id===r);n.push([...a]),i&&i.optional&&a.pop()}),t&&n.push([]),n},b=(e,s)=>{let n=[];return s.every(o=>{const t=[];return e.forEach(a=>{const r=[];Object.keys(a).forEach(i=>{const l=a[i].raw;let u=!0;o.includes(i)&&(u=l!==""&&l!==void 0&&l!==null),r.push(u)}),r.every(i=>i)&&t.push(a)}),t.length>0?(n=o,!1):(n=o,!0)}),n},R=(e,s)=>{const n=y(e,s),o=b(e,n);return e.filter(t=>{const a=[];return Object.keys(t).forEach(r=>{const i=t[r].raw;let l=!0;o.includes(r)&&(l=i!==""&&i!==void 0&&i!==null),a.push(l)}),a.every(r=>r)})},v=e=>{const s=e[e.length-1]?.ts?.raw;return s?e.filter(n=>n.ts.raw===s):e},x=e=>{const s=e[0]?.ts?.raw;return s?e.filter(n=>n.ts.raw===s):e},C=e=>[...new Set(e.map(n=>n.ts.raw))].map(n=>e.filter(o=>o.ts.raw===n)),V=(e,s)=>[...new Set(e.map(o=>o[s].raw))].map(o=>e.filter(t=>t[s].raw===o)),I=(e,s)=>{if(!e||!e.length||!s.length)return;const n=s[0];let o=e.length-1,t=!1;for(;!t;){const a=`${e[o]?.id}`;a&&o!==-1&&(!n[a]||!n[a].raw||n[a].raw===""||n[a].raw===null)?o-=1:t=!0}return o!==-1?e[o]:void 0},K=(e,s,n=!1)=>{const{keys:o,measures:t}=e.columns,a=o||[];let r=[...t];n&&(r=[...a,...t]);const i=r.map(l=>l.id);return s.map(l=>Object.keys(l).filter(u=>i.includes(u)).reduce((u,d)=>(u[d]=l[d],u),{}))};var A={getDatasetRows:w,getLastestDataset:v,getEarliestDataset:x,filterRowsByDisplayColumns:K,groupRowsByTimestamp:C,groupRowsByKey:V,getGroupKey:I,getKeyVariations:y,getKeyIds:b,filterKeys:R};0&&(module.exports={filterKeys,filterRowsByDisplayColumns,getDatasetRows,getEarliestDataset,getGroupKey,getKeyIds,getKeyVariations,getLastestDataset,groupRowsByKey,groupRowsByTimestamp});
2
2
  //# sourceMappingURL=datasetHelper.js.map