@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.18.3 → 4.20.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 (84) hide show
  1. package/dpr/components/_async/async-filters-form/view.njk +1 -1
  2. package/dpr/components/_async/async-polling/clientClass.mjs +0 -22
  3. package/dpr/components/_async/async-polling/view.njk +11 -8
  4. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  5. package/dpr/components/_catalogue/catalogue-list/utils.js.map +3 -3
  6. package/dpr/components/_catalogue/catalogue-list/utils.ts +50 -57
  7. package/dpr/components/_charts/utils.js +1 -1
  8. package/dpr/components/_charts/utils.js.map +3 -3
  9. package/dpr/components/_charts/utils.ts +17 -9
  10. package/dpr/components/_sync/sync-load/view.njk +1 -1
  11. package/dpr/components/user-reports/utils.js +1 -1
  12. package/dpr/components/user-reports/utils.js.map +2 -2
  13. package/dpr/components/user-reports/utils.ts +4 -4
  14. package/dpr/data/dashboardClient.js +1 -1
  15. package/dpr/data/dashboardClient.js.map +2 -2
  16. package/dpr/data/dashboardClient.ts +17 -0
  17. package/dpr/data/reportingClient.js +1 -1
  18. package/dpr/data/reportingClient.js.map +3 -3
  19. package/dpr/data/reportingClient.ts +1 -24
  20. package/dpr/middleware/setUpDprResources.js +1 -1
  21. package/dpr/middleware/setUpDprResources.js.map +3 -3
  22. package/dpr/middleware/setUpDprResources.ts +21 -3
  23. package/dpr/routes/authError.njk +10 -0
  24. package/dpr/routes/index.js +1 -1
  25. package/dpr/routes/index.js.map +3 -3
  26. package/dpr/routes/index.ts +7 -1
  27. package/dpr/routes/journeys/api-failures.cy.js +2 -0
  28. package/dpr/routes/journeys/api-failures.cy.js.map +7 -0
  29. package/dpr/routes/journeys/api-failures.cy.ts +377 -0
  30. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +2 -2
  31. package/dpr/routes/journeys/my-reports/bookmarks/service.ts +1 -0
  32. package/dpr/routes/journeys/request-report/controller.js +1 -1
  33. package/dpr/routes/journeys/request-report/controller.js.map +3 -3
  34. package/dpr/routes/journeys/request-report/controller.ts +25 -5
  35. package/dpr/routes/journeys/request-report/filters/controller.js +1 -1
  36. package/dpr/routes/journeys/request-report/filters/controller.js.map +2 -2
  37. package/dpr/routes/journeys/request-report/filters/controller.ts +1 -1
  38. package/dpr/routes/journeys/request-report/routes.js +1 -1
  39. package/dpr/routes/journeys/request-report/routes.js.map +3 -3
  40. package/dpr/routes/journeys/request-report/routes.ts +16 -0
  41. package/dpr/routes/journeys/request-report/status/controller.js +1 -1
  42. package/dpr/routes/journeys/request-report/status/controller.js.map +3 -3
  43. package/dpr/routes/journeys/request-report/status/controller.ts +0 -17
  44. package/dpr/routes/journeys/request-report/status/routes.js +1 -1
  45. package/dpr/routes/journeys/request-report/status/routes.js.map +2 -2
  46. package/dpr/routes/journeys/request-report/status/routes.ts +0 -1
  47. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  48. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +2 -2
  49. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +12 -4
  50. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js +2 -0
  51. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +7 -0
  52. package/dpr/routes/journeys/view-report/sync/dashboard/controller.ts +39 -0
  53. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js +2 -0
  54. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +7 -0
  55. package/dpr/routes/journeys/view-report/sync/dashboard/routes.ts +18 -0
  56. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +2 -0
  57. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +7 -0
  58. package/dpr/routes/journeys/view-report/sync/dashboard/utils.ts +149 -0
  59. package/dpr/routes/journeys/view-report/sync/load-report/controller.js +1 -1
  60. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +3 -3
  61. package/dpr/routes/journeys/view-report/sync/load-report/controller.ts +43 -13
  62. package/dpr/routes/journeys/view-report/sync/report/routes.js +1 -1
  63. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +3 -3
  64. package/dpr/routes/journeys/view-report/sync/report/routes.ts +2 -2
  65. package/dpr/routes/journeys/view-report/sync/routes.js +1 -1
  66. package/dpr/routes/journeys/view-report/sync/routes.js.map +3 -3
  67. package/dpr/routes/journeys/view-report/sync/routes.ts +2 -0
  68. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  69. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
  70. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +21 -1
  71. package/dpr/routes/serviceProblem.njk +10 -0
  72. package/dpr/services/dashboardService.js +1 -1
  73. package/dpr/services/dashboardService.js.map +2 -2
  74. package/dpr/services/dashboardService.ts +9 -0
  75. package/dpr/types/ReportQuery.js +1 -1
  76. package/dpr/types/ReportQuery.js.map +2 -2
  77. package/dpr/types/ReportQuery.ts +1 -1
  78. package/dpr/types/api.d.js +1 -1
  79. package/dpr/types/api.d.js.map +1 -1
  80. package/dpr/types/api.d.ts +139 -3
  81. package/dpr/utils/datasetHelper.js +1 -1
  82. package/dpr/utils/datasetHelper.js.map +3 -3
  83. package/dpr/utils/datasetHelper.ts +18 -9
  84. package/package.json +6 -7
@@ -1,2 +1,2 @@
1
- "use strict";var R=Object.create;var s=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of S(t))!H.call(e,o)&&o!==r&&s(e,o,{get:()=>t[o],enumerable:!(i=D(t,o))||i.enumerable});return e};var q=(e,t,r)=>(r=e!=null?R(w(e)):{},p(t||!e||!e.__esModule?s(r,"default",{value:e,enumerable:!0}):r,e)),x=e=>p(s({},"__esModule",{value:!0}),e);var L={};T(L,{LoadReportController:()=>n,default:()=>E});module.exports=x(L);var d=q(require("../../../../../utils/localsHelper")),l=require("../../../../../types/UserReports");class n{constructor(t,r){this.GET=async(t,r,i)=>{try{const{token:o}=d.default.getValues(r),{reportId:a,id:c}=t.params,{dataProductDefinitionsPath:u}=t.query,m=await this.services.reportingService.getDefinition(o,a,c,u),{name:y,variant:f,description:h}=m,{classification:v,description:P,name:g}=f;r.render("dpr/routes/journeys/view-report/sync/load-report/view",{renderData:{reportId:a,id:c,type:l.ReportType.REPORT,reportName:y,name:g,classification:v,description:P||h},layoutPath:this.layoutPath})}catch{i()}};this.layoutPath=t,this.services=r}}var E=n;0&&(module.exports={LoadReportController});
1
+ "use strict";var w=Object.create;var a=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var x=(t,e)=>{for(var i in e)a(t,i,{get:e[i],enumerable:!0})},v=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of T(e))!q.call(t,r)&&r!==i&&a(t,r,{get:()=>e[r],enumerable:!(n=H(e,r))||n.enumerable});return t};var E=(t,e,i)=>(i=t!=null?w(b(t)):{},v(e||!t||!t.__esModule?a(i,"default",{value:t,enumerable:!0}):i,t)),L=t=>v(a({},"__esModule",{value:!0}),t);var j={};x(j,{LoadReportController:()=>f,default:()=>V});module.exports=L(j);var y=E(require("../../../../../utils/localsHelper")),g=require("../../../../../types/UserReports");class f{constructor(e,i){this.GET=async(e,i,n)=>{try{const{token:r}=y.default.getValues(i),{reportId:s,id:c,type:u}=e.params,{dataProductDefinitionsPath:p}=e.query,D=await this.services.reportingService.getDefinitionSummary(r,s,p);let o,h,d,m;if(u===g.ReportType.REPORT){o=await this.services.reportingService.getDefinition(r,s,c,p);const{variant:l}=o;h=l.classification,d=l.description,m=l.name}else o=await this.services.dashboardService.getDefinition(r,s,c,p),d=o.description,m=o.name;const{name:S,description:P}=D,R={reportId:s,id:c,type:u,reportName:S,name:m,classification:h,description:d||P};i.render("dpr/routes/journeys/view-report/sync/load-report/view",{renderData:R,layoutPath:this.layoutPath})}catch{n()}};this.layoutPath=e,this.services=i}}var V=f;0&&(module.exports={LoadReportController});
2
2
  //# sourceMappingURL=controller.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/view-report/sync/load-report/controller.ts"],
4
- "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../../types/Services'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { ReportType } from '../../../../../types/UserReports'\n\nclass LoadReportController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n GET: RequestHandler = async (req, res, next) => {\n try {\n const { token } = LocalsHelper.getValues(res)\n const { reportId, id } = req.params\n const { dataProductDefinitionsPath } = req.query\n\n const definition = await this.services.reportingService.getDefinition(\n token,\n reportId,\n id,\n <string | undefined>dataProductDefinitionsPath,\n )\n const { name: reportName, variant, description: reportDescription } = definition\n const { classification, description, name } = variant\n\n res.render(`dpr/routes/journeys/view-report/sync/load-report/view`, {\n renderData: {\n reportId,\n id,\n type: ReportType.REPORT,\n reportName,\n name,\n classification,\n description: description || reportDescription,\n },\n layoutPath: this.layoutPath,\n })\n } catch (error) {\n next()\n }\n }\n}\n\nexport { LoadReportController }\nexport default LoadReportController\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAyB,gDACzBC,EAA2B,4CAE3B,MAAMJ,CAAqB,CAKzB,YAAYK,EAAoBC,EAAoB,CAKpD,SAAsB,MAAOC,EAAKC,EAAKC,IAAS,CAC9C,GAAI,CACF,KAAM,CAAE,MAAAC,CAAM,EAAI,EAAAC,QAAa,UAAUH,CAAG,EACtC,CAAE,SAAAI,EAAU,GAAAC,CAAG,EAAIN,EAAI,OACvB,CAAE,2BAAAO,CAA2B,EAAIP,EAAI,MAErCQ,EAAa,MAAM,KAAK,SAAS,iBAAiB,cACtDL,EACAE,EACAC,EACoBC,CACtB,EACM,CAAE,KAAME,EAAY,QAAAC,EAAS,YAAaC,CAAkB,EAAIH,EAChE,CAAE,eAAAI,EAAgB,YAAAC,EAAa,KAAAC,CAAK,EAAIJ,EAE9CT,EAAI,OAAO,wDAAyD,CAClE,WAAY,CACV,SAAAI,EACA,GAAAC,EACA,KAAM,aAAW,OACjB,WAAAG,EACA,KAAAK,EACA,eAAAF,EACA,YAAaC,GAAeF,CAC9B,EACA,WAAY,KAAK,UACnB,CAAC,CACH,MAAgB,CACdT,EAAK,CACP,CACF,EAlCE,KAAK,WAAaJ,EAClB,KAAK,SAAWC,CAClB,CAiCF,CAGA,IAAOL,EAAQD",
6
- "names": ["controller_exports", "__export", "LoadReportController", "controller_default", "__toCommonJS", "import_localsHelper", "import_UserReports", "layoutPath", "services", "req", "res", "next", "token", "LocalsHelper", "reportId", "id", "dataProductDefinitionsPath", "definition", "reportName", "variant", "reportDescription", "classification", "description", "name"]
4
+ "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../../types/Services'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { ReportType } from '../../../../../types/UserReports'\nimport { components } from '../../../../../types/api'\n\nclass LoadReportController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n GET: RequestHandler = async (req, res, next) => {\n try {\n const { token } = LocalsHelper.getValues(res)\n const { reportId, id, type } = req.params\n const { dataProductDefinitionsPath } = req.query\n\n const definitionSummary = await this.services.reportingService.getDefinitionSummary(\n token,\n reportId,\n <string | undefined>dataProductDefinitionsPath,\n )\n\n let definition:\n | components['schemas']['SingleVariantReportDefinition']\n | components['schemas']['DashboardDefinition']\n\n let classification\n let description\n let name\n if (type === ReportType.REPORT) {\n definition = await this.services.reportingService.getDefinition(\n token,\n reportId,\n id,\n <string | undefined>dataProductDefinitionsPath,\n )\n const { variant } = definition\n classification = variant.classification\n description = variant.description\n name = variant.name\n } else {\n definition = await this.services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n <string | undefined>dataProductDefinitionsPath,\n )\n description = definition.description\n name = definition.name\n }\n const { name: reportName, description: reportDescription } = definitionSummary\n\n const renderData = {\n reportId,\n id,\n type,\n reportName,\n name,\n classification,\n description: description || reportDescription,\n }\n\n res.render(`dpr/routes/journeys/view-report/sync/load-report/view`, {\n renderData,\n layoutPath: this.layoutPath,\n })\n } catch (error) {\n next()\n }\n }\n}\n\nexport { LoadReportController }\nexport default LoadReportController\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAyB,gDACzBC,EAA2B,4CAG3B,MAAMJ,CAAqB,CAKzB,YAAYK,EAAoBC,EAAoB,CAKpD,SAAsB,MAAOC,EAAKC,EAAKC,IAAS,CAC9C,GAAI,CACF,KAAM,CAAE,MAAAC,CAAM,EAAI,EAAAC,QAAa,UAAUH,CAAG,EACtC,CAAE,SAAAI,EAAU,GAAAC,EAAI,KAAAC,CAAK,EAAIP,EAAI,OAC7B,CAAE,2BAAAQ,CAA2B,EAAIR,EAAI,MAErCS,EAAoB,MAAM,KAAK,SAAS,iBAAiB,qBAC7DN,EACAE,EACoBG,CACtB,EAEA,IAAIE,EAIAC,EACAC,EACAC,EACJ,GAAIN,IAAS,aAAW,OAAQ,CAC9BG,EAAa,MAAM,KAAK,SAAS,iBAAiB,cAChDP,EACAE,EACAC,EACoBE,CACtB,EACA,KAAM,CAAE,QAAAM,CAAQ,EAAIJ,EACpBC,EAAiBG,EAAQ,eACzBF,EAAcE,EAAQ,YACtBD,EAAOC,EAAQ,IACjB,MACEJ,EAAa,MAAM,KAAK,SAAS,iBAAiB,cAChDP,EACAE,EACAC,EACoBE,CACtB,EACAI,EAAcF,EAAW,YACzBG,EAAOH,EAAW,KAEpB,KAAM,CAAE,KAAMK,EAAY,YAAaC,CAAkB,EAAIP,EAEvDQ,EAAa,CACjB,SAAAZ,EACA,GAAAC,EACA,KAAAC,EACA,WAAAQ,EACA,KAAAF,EACA,eAAAF,EACA,YAAaC,GAAeI,CAC9B,EAEAf,EAAI,OAAO,wDAAyD,CAClE,WAAAgB,EACA,WAAY,KAAK,UACnB,CAAC,CACH,MAAgB,CACdf,EAAK,CACP,CACF,EA/DE,KAAK,WAAaJ,EAClB,KAAK,SAAWC,CAClB,CA8DF,CAGA,IAAOL,EAAQD",
6
+ "names": ["controller_exports", "__export", "LoadReportController", "controller_default", "__toCommonJS", "import_localsHelper", "import_UserReports", "layoutPath", "services", "req", "res", "next", "token", "LocalsHelper", "reportId", "id", "type", "dataProductDefinitionsPath", "definitionSummary", "definition", "classification", "description", "name", "variant", "reportName", "reportDescription", "renderData"]
7
7
  }
@@ -2,6 +2,7 @@ import { RequestHandler } from 'express'
2
2
  import { Services } from '../../../../../types/Services'
3
3
  import LocalsHelper from '../../../../../utils/localsHelper'
4
4
  import { ReportType } from '../../../../../types/UserReports'
5
+ import { components } from '../../../../../types/api'
5
6
 
6
7
  class LoadReportController {
7
8
  layoutPath: string
@@ -16,28 +17,57 @@ class LoadReportController {
16
17
  GET: RequestHandler = async (req, res, next) => {
17
18
  try {
18
19
  const { token } = LocalsHelper.getValues(res)
19
- const { reportId, id } = req.params
20
+ const { reportId, id, type } = req.params
20
21
  const { dataProductDefinitionsPath } = req.query
21
22
 
22
- const definition = await this.services.reportingService.getDefinition(
23
+ const definitionSummary = await this.services.reportingService.getDefinitionSummary(
23
24
  token,
24
25
  reportId,
25
- id,
26
26
  <string | undefined>dataProductDefinitionsPath,
27
27
  )
28
- const { name: reportName, variant, description: reportDescription } = definition
29
- const { classification, description, name } = variant
30
28
 
31
- res.render(`dpr/routes/journeys/view-report/sync/load-report/view`, {
32
- renderData: {
29
+ let definition:
30
+ | components['schemas']['SingleVariantReportDefinition']
31
+ | components['schemas']['DashboardDefinition']
32
+
33
+ let classification
34
+ let description
35
+ let name
36
+ if (type === ReportType.REPORT) {
37
+ definition = await this.services.reportingService.getDefinition(
38
+ token,
39
+ reportId,
40
+ id,
41
+ <string | undefined>dataProductDefinitionsPath,
42
+ )
43
+ const { variant } = definition
44
+ classification = variant.classification
45
+ description = variant.description
46
+ name = variant.name
47
+ } else {
48
+ definition = await this.services.dashboardService.getDefinition(
49
+ token,
33
50
  reportId,
34
51
  id,
35
- type: ReportType.REPORT,
36
- reportName,
37
- name,
38
- classification,
39
- description: description || reportDescription,
40
- },
52
+ <string | undefined>dataProductDefinitionsPath,
53
+ )
54
+ description = definition.description
55
+ name = definition.name
56
+ }
57
+ const { name: reportName, description: reportDescription } = definitionSummary
58
+
59
+ const renderData = {
60
+ reportId,
61
+ id,
62
+ type,
63
+ reportName,
64
+ name,
65
+ classification,
66
+ description: description || reportDescription,
67
+ }
68
+
69
+ res.render(`dpr/routes/journeys/view-report/sync/load-report/view`, {
70
+ renderData,
41
71
  layoutPath: this.layoutPath,
42
72
  })
43
73
  } catch (error) {
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.create;var s=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var v=(e,r)=>{for(var t in r)s(e,t,{get:r[t],enumerable:!0})},a=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of f(r))!d.call(e,l)&&l!==t&&s(e,l,{get:()=>r[l],enumerable:!(o=n(r,l))||o.enumerable});return e};var y=(e,r,t)=>(t=e!=null?m(c(e)):{},a(r||!e||!e.__esModule?s(t,"default",{value:e,enumerable:!0}):t,e)),g=e=>a(s({},"__esModule",{value:!0}),e);var F={};v(F,{default:()=>w,routes:()=>i});module.exports=g(F);var p=require("express"),u=y(require("./controller"));function i({layoutPath:e,services:r}){const t=(0,p.Router)({mergeParams:!0}),o=new u.default(e,r);return t.get(["/","/download-disabled"],o.GET),t.post("/apply-filters",o.applyFilters),t.post("/apply-columns",o.applyColumns),t.post("/save-defaults",o.saveDefaultFilterValues),t.post("/remove-defaults",o.removeDefaultFilterValues),t}var w=i;0&&(module.exports={routes});
1
+ "use strict";var n=Object.create;var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var v=(e,r)=>{for(var t in r)s(e,t,{get:r[t],enumerable:!0})},a=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of f(r))!d.call(e,l)&&l!==t&&s(e,l,{get:()=>r[l],enumerable:!(o=m(r,l))||o.enumerable});return e};var y=(e,r,t)=>(t=e!=null?n(c(e)):{},a(r||!e||!e.__esModule?s(t,"default",{value:e,enumerable:!0}):t,e)),g=e=>a(s({},"__esModule",{value:!0}),e);var F={};v(F,{default:()=>w,routes:()=>i});module.exports=g(F);var p=require("express"),u=y(require("./controller"));function i({layoutPath:e,services:r}){const t=(0,p.Router)({mergeParams:!0}),o=new u.default(e,r);return t.get(["/","/download-disabled"],o.GET),t.post("/apply-filters",o.applyFilters),t.post("/apply-columns",o.applyColumns),t.post("/save-defaults",o.saveDefaultFilterValues),t.post("/remove-defaults",o.removeDefaultFilterValues),t}var w=i;0&&(module.exports={routes});
2
2
  //# sourceMappingURL=routes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/view-report/sync/report/routes.ts"],
4
- "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Router } from 'express'\nimport ViewReportController from './controller'\nimport { Services } from '../../../../../types/Services'\n\nexport function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {\n const router = Router({ mergeParams: true })\n const controller = new ViewReportController(layoutPath, services)\n\n router.get([`/`, `/download-disabled`], controller.GET)\n\n // Interactive controls\n router.post('/apply-filters', controller.applyFilters)\n router.post('/apply-columns', controller.applyColumns)\n\n // User defined defaults\n router.post('/save-defaults', controller.saveDefaultFilterValues)\n router.post('/remove-defaults', controller.removeDefaultFilterValues)\n\n return router\n}\n\nexport default routes\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBACvBC,EAAiC,2BAG1B,SAASH,EAAO,CAAE,WAAAI,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EACrCC,EAAa,IAAI,EAAAC,QAAqBJ,EAAYC,CAAQ,EAEhE,OAAAC,EAAO,IAAI,CAAC,IAAK,oBAAoB,EAAGC,EAAW,GAAG,EAGtDD,EAAO,KAAK,iBAAkBC,EAAW,YAAY,EACrDD,EAAO,KAAK,iBAAkBC,EAAW,YAAY,EAGrDD,EAAO,KAAK,iBAAkBC,EAAW,uBAAuB,EAChED,EAAO,KAAK,mBAAoBC,EAAW,yBAAyB,EAE7DD,CACT,CAEA,IAAOP,EAAQC",
6
- "names": ["routes_exports", "__export", "routes_default", "routes", "__toCommonJS", "import_express", "import_controller", "layoutPath", "services", "router", "controller", "ViewReportController"]
4
+ "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Router } from 'express'\nimport ViewSyncReportController from './controller'\nimport { Services } from '../../../../../types/Services'\n\nexport function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {\n const router = Router({ mergeParams: true })\n const controller = new ViewSyncReportController(layoutPath, services)\n\n router.get([`/`, `/download-disabled`], controller.GET)\n\n // Interactive controls\n router.post('/apply-filters', controller.applyFilters)\n router.post('/apply-columns', controller.applyColumns)\n\n // User defined defaults\n router.post('/save-defaults', controller.saveDefaultFilterValues)\n router.post('/remove-defaults', controller.removeDefaultFilterValues)\n\n return router\n}\n\nexport default routes\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBACvBC,EAAqC,2BAG9B,SAASH,EAAO,CAAE,WAAAI,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EACrCC,EAAa,IAAI,EAAAC,QAAyBJ,EAAYC,CAAQ,EAEpE,OAAAC,EAAO,IAAI,CAAC,IAAK,oBAAoB,EAAGC,EAAW,GAAG,EAGtDD,EAAO,KAAK,iBAAkBC,EAAW,YAAY,EACrDD,EAAO,KAAK,iBAAkBC,EAAW,YAAY,EAGrDD,EAAO,KAAK,iBAAkBC,EAAW,uBAAuB,EAChED,EAAO,KAAK,mBAAoBC,EAAW,yBAAyB,EAE7DD,CACT,CAEA,IAAOP,EAAQC",
6
+ "names": ["routes_exports", "__export", "routes_default", "routes", "__toCommonJS", "import_express", "import_controller", "layoutPath", "services", "router", "controller", "ViewSyncReportController"]
7
7
  }
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable no-param-reassign */
2
2
  import { Router } from 'express'
3
- import ViewReportController from './controller'
3
+ import ViewSyncReportController from './controller'
4
4
  import { Services } from '../../../../../types/Services'
5
5
 
6
6
  export function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {
7
7
  const router = Router({ mergeParams: true })
8
- const controller = new ViewReportController(layoutPath, services)
8
+ const controller = new ViewSyncReportController(layoutPath, services)
9
9
 
10
10
  router.get([`/`, `/download-disabled`], controller.GET)
11
11
 
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.create;var m=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var x=(r,o)=>{for(var e in o)m(r,e,{get:o[e],enumerable:!0})},i=(r,o,e,u)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of g(o))!v.call(r,t)&&t!==e&&m(r,t,{get:()=>o[t],enumerable:!(u=d(o,t))||u.enumerable});return r};var p=(r,o,e)=>(e=r!=null?c(l(r)):{},i(o||!r||!r.__esModule?m(e,"default",{value:r,enumerable:!0}):e,r)),S=r=>i(m({},"__esModule",{value:!0}),r);var A={};x(A,{default:()=>w,routes:()=>a});module.exports=S(A);var s=require("express"),f=p(require("./load-report/routes")),n=p(require("./report/routes")),R=p(require("../../../../middleware/reportAuthoriser"));function a({layoutPath:r,services:o}){const e=(0,s.Router)({mergeParams:!0});return e.use("/report",(0,R.default)(o,r),(0,n.default)({layoutPath:r,services:o})),e.use("/load-report",(0,f.default)({layoutPath:r,services:o})),e}var w=a;0&&(module.exports={routes});
1
+ "use strict";var b=Object.create;var m=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var c=(r,o)=>{for(var e in o)m(r,e,{get:o[e],enumerable:!0})},s=(r,o,e,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of w(o))!S.call(r,t)&&t!==e&&m(r,t,{get:()=>o[t],enumerable:!(i=g(o,t))||i.enumerable});return r};var p=(r,o,e)=>(e=r!=null?b(x(r)):{},s(o||!r||!r.__esModule?m(e,"default",{value:r,enumerable:!0}):e,r)),v=r=>s(m({},"__esModule",{value:!0}),r);var D={};c(D,{default:()=>A,routes:()=>a});module.exports=v(D);var f=require("express"),d=p(require("./load-report/routes")),R=p(require("./report/routes")),n=p(require("./dashboard/routes")),u=p(require("../../../../middleware/reportAuthoriser"));function a({layoutPath:r,services:o}){const e=(0,f.Router)({mergeParams:!0});return e.use("/report",(0,u.default)(o,r),(0,R.default)({layoutPath:r,services:o})),e.use("/dashboard",(0,u.default)(o,r),(0,n.default)({layoutPath:r,services:o})),e.use("/load-report",(0,d.default)({layoutPath:r,services:o})),e}var A=a;0&&(module.exports={routes});
2
2
  //# sourceMappingURL=routes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/dpr/routes/journeys/view-report/sync/routes.ts"],
4
- "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Router } from 'express'\nimport { Services } from '../../../../types/Services'\n\n// Routes\nimport loadReportRoutes from './load-report/routes'\nimport viewReportRoutes from './report/routes'\n\n// middleware\nimport reportAuthoriser from '../../../../middleware/reportAuthoriser'\n\nexport function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {\n const router = Router({ mergeParams: true })\n\n router.use('/report', reportAuthoriser(services, layoutPath), viewReportRoutes({ layoutPath, services }))\n router.use(`/load-report`, loadReportRoutes({ layoutPath, services }))\n\n return router\n}\n\nexport default routes\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBAIvBC,EAA6B,mCAC7BA,EAA6B,8BAG7BC,EAA6B,sDAEtB,SAASJ,EAAO,CAAE,WAAAK,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAE3C,OAAAA,EAAO,IAAI,aAAW,EAAAC,SAAiBF,EAAUD,CAAU,KAAG,EAAAI,SAAiB,CAAE,WAAAJ,EAAY,SAAAC,CAAS,CAAC,CAAC,EACxGC,EAAO,IAAI,kBAAgB,EAAAG,SAAiB,CAAE,WAAAL,EAAY,SAAAC,CAAS,CAAC,CAAC,EAE9DC,CACT,CAEA,IAAOR,EAAQC",
6
- "names": ["routes_exports", "__export", "routes_default", "routes", "__toCommonJS", "import_express", "import_routes", "import_reportAuthoriser", "layoutPath", "services", "router", "reportAuthoriser", "viewReportRoutes", "loadReportRoutes"]
4
+ "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Router } from 'express'\nimport { Services } from '../../../../types/Services'\n\n// Routes\nimport loadReportRoutes from './load-report/routes'\nimport viewReportRoutes from './report/routes'\nimport viewDashboardRoutes from './dashboard/routes'\n\n// middleware\nimport reportAuthoriser from '../../../../middleware/reportAuthoriser'\n\nexport function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {\n const router = Router({ mergeParams: true })\n\n router.use('/report', reportAuthoriser(services, layoutPath), viewReportRoutes({ layoutPath, services }))\n router.use('/dashboard', reportAuthoriser(services, layoutPath), viewDashboardRoutes({ layoutPath, services }))\n router.use(`/load-report`, loadReportRoutes({ layoutPath, services }))\n\n return router\n}\n\nexport default routes\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAuB,mBAIvBC,EAA6B,mCAC7BA,EAA6B,8BAC7BA,EAAgC,iCAGhCC,EAA6B,sDAEtB,SAASJ,EAAO,CAAE,WAAAK,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAE3C,OAAAA,EAAO,IAAI,aAAW,EAAAC,SAAiBF,EAAUD,CAAU,KAAG,EAAAI,SAAiB,CAAE,WAAAJ,EAAY,SAAAC,CAAS,CAAC,CAAC,EACxGC,EAAO,IAAI,gBAAc,EAAAC,SAAiBF,EAAUD,CAAU,KAAG,EAAAK,SAAoB,CAAE,WAAAL,EAAY,SAAAC,CAAS,CAAC,CAAC,EAC9GC,EAAO,IAAI,kBAAgB,EAAAI,SAAiB,CAAE,WAAAN,EAAY,SAAAC,CAAS,CAAC,CAAC,EAE9DC,CACT,CAEA,IAAOR,EAAQC",
6
+ "names": ["routes_exports", "__export", "routes_default", "routes", "__toCommonJS", "import_express", "import_routes", "import_reportAuthoriser", "layoutPath", "services", "router", "reportAuthoriser", "viewReportRoutes", "viewDashboardRoutes", "loadReportRoutes"]
7
7
  }
@@ -5,6 +5,7 @@ import { Services } from '../../../../types/Services'
5
5
  // Routes
6
6
  import loadReportRoutes from './load-report/routes'
7
7
  import viewReportRoutes from './report/routes'
8
+ import viewDashboardRoutes from './dashboard/routes'
8
9
 
9
10
  // middleware
10
11
  import reportAuthoriser from '../../../../middleware/reportAuthoriser'
@@ -13,6 +14,7 @@ export function routes({ layoutPath, services }: { layoutPath: string; services:
13
14
  const router = Router({ mergeParams: true })
14
15
 
15
16
  router.use('/report', reportAuthoriser(services, layoutPath), viewReportRoutes({ layoutPath, services }))
17
+ router.use('/dashboard', reportAuthoriser(services, layoutPath), viewDashboardRoutes({ layoutPath, services }))
16
18
  router.use(`/load-report`, loadReportRoutes({ layoutPath, services }))
17
19
 
18
20
  return router
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("../../../../../../cypress-tests/cypressUtils");context("Platform sync tests",()=>{const t="/embedded/platform/";describe("Sync tests from the platform",()=>{before(()=>{(0,e.executeReportStubs)(),cy.task("stubDefinitionSyncReport"),cy.task("stubRequestSuccessResult20"),cy.task("stubSyncRequestDataSuccess"),cy.task("stubSyncRequestDataSuccessCount")}),it("should load a sync report",()=>{cy.visit(t),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(c,s)=>!!s.textContent?.includes("This is an sync report")}).within(()=>{cy.findByRole("link",{name:/Load report/}).click()})}),cy.findByRole("heading",{name:/Sync report/,level:1}).should("be.visible")})})});
1
+ "use strict";var e=require("../../../../../../cypress-tests/cypressUtils");context("Platform sync tests",()=>{const s="/embedded/platform/";describe("Sync tests from the platform",()=>{before(()=>{(0,e.executeDashboardStubs)(),(0,e.executeReportStubs)(),cy.task("stubDefinitionSyncReport"),cy.task("stubDefinitionSyncDashboard"),cy.task("stubRequestSuccessResult20"),cy.task("stubSyncRequestDataSuccess"),cy.task("stubSyncDashboardRequestDataSuccess"),cy.task("stubSyncRequestDataSuccessCount")}),it("should load a sync report",()=>{cy.visit(s),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(n,t)=>!!t.textContent?.includes("This is an sync report")}).within(()=>{cy.findByRole("link",{name:/Load report/}).click()})}),cy.findByRole("heading",{name:/Sync report/,level:1}).should("be.visible")}),it("should load a sync dashboard",()=>{cy.visit(s),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(n,t)=>!!t.textContent?.includes("Sync Dashboard used for testing")}).within(()=>{cy.findByRole("link",{name:/Load dashboard/}).click()})}),cy.findByRole("heading",{name:/Sync Dashboard/,level:1}).should("be.visible")})})});
2
2
  //# sourceMappingURL=tests.cy.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/dpr/routes/journeys/view-report/sync/tests.cy.ts"],
4
- "sourcesContent": ["import { executeReportStubs } from '../../../../../../cypress-tests/cypressUtils'\n\ncontext('Platform sync tests', () => {\n const path = '/embedded/platform/'\n\n describe('Sync tests from the platform', () => {\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionSyncReport')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubSyncRequestDataSuccess')\n cy.task('stubSyncRequestDataSuccessCount')\n })\n it('should load a sync report', () => {\n cy.visit(path)\n\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return Boolean(element.textContent?.includes('This is an sync report'))\n },\n }).within(() => {\n cy.findByRole('link', { name: /Load report/ }).click()\n })\n })\n\n cy.findByRole('heading', { name: /Sync report/, level: 1 }).should('be.visible')\n })\n })\n})\n"],
5
- "mappings": "aAAA,IAAAA,EAAmC,wDAEnC,QAAQ,sBAAuB,IAAM,CACnC,MAAMC,EAAO,sBAEb,SAAS,+BAAgC,IAAM,CAC7C,OAAO,IAAM,IACX,sBAAmB,EACnB,GAAG,KAAK,0BAA0B,EAClC,GAAG,KAAK,4BAA4B,EACpC,GAAG,KAAK,4BAA4B,EACpC,GAAG,KAAK,iCAAiC,CAC3C,CAAC,EACD,GAAG,4BAA6B,IAAM,CACpC,GAAG,MAAMA,CAAI,EAEb,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACC,EAAGC,IACD,EAAQA,EAAQ,aAAa,SAAS,wBAAwB,CAEzE,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,aAAc,CAAC,EAAE,MAAM,CACvD,CAAC,CACH,CAAC,EAED,GAAG,WAAW,UAAW,CAAE,KAAM,cAAe,MAAO,CAAE,CAAC,EAAE,OAAO,YAAY,CACjF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { executeReportStubs, executeDashboardStubs } from '../../../../../../cypress-tests/cypressUtils'\n\ncontext('Platform sync tests', () => {\n const path = '/embedded/platform/'\n\n describe('Sync tests from the platform', () => {\n before(() => {\n executeDashboardStubs()\n executeReportStubs()\n cy.task('stubDefinitionSyncReport')\n cy.task('stubDefinitionSyncDashboard')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubSyncRequestDataSuccess')\n cy.task('stubSyncDashboardRequestDataSuccess')\n cy.task('stubSyncRequestDataSuccessCount')\n })\n\n it('should load a sync report', () => {\n cy.visit(path)\n\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return Boolean(element.textContent?.includes('This is an sync report'))\n },\n }).within(() => {\n cy.findByRole('link', { name: /Load report/ }).click()\n })\n })\n\n cy.findByRole('heading', { name: /Sync report/, level: 1 }).should('be.visible')\n })\n\n it('should load a sync dashboard', () => {\n cy.visit(path)\n\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return Boolean(element.textContent?.includes('Sync Dashboard used for testing'))\n },\n }).within(() => {\n cy.findByRole('link', { name: /Load dashboard/ }).click()\n })\n })\n\n cy.findByRole('heading', { name: /Sync Dashboard/, level: 1 }).should('be.visible')\n })\n })\n})\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0D,wDAE1D,QAAQ,sBAAuB,IAAM,CACnC,MAAMC,EAAO,sBAEb,SAAS,+BAAgC,IAAM,CAC7C,OAAO,IAAM,IACX,yBAAsB,KACtB,sBAAmB,EACnB,GAAG,KAAK,0BAA0B,EAClC,GAAG,KAAK,6BAA6B,EACrC,GAAG,KAAK,4BAA4B,EACpC,GAAG,KAAK,4BAA4B,EACpC,GAAG,KAAK,qCAAqC,EAC7C,GAAG,KAAK,iCAAiC,CAC3C,CAAC,EAED,GAAG,4BAA6B,IAAM,CACpC,GAAG,MAAMA,CAAI,EAEb,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACC,EAAGC,IACD,EAAQA,EAAQ,aAAa,SAAS,wBAAwB,CAEzE,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,aAAc,CAAC,EAAE,MAAM,CACvD,CAAC,CACH,CAAC,EAED,GAAG,WAAW,UAAW,CAAE,KAAM,cAAe,MAAO,CAAE,CAAC,EAAE,OAAO,YAAY,CACjF,CAAC,EAED,GAAG,+BAAgC,IAAM,CACvC,GAAG,MAAMF,CAAI,EAEb,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACC,EAAGC,IACD,EAAQA,EAAQ,aAAa,SAAS,iCAAiC,CAElF,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,gBAAiB,CAAC,EAAE,MAAM,CAC1D,CAAC,CACH,CAAC,EAED,GAAG,WAAW,UAAW,CAAE,KAAM,iBAAkB,MAAO,CAAE,CAAC,EAAE,OAAO,YAAY,CACpF,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_cypressUtils", "path", "_", "element"]
7
7
  }
@@ -1,16 +1,20 @@
1
- import { executeReportStubs } from '../../../../../../cypress-tests/cypressUtils'
1
+ import { executeReportStubs, executeDashboardStubs } from '../../../../../../cypress-tests/cypressUtils'
2
2
 
3
3
  context('Platform sync tests', () => {
4
4
  const path = '/embedded/platform/'
5
5
 
6
6
  describe('Sync tests from the platform', () => {
7
7
  before(() => {
8
+ executeDashboardStubs()
8
9
  executeReportStubs()
9
10
  cy.task('stubDefinitionSyncReport')
11
+ cy.task('stubDefinitionSyncDashboard')
10
12
  cy.task('stubRequestSuccessResult20')
11
13
  cy.task('stubSyncRequestDataSuccess')
14
+ cy.task('stubSyncDashboardRequestDataSuccess')
12
15
  cy.task('stubSyncRequestDataSuccessCount')
13
16
  })
17
+
14
18
  it('should load a sync report', () => {
15
19
  cy.visit(path)
16
20
 
@@ -26,5 +30,21 @@ context('Platform sync tests', () => {
26
30
 
27
31
  cy.findByRole('heading', { name: /Sync report/, level: 1 }).should('be.visible')
28
32
  })
33
+
34
+ it('should load a sync dashboard', () => {
35
+ cy.visit(path)
36
+
37
+ cy.findByLabelText(/Reports catalogue.*/i).within(() => {
38
+ cy.findByRole('row', {
39
+ name: (_, element) => {
40
+ return Boolean(element.textContent?.includes('Sync Dashboard used for testing'))
41
+ },
42
+ }).within(() => {
43
+ cy.findByRole('link', { name: /Load dashboard/ }).click()
44
+ })
45
+ })
46
+
47
+ cy.findByRole('heading', { name: /Sync Dashboard/, level: 1 }).should('be.visible')
48
+ })
29
49
  })
30
50
  })
@@ -0,0 +1,10 @@
1
+ {% extends layoutPath %}
2
+
3
+ {% block content %}
4
+ <h1 class="govuk-heading-xl">{{ message | default("Sorry, there is a problem with the service.") }}</h1>
5
+ <p>The problem has been reported to the service team.</p>
6
+ <p>Try again later.</p>
7
+ <h2 class="govuk-heading-m">Get help</h2>
8
+ <p>Contact the helpdesk on 0800 917 5148 or #6598 from inside an establishment.</p>
9
+ <p><a class="govuk-link--no-visited-state" href="{{ digitalPrisonServicesUrl }}">Go to digital services home page</a></p>
10
+ {% endblock %}
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var D=(i,t)=>{for(var n in t)a(i,n,{get:t[n],enumerable:!0})},m=(i,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of d(t))!h.call(i,s)&&s!==n&&a(i,s,{get:()=>t[s],enumerable:!(r=c(t,s))||r.enumerable});return i};var b=i=>m(a({},"__esModule",{value:!0}),i);var l={};D(l,{DashboardService:()=>o,default:()=>u});module.exports=b(l);class o{constructor(t){this.dashboardClient=t;this.dashboardClient=t}async getDefinition(t,n,r,s,e){return this.dashboardClient.getDefinition(t,r,n,s,e)}async requestAsyncDashboard(t,n,r,s){return this.dashboardClient.requestAsyncDashboard(t,n,r,s)}async cancelAsyncRequest(t,n,r,s,e){return this.dashboardClient.cancelAsyncRequest(t,n,r,s,e)}async getAsyncStatus(t,n,r,s,e,g){return this.dashboardClient.getAsyncStatus(t,n,r,s,e,g)}async getAsyncDashboard(t,n,r,s,e){return this.dashboardClient.getAsyncDashboard(t,r,n,s,e)}}var u=o;0&&(module.exports={DashboardService});
1
+ "use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var D=(i,t)=>{for(var r in t)a(i,r,{get:t[r],enumerable:!0})},b=(i,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of d(t))!h.call(i,s)&&s!==r&&a(i,s,{get:()=>t[s],enumerable:!(n=c(t,s))||n.enumerable});return i};var m=i=>b(a({},"__esModule",{value:!0}),i);var y={};D(y,{DashboardService:()=>o,default:()=>u});module.exports=m(y);class o{constructor(t){this.dashboardClient=t;this.dashboardClient=t}async getDefinition(t,r,n,s,e){return this.dashboardClient.getDefinition(t,n,r,s,e)}async requestAsyncDashboard(t,r,n,s){return this.dashboardClient.requestAsyncDashboard(t,r,n,s)}async cancelAsyncRequest(t,r,n,s,e){return this.dashboardClient.cancelAsyncRequest(t,r,n,s,e)}async getAsyncStatus(t,r,n,s,e,g){return this.dashboardClient.getAsyncStatus(t,r,n,s,e,g)}async getAsyncDashboard(t,r,n,s,e){return this.dashboardClient.getAsyncDashboard(t,n,r,s,e)}async getSyncDashboard(t,r,n,s){return this.dashboardClient.getSyncDashboard(t,n,r,s)}}var u=o;0&&(module.exports={DashboardService});
2
2
  //# sourceMappingURL=dashboardService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/services/dashboardService.ts"],
4
- "sourcesContent": ["import Dict = NodeJS.Dict\nimport DashboardClient from '../data/dashboardClient'\nimport { components } from '../types/api'\nimport { DashboardDataResponse } from '../types/Metrics'\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nclass DashboardService {\n constructor(private readonly dashboardClient: DashboardClient) {\n this.dashboardClient = dashboardClient\n }\n\n async getDefinition(\n token: string,\n dpdId: string,\n id: string,\n dataProductDefinitionsPath?: string,\n query?: Dict<string | string[]> | undefined,\n ): Promise<components['schemas']['DashboardDefinition']> {\n return this.dashboardClient.getDefinition(token, id, dpdId, dataProductDefinitionsPath, query)\n }\n\n async requestAsyncDashboard(\n token: string,\n reportId: string,\n dashboardId: string,\n query: Record<string, string | boolean | number>,\n ): Promise<Dict<string>> {\n return this.dashboardClient.requestAsyncDashboard(token, reportId, dashboardId, query)\n }\n\n async cancelAsyncRequest(\n token: string,\n reportId: string,\n dashboardId: string,\n executionId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Dict<string>> {\n return this.dashboardClient.cancelAsyncRequest(\n token,\n reportId,\n dashboardId,\n executionId,\n dataProductDefinitionsPath,\n )\n }\n\n async getAsyncStatus(\n token: string,\n reportId: string,\n dashboardId: string,\n executionId: string,\n tableId?: string,\n dataProductDefinitionsPath?: string,\n ): Promise<components['schemas']['StatementExecutionStatus']> {\n return this.dashboardClient.getAsyncStatus(\n token,\n reportId,\n dashboardId,\n executionId,\n tableId,\n dataProductDefinitionsPath,\n )\n }\n\n async getAsyncDashboard(\n token: string,\n dashboardId: string,\n reportId: string,\n tableId: string,\n query: Record<string, string | string[]>,\n ): Promise<DashboardDataResponse[][]> {\n return this.dashboardClient.getAsyncDashboard(token, reportId, dashboardId, tableId, query)\n }\n}\n\nexport { DashboardService }\nexport default DashboardService\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAMA,MAAME,CAAiB,CACrB,YAA6BG,EAAkC,CAAlC,qBAAAA,EAC3B,KAAK,gBAAkBA,CACzB,CAEA,MAAM,cACJC,EACAC,EACAC,EACAC,EACAC,EACuD,CACvD,OAAO,KAAK,gBAAgB,cAAcJ,EAAOE,EAAID,EAAOE,EAA4BC,CAAK,CAC/F,CAEA,MAAM,sBACJJ,EACAK,EACAC,EACAF,EACuB,CACvB,OAAO,KAAK,gBAAgB,sBAAsBJ,EAAOK,EAAUC,EAAaF,CAAK,CACvF,CAEA,MAAM,mBACJJ,EACAK,EACAC,EACAC,EACAJ,EACuB,CACvB,OAAO,KAAK,gBAAgB,mBAC1BH,EACAK,EACAC,EACAC,EACAJ,CACF,CACF,CAEA,MAAM,eACJH,EACAK,EACAC,EACAC,EACAC,EACAL,EAC4D,CAC5D,OAAO,KAAK,gBAAgB,eAC1BH,EACAK,EACAC,EACAC,EACAC,EACAL,CACF,CACF,CAEA,MAAM,kBACJH,EACAM,EACAD,EACAG,EACAJ,EACoC,CACpC,OAAO,KAAK,gBAAgB,kBAAkBJ,EAAOK,EAAUC,EAAaE,EAASJ,CAAK,CAC5F,CACF,CAGA,IAAOP,EAAQD",
4
+ "sourcesContent": ["import Dict = NodeJS.Dict\nimport DashboardClient from '../data/dashboardClient'\nimport { components } from '../types/api'\nimport { DashboardDataResponse } from '../types/Metrics'\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nclass DashboardService {\n constructor(private readonly dashboardClient: DashboardClient) {\n this.dashboardClient = dashboardClient\n }\n\n async getDefinition(\n token: string,\n dpdId: string,\n id: string,\n dataProductDefinitionsPath?: string,\n query?: Dict<string | string[]> | undefined,\n ): Promise<components['schemas']['DashboardDefinition']> {\n return this.dashboardClient.getDefinition(token, id, dpdId, dataProductDefinitionsPath, query)\n }\n\n async requestAsyncDashboard(\n token: string,\n reportId: string,\n dashboardId: string,\n query: Record<string, string | boolean | number>,\n ): Promise<Dict<string>> {\n return this.dashboardClient.requestAsyncDashboard(token, reportId, dashboardId, query)\n }\n\n async cancelAsyncRequest(\n token: string,\n reportId: string,\n dashboardId: string,\n executionId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Dict<string>> {\n return this.dashboardClient.cancelAsyncRequest(\n token,\n reportId,\n dashboardId,\n executionId,\n dataProductDefinitionsPath,\n )\n }\n\n async getAsyncStatus(\n token: string,\n reportId: string,\n dashboardId: string,\n executionId: string,\n tableId?: string,\n dataProductDefinitionsPath?: string,\n ): Promise<components['schemas']['StatementExecutionStatus']> {\n return this.dashboardClient.getAsyncStatus(\n token,\n reportId,\n dashboardId,\n executionId,\n tableId,\n dataProductDefinitionsPath,\n )\n }\n\n async getAsyncDashboard(\n token: string,\n dashboardId: string,\n reportId: string,\n tableId: string,\n query: Record<string, string | string[]>,\n ): Promise<DashboardDataResponse[][]> {\n return this.dashboardClient.getAsyncDashboard(token, reportId, dashboardId, tableId, query)\n }\n\n async getSyncDashboard(\n token: string,\n dashboardId: string,\n reportId: string,\n query: Record<string, string | string[]>,\n ) {\n return this.dashboardClient.getSyncDashboard(token, reportId, dashboardId, query)\n }\n}\n\nexport { DashboardService }\nexport default DashboardService\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAMA,MAAME,CAAiB,CACrB,YAA6BG,EAAkC,CAAlC,qBAAAA,EAC3B,KAAK,gBAAkBA,CACzB,CAEA,MAAM,cACJC,EACAC,EACAC,EACAC,EACAC,EACuD,CACvD,OAAO,KAAK,gBAAgB,cAAcJ,EAAOE,EAAID,EAAOE,EAA4BC,CAAK,CAC/F,CAEA,MAAM,sBACJJ,EACAK,EACAC,EACAF,EACuB,CACvB,OAAO,KAAK,gBAAgB,sBAAsBJ,EAAOK,EAAUC,EAAaF,CAAK,CACvF,CAEA,MAAM,mBACJJ,EACAK,EACAC,EACAC,EACAJ,EACuB,CACvB,OAAO,KAAK,gBAAgB,mBAC1BH,EACAK,EACAC,EACAC,EACAJ,CACF,CACF,CAEA,MAAM,eACJH,EACAK,EACAC,EACAC,EACAC,EACAL,EAC4D,CAC5D,OAAO,KAAK,gBAAgB,eAC1BH,EACAK,EACAC,EACAC,EACAC,EACAL,CACF,CACF,CAEA,MAAM,kBACJH,EACAM,EACAD,EACAG,EACAJ,EACoC,CACpC,OAAO,KAAK,gBAAgB,kBAAkBJ,EAAOK,EAAUC,EAAaE,EAASJ,CAAK,CAC5F,CAEA,MAAM,iBACJJ,EACAM,EACAD,EACAD,EACA,CACA,OAAO,KAAK,gBAAgB,iBAAiBJ,EAAOK,EAAUC,EAAaF,CAAK,CAClF,CACF,CAGA,IAAOP,EAAQD",
6
6
  "names": ["dashboardService_exports", "__export", "DashboardService", "dashboardService_default", "__toCommonJS", "dashboardClient", "token", "dpdId", "id", "dataProductDefinitionsPath", "query", "reportId", "dashboardId", "executionId", "tableId"]
7
7
  }
@@ -71,6 +71,15 @@ class DashboardService {
71
71
  ): Promise<DashboardDataResponse[][]> {
72
72
  return this.dashboardClient.getAsyncDashboard(token, reportId, dashboardId, tableId, query)
73
73
  }
74
+
75
+ async getSyncDashboard(
76
+ token: string,
77
+ dashboardId: string,
78
+ reportId: string,
79
+ query: Record<string, string | string[]>,
80
+ ) {
81
+ return this.dashboardClient.getSyncDashboard(token, reportId, dashboardId, query)
82
+ }
74
83
  }
75
84
 
76
85
  export { DashboardService }
@@ -1,2 +1,2 @@
1
- "use strict";var b=Object.create;var d=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var T=(n,i)=>{for(var s in i)d(n,s,{get:i[s],enumerable:!0})},g=(n,i,s,t)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of z(i))!F.call(n,r)&&r!==s&&d(n,r,{get:()=>i[r],enumerable:!(t=R(i,r))||t.enumerable});return n};var A=(n,i,s)=>(s=n!=null?b(C(n)):{},g(i||!n||!n.__esModule?d(s,"default",{value:n,enumerable:!0}):s,n)),O=n=>g(d({},"__esModule",{value:!0}),n);var v={};T(v,{DEFAULT_FILTERS_PREFIX:()=>D,ReportQuery:()=>m,default:()=>j});module.exports=O(v);var h=require("../utils/urlHelper"),p=A(require("../components/_reports/report-columns-form/utils")),S=require("./UserReports");const D="filters.";class m{constructor({fields:i,template:s,queryParams:t,definitionsPath:r,filtersPrefix:P=D,reportType:x}){if(this.selectedPage=t.selectedPage?Number(t.selectedPage):1,this.pageSize=this.getPageSize(t,s,x),this.sortColumn=t.sortColumn?t.sortColumn.toString():this.getDefaultSortColumn(i),this.sortedAsc=t.sortedAsc!=="false",this.dataProductDefinitionsPath=r??(t.dataProductDefinitionsPath?t.dataProductDefinitionsPath.toString():void 0),this.filtersPrefix=P,t.columns){const e=typeof t.columns=="string"?t.columns.split(","):t.columns;this.columns=p.default.ensureMandatoryColumns(i,e)}else this.columns=i.filter(e=>e.visible).map(e=>e.name);const o=i.find(e=>e.type==="date"&&e.filter&&e.filter.type==="daterange"||e.type==="date"&&e.filter&&e.filter.type==="date");let l,f;o&&o.filter&&(l=o.filter.min,f=o.filter.max),this.filters={},Object.keys(t).filter(e=>e.startsWith(this.filtersPrefix)).filter(e=>t[e]).forEach(e=>{const a=e.replace(this.filtersPrefix,""),u=t[e];let c=u?u.toString():"";a.includes(".start")&&l&&new Date(c)<new Date(l)&&(c=l),a.includes(".end")&&f&&new Date(c)>new Date(f)&&(c=f),c!=="no-filter"&&(this.filters[a]=c)}),o&&o.filter&&o.filter.type==="daterange"&&(l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".start"))&&(this.filters[`${o.name}.start`]=l),f&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".end"))&&(this.filters[`${o.name}.end`]=f)),o&&o.filter&&o.filter.type==="date"&&l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(o.name))&&(this.filters[`${o.name}.start`]=l)}getDefaultSortColumn(i){const s=i.find(t=>t.defaultsort);return s?s.name:i.find(t=>t.sortable)?.name}getPageSize(i,s,t){let r=20;return(!t||t===S.ReportType.REPORT)&&(i.pageSize?r=Number(i.pageSize):s&&(r=this.getDefaultPageSize(s))),r}toRecordWithFilterPrefix(i=!1){const s={selectedPage:this.selectedPage.toString(),...this.pageSize&&{pageSize:this.pageSize.toString()},...this.sortColumn&&{sortColumn:this.sortColumn},sortedAsc:this.sortedAsc.toString(),columns:this.columns};return this.dataProductDefinitionsPath&&(s.dataProductDefinitionsPath=this.dataProductDefinitionsPath),Object.keys(this.filters).forEach(t=>{const r=this.filters[t];(r&&!i||r!==h.clearFilterValue)&&(s[`${this.filtersPrefix}${t}`]=r)}),s}getDefaultPageSize(i){switch(i){case"list-section":case"summary-section":case"row-section-child":case"parent-child":case"parent-child-section":return 5e5;default:return 20}}}var j=m;0&&(module.exports={DEFAULT_FILTERS_PREFIX,ReportQuery});
1
+ "use strict";var b=Object.create;var d=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var T=(n,i)=>{for(var s in i)d(n,s,{get:i[s],enumerable:!0})},g=(n,i,s,t)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of z(i))!F.call(n,r)&&r!==s&&d(n,r,{get:()=>i[r],enumerable:!(t=R(i,r))||t.enumerable});return n};var A=(n,i,s)=>(s=n!=null?b(C(n)):{},g(i||!n||!n.__esModule?d(s,"default",{value:n,enumerable:!0}):s,n)),O=n=>g(d({},"__esModule",{value:!0}),n);var v={};T(v,{DEFAULT_FILTERS_PREFIX:()=>D,ReportQuery:()=>m,default:()=>j});module.exports=O(v);var h=require("../utils/urlHelper"),p=A(require("../components/_reports/report-columns-form/utils")),S=require("./UserReports");const D="filters.";class m{constructor({fields:i,template:s,queryParams:t,definitionsPath:r,filtersPrefix:P=D,reportType:x}){if(this.selectedPage=t.selectedPage?Number(t.selectedPage):1,this.pageSize=this.getPageSize(t,s,x),this.sortColumn=t.sortColumn?t.sortColumn.toString():this.getDefaultSortColumn(i),this.sortedAsc=t.sortedAsc!=="false",this.dataProductDefinitionsPath=r??(t.dataProductDefinitionsPath?t.dataProductDefinitionsPath.toString():void 0),this.filtersPrefix=P,t.columns){const e=typeof t.columns=="string"?t.columns.split(","):t.columns;this.columns=p.default.ensureMandatoryColumns(i,e)}else this.columns=i.filter(e=>e.visible).map(e=>e.name);const o=i.find(e=>e.type==="date"&&e.filter&&e.filter.type==="daterange"||e.type==="date"&&e.filter&&e.filter.type==="date");let l,f;o&&o.filter&&(l=o.filter.min,f=o.filter.max),this.filters={},Object.keys(t).filter(e=>e.startsWith(this.filtersPrefix)).filter(e=>t[e]).forEach(e=>{const a=e.replace(this.filtersPrefix,""),u=t[e];let c=u?u.toString():"";a.includes(".start")&&l&&new Date(c)<new Date(l)&&(c=l),a.includes(".end")&&f&&new Date(c)>new Date(f)&&(c=f),c!=="no-filter"&&(this.filters[a]=c)}),o&&o.filter&&o.filter.type==="daterange"&&(l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".start"))&&(this.filters[`${o.name}.start`]=l),f&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".end"))&&(this.filters[`${o.name}.end`]=f)),o&&o.filter&&o.filter.type==="date"&&l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(o.name))&&(this.filters[`${o.name}.start`]=l)}getDefaultSortColumn(i){const s=i.find(t=>t.defaultsort);return s?s.name:i.find(t=>t.sortable)?.name}getPageSize(i,s,t){let r=5e6;return(!t||t===S.ReportType.REPORT)&&(i.pageSize?r=Number(i.pageSize):s&&(r=this.getDefaultPageSize(s))),r}toRecordWithFilterPrefix(i=!1){const s={selectedPage:this.selectedPage.toString(),...this.pageSize&&{pageSize:this.pageSize.toString()},...this.sortColumn&&{sortColumn:this.sortColumn},sortedAsc:this.sortedAsc.toString(),columns:this.columns};return this.dataProductDefinitionsPath&&(s.dataProductDefinitionsPath=this.dataProductDefinitionsPath),Object.keys(this.filters).forEach(t=>{const r=this.filters[t];(r&&!i||r!==h.clearFilterValue)&&(s[`${this.filtersPrefix}${t}`]=r)}),s}getDefaultPageSize(i){switch(i){case"list-section":case"summary-section":case"row-section-child":case"parent-child":case"parent-child-section":return 5e5;default:return 20}}}var j=m;0&&(module.exports={DEFAULT_FILTERS_PREFIX,ReportQuery});
2
2
  //# sourceMappingURL=ReportQuery.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/types/ReportQuery.ts"],
4
- "sourcesContent": ["import type { ParsedQs } from 'qs'\nimport { FilteredListRequest } from './index'\nimport Dict = NodeJS.Dict\nimport { components } from './api'\nimport { clearFilterValue } from '../utils/urlHelper'\nimport ColumnUtils from '../components/_reports/report-columns-form/utils'\nimport { Template } from './Templates'\nimport { ReportType } from './UserReports'\n\nexport const DEFAULT_FILTERS_PREFIX = 'filters.'\n\nclass ReportQuery implements FilteredListRequest {\n selectedPage: number\n\n pageSize: number\n\n sortColumn?: string | undefined\n\n columns: Array<string>\n\n sortedAsc: boolean\n\n filters: Dict<string>\n\n filtersPrefix: string\n\n dataProductDefinitionsPath?: string | undefined\n\n constructor({\n fields,\n template,\n queryParams,\n definitionsPath,\n filtersPrefix = DEFAULT_FILTERS_PREFIX,\n reportType,\n }: {\n fields: components['schemas']['FieldDefinition'][]\n template?: Template\n queryParams: ParsedQs\n definitionsPath?: string\n filtersPrefix?: string\n reportType?: ReportType\n }) {\n this.selectedPage = queryParams['selectedPage'] ? Number(queryParams['selectedPage']) : 1\n this.pageSize = this.getPageSize(queryParams, template, reportType)\n this.sortColumn = queryParams['sortColumn']\n ? queryParams['sortColumn'].toString()\n : this.getDefaultSortColumn(fields)\n this.sortedAsc = queryParams['sortedAsc'] !== 'false'\n this.dataProductDefinitionsPath =\n definitionsPath ??\n (queryParams['dataProductDefinitionsPath'] ? queryParams['dataProductDefinitionsPath'].toString() : undefined)\n this.filtersPrefix = filtersPrefix\n\n if (queryParams['columns']) {\n const columns =\n typeof queryParams['columns'] === 'string'\n ? queryParams['columns'].split(',')\n : (queryParams['columns'] as string[])\n this.columns = ColumnUtils.ensureMandatoryColumns(fields, columns)\n } else {\n this.columns = fields.filter((f) => f.visible).map((f) => f.name)\n }\n\n const dateField: components['schemas']['FieldDefinition'] | undefined = fields.find((f) => {\n return (\n (f.type === 'date' && f.filter && f.filter.type === 'daterange') ||\n (f.type === 'date' && f.filter && f.filter.type === 'date')\n )\n })\n\n let min: string | undefined\n let max: string | undefined\n if (dateField && dateField.filter) {\n min = dateField.filter.min\n max = dateField.filter.max\n }\n\n this.filters = {}\n\n Object.keys(queryParams)\n .filter((key) => key.startsWith(this.filtersPrefix))\n .filter((key) => queryParams[key])\n .forEach((key) => {\n const filter = key.replace(this.filtersPrefix, '')\n const p = queryParams[key]\n let value = p ? p.toString() : ''\n if (filter.includes('.start') && min) {\n if (new Date(value) < new Date(min)) value = min\n }\n if (filter.includes('.end') && max) {\n if (new Date(value) > new Date(max)) value = max\n }\n if (value !== 'no-filter') {\n this.filters[filter] = value\n }\n })\n\n if (dateField && dateField.filter && dateField.filter.type === 'daterange') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.start'))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n\n if (\n max &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.end'))\n ) {\n this.filters[`${dateField.name}.end`] = max\n }\n }\n\n if (dateField && dateField.filter && dateField.filter.type === 'date') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes(dateField.name))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n }\n }\n\n private getDefaultSortColumn(fields: components['schemas']['FieldDefinition'][]) {\n const defaultSortColumn = fields.find((f) => f.defaultsort)\n return defaultSortColumn ? defaultSortColumn.name : fields.find((f) => f.sortable)?.name\n }\n\n getPageSize(queryParams: ParsedQs, template?: Template, reportType?: ReportType): number {\n let pageSize = 20\n if (!reportType || reportType === ReportType.REPORT) {\n if (queryParams['pageSize']) {\n pageSize = Number(queryParams['pageSize'])\n } else if (template) {\n pageSize = this.getDefaultPageSize(template)\n }\n }\n return pageSize\n }\n\n toRecordWithFilterPrefix(removeClearedFilters = false): Record<string, string | Array<string>> {\n const record: Record<string, string | Array<string>> = {\n selectedPage: this.selectedPage.toString(),\n ...(this.pageSize && { pageSize: this.pageSize.toString() }),\n ...(this.sortColumn && { sortColumn: this.sortColumn }),\n sortedAsc: this.sortedAsc.toString(),\n columns: this.columns,\n }\n\n if (this.dataProductDefinitionsPath) {\n record['dataProductDefinitionsPath'] = this.dataProductDefinitionsPath\n }\n\n Object.keys(this.filters).forEach((filterName) => {\n const value = this.filters[filterName]\n if ((value && !removeClearedFilters) || value !== clearFilterValue) {\n record[`${this.filtersPrefix}${filterName}`] = <string>value\n }\n })\n\n return record\n }\n\n private getDefaultPageSize(template: Template) {\n const maxResultsSize = 500000\n const standardPage = 20\n\n switch (template) {\n case 'list-section':\n case 'summary-section':\n case 'row-section-child':\n case 'parent-child':\n case 'parent-child-section':\n return maxResultsSize\n\n default:\n return standardPage\n }\n }\n}\n\nexport { ReportQuery }\nexport default ReportQuery\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { ParsedQs } from 'qs'\nimport { FilteredListRequest } from './index'\nimport Dict = NodeJS.Dict\nimport { components } from './api'\nimport { clearFilterValue } from '../utils/urlHelper'\nimport ColumnUtils from '../components/_reports/report-columns-form/utils'\nimport { Template } from './Templates'\nimport { ReportType } from './UserReports'\n\nexport const DEFAULT_FILTERS_PREFIX = 'filters.'\n\nclass ReportQuery implements FilteredListRequest {\n selectedPage: number\n\n pageSize: number\n\n sortColumn?: string | undefined\n\n columns: Array<string>\n\n sortedAsc: boolean\n\n filters: Dict<string>\n\n filtersPrefix: string\n\n dataProductDefinitionsPath?: string | undefined\n\n constructor({\n fields,\n template,\n queryParams,\n definitionsPath,\n filtersPrefix = DEFAULT_FILTERS_PREFIX,\n reportType,\n }: {\n fields: components['schemas']['FieldDefinition'][]\n template?: Template\n queryParams: ParsedQs\n definitionsPath?: string\n filtersPrefix?: string\n reportType?: ReportType\n }) {\n this.selectedPage = queryParams['selectedPage'] ? Number(queryParams['selectedPage']) : 1\n this.pageSize = this.getPageSize(queryParams, template, reportType)\n this.sortColumn = queryParams['sortColumn']\n ? queryParams['sortColumn'].toString()\n : this.getDefaultSortColumn(fields)\n this.sortedAsc = queryParams['sortedAsc'] !== 'false'\n this.dataProductDefinitionsPath =\n definitionsPath ??\n (queryParams['dataProductDefinitionsPath'] ? queryParams['dataProductDefinitionsPath'].toString() : undefined)\n this.filtersPrefix = filtersPrefix\n\n if (queryParams['columns']) {\n const columns =\n typeof queryParams['columns'] === 'string'\n ? queryParams['columns'].split(',')\n : (queryParams['columns'] as string[])\n this.columns = ColumnUtils.ensureMandatoryColumns(fields, columns)\n } else {\n this.columns = fields.filter((f) => f.visible).map((f) => f.name)\n }\n\n const dateField: components['schemas']['FieldDefinition'] | undefined = fields.find((f) => {\n return (\n (f.type === 'date' && f.filter && f.filter.type === 'daterange') ||\n (f.type === 'date' && f.filter && f.filter.type === 'date')\n )\n })\n\n let min: string | undefined\n let max: string | undefined\n if (dateField && dateField.filter) {\n min = dateField.filter.min\n max = dateField.filter.max\n }\n\n this.filters = {}\n\n Object.keys(queryParams)\n .filter((key) => key.startsWith(this.filtersPrefix))\n .filter((key) => queryParams[key])\n .forEach((key) => {\n const filter = key.replace(this.filtersPrefix, '')\n const p = queryParams[key]\n let value = p ? p.toString() : ''\n if (filter.includes('.start') && min) {\n if (new Date(value) < new Date(min)) value = min\n }\n if (filter.includes('.end') && max) {\n if (new Date(value) > new Date(max)) value = max\n }\n if (value !== 'no-filter') {\n this.filters[filter] = value\n }\n })\n\n if (dateField && dateField.filter && dateField.filter.type === 'daterange') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.start'))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n\n if (\n max &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.end'))\n ) {\n this.filters[`${dateField.name}.end`] = max\n }\n }\n\n if (dateField && dateField.filter && dateField.filter.type === 'date') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes(dateField.name))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n }\n }\n\n private getDefaultSortColumn(fields: components['schemas']['FieldDefinition'][]) {\n const defaultSortColumn = fields.find((f) => f.defaultsort)\n return defaultSortColumn ? defaultSortColumn.name : fields.find((f) => f.sortable)?.name\n }\n\n getPageSize(queryParams: ParsedQs, template?: Template, reportType?: ReportType): number {\n let pageSize = 5000000\n if (!reportType || reportType === ReportType.REPORT) {\n if (queryParams['pageSize']) {\n pageSize = Number(queryParams['pageSize'])\n } else if (template) {\n pageSize = this.getDefaultPageSize(template)\n }\n }\n return pageSize\n }\n\n toRecordWithFilterPrefix(removeClearedFilters = false): Record<string, string | Array<string>> {\n const record: Record<string, string | Array<string>> = {\n selectedPage: this.selectedPage.toString(),\n ...(this.pageSize && { pageSize: this.pageSize.toString() }),\n ...(this.sortColumn && { sortColumn: this.sortColumn }),\n sortedAsc: this.sortedAsc.toString(),\n columns: this.columns,\n }\n\n if (this.dataProductDefinitionsPath) {\n record['dataProductDefinitionsPath'] = this.dataProductDefinitionsPath\n }\n\n Object.keys(this.filters).forEach((filterName) => {\n const value = this.filters[filterName]\n if ((value && !removeClearedFilters) || value !== clearFilterValue) {\n record[`${this.filtersPrefix}${filterName}`] = <string>value\n }\n })\n\n return record\n }\n\n private getDefaultPageSize(template: Template) {\n const maxResultsSize = 500000\n const standardPage = 20\n\n switch (template) {\n case 'list-section':\n case 'summary-section':\n case 'row-section-child':\n case 'parent-child':\n case 'parent-child-section':\n return maxResultsSize\n\n default:\n return standardPage\n }\n }\n}\n\nexport { ReportQuery }\nexport default ReportQuery\n"],
5
+ "mappings": "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",
6
6
  "names": ["ReportQuery_exports", "__export", "DEFAULT_FILTERS_PREFIX", "ReportQuery", "ReportQuery_default", "__toCommonJS", "import_urlHelper", "import_utils", "import_UserReports", "fields", "template", "queryParams", "definitionsPath", "filtersPrefix", "reportType", "columns", "ColumnUtils", "f", "dateField", "min", "max", "key", "filter", "p", "value", "defaultSortColumn", "pageSize", "removeClearedFilters", "record", "filterName"]
7
7
  }
@@ -131,7 +131,7 @@ class ReportQuery implements FilteredListRequest {
131
131
  }
132
132
 
133
133
  getPageSize(queryParams: ParsedQs, template?: Template, reportType?: ReportType): number {
134
- let pageSize = 20
134
+ let pageSize = 5000000
135
135
  if (!reportType || reportType === ReportType.REPORT) {
136
136
  if (queryParams['pageSize']) {
137
137
  pageSize = Number(queryParams['pageSize'])
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(n,e,s,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of i(e))!p.call(n,r)&&r!==s&&o(n,r,{get:()=>e[r],enumerable:!(t=a(e,r))||t.enumerable});return n};var d=n=>c(o({},"__esModule",{value:!0}),n);var m={};module.exports=d(m);
1
+ "use strict";var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(n,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of i(e))!p.call(n,r)&&r!==o&&s(n,r,{get:()=>e[r],enumerable:!(t=a(e,r))||t.enumerable});return n};var d=n=>c(s({},"__esModule",{value:!0}),n);var m={};module.exports=d(m);
2
2
  //# sourceMappingURL=api.d.js.map