@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.16.1 → 4.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) 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-search/clientClass.mjs +14 -0
  8. package/dpr/components/_catalogue/catalogue-search/view.njk +24 -1
  9. package/dpr/data/dprReportingClient.js +1 -1
  10. package/dpr/data/dprReportingClient.js.map +3 -3
  11. package/dpr/data/dprReportingClient.ts +2 -0
  12. package/dpr/middleware/setUpDprResources.js +1 -1
  13. package/dpr/middleware/setUpDprResources.js.map +3 -3
  14. package/dpr/middleware/setUpDprResources.test.ts +7 -0
  15. package/dpr/middleware/setUpDprResources.ts +17 -2
  16. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  17. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  18. package/dpr/routes/journeys/download-report/tests.cy.ts +1 -0
  19. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  20. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
  21. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +2 -0
  22. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  23. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
  24. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +1 -0
  25. package/dpr/routes/journeys/product-collection/routes.js +2 -0
  26. package/dpr/routes/journeys/product-collection/routes.js.map +7 -0
  27. package/dpr/routes/journeys/product-collection/routes.ts +28 -0
  28. package/dpr/routes/journeys/product-collection/selected/controller.js +2 -0
  29. package/dpr/routes/journeys/product-collection/selected/controller.js.map +7 -0
  30. package/dpr/routes/journeys/product-collection/selected/controller.ts +29 -0
  31. package/dpr/routes/journeys/product-collection/selected/routes.js +2 -0
  32. package/dpr/routes/journeys/product-collection/selected/routes.js.map +7 -0
  33. package/dpr/routes/journeys/product-collection/selected/routes.ts +15 -0
  34. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +2 -0
  35. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +7 -0
  36. package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +54 -0
  37. package/dpr/routes/journeys/product-collection/selected/validation.js +2 -0
  38. package/dpr/routes/journeys/product-collection/selected/validation.js.map +7 -0
  39. package/dpr/routes/journeys/product-collection/selected/validation.ts +5 -0
  40. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  41. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  42. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +1 -0
  43. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  44. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  45. package/dpr/routes/journeys/request-report/status/tests.cy.ts +1 -0
  46. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  47. package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
  48. package/dpr/routes/journeys/request-report/tests.cy.ts +3 -14
  49. package/dpr/routes/journeys/routes.js +1 -1
  50. package/dpr/routes/journeys/routes.js.map +2 -2
  51. package/dpr/routes/journeys/routes.ts +2 -0
  52. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  53. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  54. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +1 -0
  55. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  56. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  57. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +2 -0
  58. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  59. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
  60. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +1 -0
  61. package/dpr/services/productCollection/productCollectionService.js +2 -0
  62. package/dpr/services/productCollection/productCollectionService.js.map +7 -0
  63. package/dpr/services/productCollection/productCollectionService.ts +25 -0
  64. package/dpr/services/productCollection/productCollectionStoreService.js +2 -0
  65. package/dpr/services/productCollection/productCollectionStoreService.js.map +7 -0
  66. package/dpr/services/productCollection/productCollectionStoreService.ts +26 -0
  67. package/dpr/types/ReportStore.js +1 -1
  68. package/dpr/types/ReportStore.js.map +1 -1
  69. package/dpr/types/ReportStore.ts +1 -0
  70. package/dpr/types/Services.d.js +1 -1
  71. package/dpr/types/Services.d.js.map +1 -1
  72. package/dpr/types/Services.d.ts +13 -0
  73. package/dpr/types/api.d.js +1 -1
  74. package/dpr/types/api.d.js.map +1 -1
  75. package/dpr/types/api.d.ts +195 -2
  76. package/dpr/utils/ReportStoreServiceUtils.js +1 -1
  77. package/dpr/utils/ReportStoreServiceUtils.js.map +3 -3
  78. package/dpr/utils/ReportStoreServiceUtils.ts +7 -0
  79. package/package.json +1 -1
@@ -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) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ministryofjustice/hmpps-digital-prison-reporting-frontend",
3
3
  "description": "The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.",
4
- "version": "4.16.1",
4
+ "version": "4.17.0",
5
5
  "main": "dpr/all.mjs",
6
6
  "sass": "dpr/all.scss",
7
7
  "engines": {