@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.23.2 → 4.24.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.
- package/dpr/components/_filters/filters-help/view.njk +9 -8
- package/dpr/data/dprReportingClient.js +1 -1
- package/dpr/data/dprReportingClient.js.map +3 -3
- package/dpr/data/dprReportingClient.ts +6 -3
- package/dpr/data/types.d.js +1 -1
- package/dpr/data/types.d.js.map +1 -1
- package/dpr/data/types.d.ts +6 -0
- package/dpr/middleware/setUpDprResources.js +1 -1
- package/dpr/middleware/setUpDprResources.js.map +3 -3
- package/dpr/middleware/setUpDprResources.test.ts +11 -0
- package/dpr/middleware/setUpDprResources.ts +37 -2
- package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +3 -3
- package/dpr/routes/journeys/download-report/tests.cy.ts +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +3 -3
- package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +2 -2
- package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +3 -3
- package/dpr/routes/journeys/request-report/filters/tests.cy.ts +3 -4
- package/dpr/routes/journeys/request-report/filters/view.njk +2 -2
- package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +3 -3
- package/dpr/routes/journeys/request-report/status/tests.cy.ts +1 -1
- package/dpr/services/featureFlagService.js +2 -0
- package/dpr/services/featureFlagService.js.map +7 -0
- package/dpr/services/featureFlagService.ts +43 -0
- package/dpr/services/featureFlags.cy.js +2 -0
- package/dpr/services/featureFlags.cy.js.map +7 -0
- package/dpr/services/featureFlags.cy.ts +93 -0
- package/dpr/types/Services.d.js +1 -1
- package/dpr/types/Services.d.js.map +1 -1
- package/dpr/types/Services.d.ts +2 -0
- package/dpr/types/express.d.js +2 -0
- package/dpr/types/express.d.js.map +7 -0
- package/dpr/types/express.d.ts +14 -0
- package/dpr/utils/CreateDprServices.js +1 -1
- package/dpr/utils/CreateDprServices.js.map +2 -2
- package/dpr/utils/CreateDprServices.ts +4 -0
- package/package.json +2 -1
package/dpr/types/Services.d.ts
CHANGED
|
@@ -10,12 +10,14 @@ import MissingReportService from '../services/missingReport/missingReportService
|
|
|
10
10
|
import ReportingService from '../services/reportingService'
|
|
11
11
|
import DashboardService from '../services/dashboardService'
|
|
12
12
|
import { ProductCollectionService } from '../services/productCollection/productCollectionService'
|
|
13
|
+
import { FeatureFlagService } from '../services/featureFlagService'
|
|
13
14
|
|
|
14
15
|
export type Services = UserStoreServices & {
|
|
15
16
|
reportingService: ReportingService
|
|
16
17
|
dashboardService: DashboardService
|
|
17
18
|
missingReportService: MissingReportService
|
|
18
19
|
productCollectionService: ProductCollectionService
|
|
20
|
+
featureFlagService: FeatureFlagService
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
export interface UserStoreServices {
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var s=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var o=(e,a,g,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of f(a))!m.call(e,l)&&l!==g&&s(e,l,{get:()=>a[l],enumerable:!(r=t(a,l))||r.enumerable});return e};var p=e=>o(s({},"__esModule",{value:!0}),e);var c={};module.exports=p(c);
|
|
2
|
+
//# sourceMappingURL=express.d.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/dpr/types/express.d.ts"],
|
|
4
|
+
"sourcesContent": ["import { Flag } from '@flipt-io/flipt'\n\nexport declare global {\n namespace Express {\n interface Locals {\n featureFlags: {\n lastUpdated: number\n flags: {\n [flagName: string]: Flag\n }\n }\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
|
+
"names": ["express_d_exports", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var m=Object.create;var
|
|
1
|
+
"use strict";var m=Object.create;var l=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var C=(r,e)=>{for(var t in e)l(r,t,{get:e[t],enumerable:!0})},n=(r,e,t,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of f(e))!R.call(r,o)&&o!==t&&l(r,o,{get:()=>e[o],enumerable:!(c=u(e,o))||c.enumerable});return r};var w=(r,e,t)=>(t=r!=null?m(g(r)):{},n(e||!r||!r.__esModule?l(t,"default",{value:r,enumerable:!0}):t,r)),D=r=>n(l({},"__esModule",{value:!0}),r);var b={};C(b,{createDprServices:()=>P});module.exports=D(b);var i=require("../services"),S=w(require("./logger")),s=require("../services/missingReport/missingReportService"),a=require("../services/productCollection/productCollectionStoreService"),v=require("../services/productCollection/productCollectionService");const P=(r,e={bookmarking:!1,download:!1,collections:!1,missingReports:!1,saveDefaults:!1})=>{S.default.info("Initialising DPR services...");const{reportingClient:t,dashboardClient:c,reportDataStore:o,missingReportClient:p,productCollectionClient:d}=r;return{reportingService:new i.ReportingService(t),dashboardService:new i.DashboardService(c),requestedReportService:new i.RequestedReportService(o),recentlyViewedService:new i.RecentlyViewedStoreService(o),bookmarkService:new i.BookmarkService(o,e),defaultFilterValuesService:new i.DefaultFilterValuesService(o,e),productCollectionStoreService:new a.ProductCollectionStoreService(o,e),downloadPermissionService:new i.DownloadPermissionService(o,e),missingReportService:new s.MissingReportService(p,e),productCollectionService:new v.ProductCollectionService(d,e),featureFlagService:r.featureFlagService}};0&&(module.exports={createDprServices});
|
|
2
2
|
//# sourceMappingURL=CreateDprServices.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/dpr/utils/CreateDprServices.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 MissingReportClient from '../data/missingReportClient'\nimport ProductCollectionClient from '../data/productCollectionClient'\nimport logger from './logger'\nimport { Services } from '../types/Services'\nimport { MissingReportService } from '../services/missingReport/missingReportService'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\nimport { ServiceFeatureConfig } from '../types/DprConfig'\n\nexport interface InitDPRServicesArgs {\n reportingClient: ReportingClient\n dashboardClient: DashboardClient\n reportDataStore: ReportDataStore\n missingReportClient: MissingReportClient\n productCollectionClient: ProductCollectionClient\n}\n\ninterface dprServices {\n reportingService: ReportingService\n dashboardService: DashboardService\n productCollectionService: ProductCollectionService\n requestedReportService: RequestedReportService\n missingReportService: MissingReportService\n recentlyViewedService: RecentlyViewedStoreService\n bookmarkService: BookmarkService\n downloadPermissionService: DownloadPermissionService\n defaultFilterValuesService: DefaultFilterValuesService\n productCollectionStoreService: ProductCollectionStoreService\n}\n\nexport const createDprServices = (\n clients: InitDPRServicesArgs,\n serviceFeatureConfig: ServiceFeatureConfig = {\n bookmarking: false,\n download: false,\n collections: false,\n missingReports: false,\n saveDefaults: false,\n },\n): Services => {\n logger.info('Initialising DPR services...')\n\n const { reportingClient, dashboardClient, reportDataStore, missingReportClient, productCollectionClient } = clients\n const services: dprServices = {\n reportingService: new ReportingService(reportingClient),\n dashboardService: new DashboardService(dashboardClient),\n\n requestedReportService: new RequestedReportService(reportDataStore),\n recentlyViewedService: new RecentlyViewedStoreService(reportDataStore),\n bookmarkService: new BookmarkService(reportDataStore, serviceFeatureConfig),\n\n defaultFilterValuesService: new DefaultFilterValuesService(reportDataStore, serviceFeatureConfig),\n productCollectionStoreService: new ProductCollectionStoreService(reportDataStore, serviceFeatureConfig),\n downloadPermissionService: new DownloadPermissionService(reportDataStore, serviceFeatureConfig),\n\n missingReportService: new MissingReportService(missingReportClient, serviceFeatureConfig),\n productCollectionService: new ProductCollectionService(productCollectionClient, serviceFeatureConfig),\n }\n return services as Services\n}\n"],
|
|
5
|
-
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,uBAMPC,EAAmB,uBAEnBC,EAAqC,0DACrCC,EAA8C,uEAC9CC,EAAyC,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport {\n DownloadPermissionService,\n BookmarkService,\n RequestedReportService,\n RecentlyViewedStoreService,\n ReportingService,\n DashboardService,\n DefaultFilterValuesService,\n} from '../services'\nimport ReportDataStore from '../data/reportDataStore'\nimport ReportingClient from '../data/reportingClient'\nimport DashboardClient from '../data/dashboardClient'\nimport MissingReportClient from '../data/missingReportClient'\nimport ProductCollectionClient from '../data/productCollectionClient'\nimport logger from './logger'\nimport { Services } from '../types/Services'\nimport { MissingReportService } from '../services/missingReport/missingReportService'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\nimport { ServiceFeatureConfig } from '../types/DprConfig'\nimport { FeatureFlagService } from '../services/featureFlagService'\n\nexport interface InitDPRServicesArgs {\n reportingClient: ReportingClient\n dashboardClient: DashboardClient\n reportDataStore: ReportDataStore\n missingReportClient: MissingReportClient\n productCollectionClient: ProductCollectionClient\n featureFlagService: FeatureFlagService\n}\n\ninterface dprServices {\n reportingService: ReportingService\n dashboardService: DashboardService\n productCollectionService: ProductCollectionService\n requestedReportService: RequestedReportService\n missingReportService: MissingReportService\n recentlyViewedService: RecentlyViewedStoreService\n bookmarkService: BookmarkService\n downloadPermissionService: DownloadPermissionService\n defaultFilterValuesService: DefaultFilterValuesService\n productCollectionStoreService: ProductCollectionStoreService\n featureFlagService: FeatureFlagService\n}\n\nexport const createDprServices = (\n clients: InitDPRServicesArgs,\n serviceFeatureConfig: ServiceFeatureConfig = {\n bookmarking: false,\n download: false,\n collections: false,\n missingReports: false,\n saveDefaults: false,\n },\n): Services => {\n logger.info('Initialising DPR services...')\n\n const { reportingClient, dashboardClient, reportDataStore, missingReportClient, productCollectionClient } = clients\n const services: dprServices = {\n reportingService: new ReportingService(reportingClient),\n dashboardService: new DashboardService(dashboardClient),\n\n requestedReportService: new RequestedReportService(reportDataStore),\n recentlyViewedService: new RecentlyViewedStoreService(reportDataStore),\n bookmarkService: new BookmarkService(reportDataStore, serviceFeatureConfig),\n\n defaultFilterValuesService: new DefaultFilterValuesService(reportDataStore, serviceFeatureConfig),\n productCollectionStoreService: new ProductCollectionStoreService(reportDataStore, serviceFeatureConfig),\n downloadPermissionService: new DownloadPermissionService(reportDataStore, serviceFeatureConfig),\n\n missingReportService: new MissingReportService(missingReportClient, serviceFeatureConfig),\n productCollectionService: new ProductCollectionService(productCollectionClient, serviceFeatureConfig),\n featureFlagService: clients.featureFlagService,\n }\n return services as Services\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,uBAMPC,EAAmB,uBAEnBC,EAAqC,0DACrCC,EAA8C,uEAC9CC,EAAyC,kEA2BlC,MAAMN,EAAoB,CAC/BO,EACAC,EAA6C,CAC3C,YAAa,GACb,SAAU,GACV,YAAa,GACb,eAAgB,GAChB,aAAc,EAChB,IACa,CACb,EAAAC,QAAO,KAAK,8BAA8B,EAE1C,KAAM,CAAE,gBAAAC,EAAiB,gBAAAC,EAAiB,gBAAAC,EAAiB,oBAAAC,EAAqB,wBAAAC,CAAwB,EAAIP,EAiB5G,MAhB8B,CAC5B,iBAAkB,IAAI,mBAAiBG,CAAe,EACtD,iBAAkB,IAAI,mBAAiBC,CAAe,EAEtD,uBAAwB,IAAI,yBAAuBC,CAAe,EAClE,sBAAuB,IAAI,6BAA2BA,CAAe,EACrE,gBAAiB,IAAI,kBAAgBA,EAAiBJ,CAAoB,EAE1E,2BAA4B,IAAI,6BAA2BI,EAAiBJ,CAAoB,EAChG,8BAA+B,IAAI,gCAA8BI,EAAiBJ,CAAoB,EACtG,0BAA2B,IAAI,4BAA0BI,EAAiBJ,CAAoB,EAE9F,qBAAsB,IAAI,uBAAqBK,EAAqBL,CAAoB,EACxF,yBAA0B,IAAI,2BAAyBM,EAAyBN,CAAoB,EACpG,mBAAoBD,EAAQ,kBAC9B,CAEF",
|
|
6
6
|
"names": ["CreateDprServices_exports", "__export", "createDprServices", "__toCommonJS", "import_services", "import_logger", "import_missingReportService", "import_productCollectionStoreService", "import_productCollectionService", "clients", "serviceFeatureConfig", "logger", "reportingClient", "dashboardClient", "reportDataStore", "missingReportClient", "productCollectionClient"]
|
|
7
7
|
}
|
|
@@ -19,6 +19,7 @@ import { MissingReportService } from '../services/missingReport/missingReportSer
|
|
|
19
19
|
import { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'
|
|
20
20
|
import { ProductCollectionService } from '../services/productCollection/productCollectionService'
|
|
21
21
|
import { ServiceFeatureConfig } from '../types/DprConfig'
|
|
22
|
+
import { FeatureFlagService } from '../services/featureFlagService'
|
|
22
23
|
|
|
23
24
|
export interface InitDPRServicesArgs {
|
|
24
25
|
reportingClient: ReportingClient
|
|
@@ -26,6 +27,7 @@ export interface InitDPRServicesArgs {
|
|
|
26
27
|
reportDataStore: ReportDataStore
|
|
27
28
|
missingReportClient: MissingReportClient
|
|
28
29
|
productCollectionClient: ProductCollectionClient
|
|
30
|
+
featureFlagService: FeatureFlagService
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
interface dprServices {
|
|
@@ -39,6 +41,7 @@ interface dprServices {
|
|
|
39
41
|
downloadPermissionService: DownloadPermissionService
|
|
40
42
|
defaultFilterValuesService: DefaultFilterValuesService
|
|
41
43
|
productCollectionStoreService: ProductCollectionStoreService
|
|
44
|
+
featureFlagService: FeatureFlagService
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
export const createDprServices = (
|
|
@@ -68,6 +71,7 @@ export const createDprServices = (
|
|
|
68
71
|
|
|
69
72
|
missingReportService: new MissingReportService(missingReportClient, serviceFeatureConfig),
|
|
70
73
|
productCollectionService: new ProductCollectionService(productCollectionClient, serviceFeatureConfig),
|
|
74
|
+
featureFlagService: clients.featureFlagService,
|
|
71
75
|
}
|
|
72
76
|
return services as Services
|
|
73
77
|
}
|
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.
|
|
4
|
+
"version": "4.24.0",
|
|
5
5
|
"main": "dpr/all.mjs",
|
|
6
6
|
"sass": "dpr/all.scss",
|
|
7
7
|
"engines": {
|
|
@@ -138,6 +138,7 @@
|
|
|
138
138
|
]
|
|
139
139
|
},
|
|
140
140
|
"dependencies": {
|
|
141
|
+
"@flipt-io/flipt": "^1.5.0",
|
|
141
142
|
"@ministryofjustice/frontend": "^6.0.0",
|
|
142
143
|
"agentkeepalive": "^4.5.0",
|
|
143
144
|
"bunyan": "^1.8.15",
|