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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dpr/components/_catalogue/catalogue/utils.js +1 -1
  2. package/dpr/components/_catalogue/catalogue/utils.js.map +3 -3
  3. package/dpr/components/_catalogue/catalogue/utils.test.ts +15 -1
  4. package/dpr/components/_catalogue/catalogue/utils.ts +22 -4
  5. package/dpr/components/_catalogue/catalogue/view.njk +2 -1
  6. package/dpr/components/_catalogue/catalogue-filters/view.njk +2 -2
  7. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  8. package/dpr/components/_catalogue/catalogue-list/utils.js.map +3 -3
  9. package/dpr/components/_catalogue/catalogue-list/utils.ts +4 -5
  10. package/dpr/components/_catalogue/catalogue-search/clientClass.mjs +14 -0
  11. package/dpr/components/_catalogue/catalogue-search/view.njk +24 -1
  12. package/dpr/components/_charts/chart/Buckets.js +1 -1
  13. package/dpr/components/_charts/chart/Buckets.js.map +3 -3
  14. package/dpr/components/_charts/chart/Buckets.ts +44 -36
  15. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
  16. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  17. package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +22 -14
  18. package/dpr/components/_charts/chart/heatmap/types.js +2 -0
  19. package/dpr/components/_charts/chart/heatmap/types.js.map +7 -0
  20. package/dpr/components/_charts/chart/heatmap/types.ts +6 -0
  21. package/dpr/components/_charts/utils.js +1 -1
  22. package/dpr/components/_charts/utils.js.map +3 -3
  23. package/dpr/components/_charts/utils.test.ts +10 -7
  24. package/dpr/components/_charts/utils.ts +57 -50
  25. package/dpr/components/_dashboards/dashboard/view.njk +1 -1
  26. package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
  27. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  28. package/dpr/components/_dashboards/dashboard-list/utils.test.ts +3 -3
  29. package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -12
  30. package/dpr/components/_dashboards/dashboard-section/view.njk +1 -1
  31. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +2 -0
  32. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +7 -0
  33. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +40 -0
  34. package/dpr/components/_dashboards/dashboard-visualisation/types.js +2 -0
  35. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +7 -0
  36. package/dpr/components/_dashboards/dashboard-visualisation/types.ts +102 -0
  37. package/dpr/components/_dashboards/dashboard-visualisation/view.njk +1 -1
  38. package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
  39. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  40. package/dpr/components/_dashboards/scorecard/Scorecard.ts +37 -29
  41. package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
  42. package/dpr/components/_dashboards/scorecard/types.ts +1 -0
  43. package/dpr/components/_dashboards/scorecard/utils.js +1 -1
  44. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  45. package/dpr/components/_dashboards/scorecard/utils.test.ts +13 -4
  46. package/dpr/components/_dashboards/scorecard/utils.ts +6 -5
  47. package/dpr/components/_dashboards/scorecard/view.njk +6 -5
  48. package/dpr/components/_dashboards/scorecard-group/view.njk +4 -4
  49. package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
  50. package/dpr/components/_reports/report-actions/types.d.ts +1 -1
  51. package/dpr/components/_reports/report-heading/view.njk +1 -1
  52. package/dpr/data/dashboardClient.js +1 -1
  53. package/dpr/data/dashboardClient.js.map +2 -2
  54. package/dpr/data/dashboardClient.ts +8 -7
  55. package/dpr/data/dprReportingClient.js +1 -1
  56. package/dpr/data/dprReportingClient.js.map +3 -3
  57. package/dpr/data/dprReportingClient.ts +2 -0
  58. package/dpr/data/reportingClient.js +1 -1
  59. package/dpr/data/reportingClient.js.map +1 -1
  60. package/dpr/data/reportingClient.ts +1 -1
  61. package/dpr/middleware/reportAuthoriser.js +1 -1
  62. package/dpr/middleware/reportAuthoriser.js.map +3 -3
  63. package/dpr/middleware/reportAuthoriser.ts +9 -20
  64. package/dpr/middleware/setUpDprResources.js +1 -1
  65. package/dpr/middleware/setUpDprResources.js.map +3 -3
  66. package/dpr/middleware/setUpDprResources.test.ts +7 -0
  67. package/dpr/middleware/setUpDprResources.ts +17 -2
  68. package/dpr/routes/journeys/download-report/controller.js +1 -1
  69. package/dpr/routes/journeys/download-report/controller.js.map +3 -3
  70. package/dpr/routes/journeys/download-report/controller.ts +4 -1
  71. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
  72. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +2 -2
  73. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.ts +1 -0
  74. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
  75. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  76. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.ts +1 -0
  77. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  78. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  79. package/dpr/routes/journeys/download-report/tests.cy.ts +2 -7
  80. package/dpr/routes/journeys/download-report/utils.js +1 -1
  81. package/dpr/routes/journeys/download-report/utils.js.map +3 -3
  82. package/dpr/routes/journeys/download-report/utils.ts +10 -7
  83. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
  84. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  85. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -0
  86. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  87. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +3 -3
  88. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +5 -12
  89. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
  90. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
  91. package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +11 -5
  92. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  93. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +3 -3
  94. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +4 -6
  95. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
  96. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  97. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.ts +1 -0
  98. package/dpr/routes/journeys/product-collection/routes.js +2 -0
  99. package/dpr/routes/journeys/product-collection/routes.js.map +7 -0
  100. package/dpr/routes/journeys/product-collection/routes.ts +28 -0
  101. package/dpr/routes/journeys/product-collection/selected/controller.js +2 -0
  102. package/dpr/routes/journeys/product-collection/selected/controller.js.map +7 -0
  103. package/dpr/routes/journeys/product-collection/selected/controller.ts +29 -0
  104. package/dpr/routes/journeys/product-collection/selected/routes.js +2 -0
  105. package/dpr/routes/journeys/product-collection/selected/routes.js.map +7 -0
  106. package/dpr/routes/journeys/product-collection/selected/routes.ts +15 -0
  107. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +2 -0
  108. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +7 -0
  109. package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +54 -0
  110. package/dpr/routes/journeys/product-collection/selected/validation.js +2 -0
  111. package/dpr/routes/journeys/product-collection/selected/validation.js.map +7 -0
  112. package/dpr/routes/journeys/product-collection/selected/validation.ts +5 -0
  113. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
  114. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  115. package/dpr/routes/journeys/request-missing-report/form/tests.cy.ts +1 -0
  116. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  117. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  118. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +3 -4
  119. package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
  120. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +3 -3
  121. package/dpr/routes/journeys/request-report/filters/tests.cy.ts +3 -6
  122. package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
  123. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  124. package/dpr/routes/journeys/request-report/filters/utils.ts +2 -3
  125. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  126. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  127. package/dpr/routes/journeys/request-report/status/tests.cy.ts +2 -6
  128. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  129. package/dpr/routes/journeys/request-report/tests.cy.js.map +3 -3
  130. package/dpr/routes/journeys/request-report/tests.cy.ts +5 -32
  131. package/dpr/routes/journeys/routes.js +1 -1
  132. package/dpr/routes/journeys/routes.js.map +2 -2
  133. package/dpr/routes/journeys/routes.ts +2 -0
  134. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  135. package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
  136. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  137. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  138. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -9
  139. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  140. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
  141. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +100 -95
  142. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  143. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  144. package/dpr/routes/journeys/view-report/async/report/controller.ts +4 -6
  145. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  146. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  147. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +8 -17
  148. package/dpr/routes/journeys/view-report/async/report/types.js +2 -0
  149. package/dpr/routes/journeys/view-report/async/report/types.js.map +7 -0
  150. package/dpr/routes/journeys/view-report/async/report/types.ts +31 -0
  151. package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
  152. package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
  153. package/dpr/routes/journeys/view-report/async/report/utils.ts +173 -136
  154. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  155. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +3 -3
  156. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +3 -4
  157. package/dpr/services/dashboardService.js +1 -1
  158. package/dpr/services/dashboardService.js.map +2 -2
  159. package/dpr/services/dashboardService.ts +7 -5
  160. package/dpr/services/productCollection/productCollectionService.js +2 -0
  161. package/dpr/services/productCollection/productCollectionService.js.map +7 -0
  162. package/dpr/services/productCollection/productCollectionService.ts +25 -0
  163. package/dpr/services/productCollection/productCollectionStoreService.js +2 -0
  164. package/dpr/services/productCollection/productCollectionStoreService.js.map +7 -0
  165. package/dpr/services/productCollection/productCollectionStoreService.ts +26 -0
  166. package/dpr/services/reportingService.js +1 -1
  167. package/dpr/services/reportingService.js.map +1 -1
  168. package/dpr/services/reportingService.ts +1 -1
  169. package/dpr/types/AsyncReportUtils.js.map +1 -1
  170. package/dpr/types/AsyncReportUtils.ts +3 -4
  171. package/dpr/types/Charts.js +1 -1
  172. package/dpr/types/Charts.js.map +3 -3
  173. package/dpr/types/Charts.ts +0 -82
  174. package/dpr/types/Metrics.js +1 -1
  175. package/dpr/types/Metrics.js.map +1 -1
  176. package/dpr/types/Metrics.ts +7 -0
  177. package/dpr/types/ReportQuery.js +1 -1
  178. package/dpr/types/ReportQuery.js.map +3 -3
  179. package/dpr/types/ReportQuery.ts +24 -15
  180. package/dpr/types/ReportStore.js +1 -1
  181. package/dpr/types/ReportStore.js.map +1 -1
  182. package/dpr/types/ReportStore.ts +1 -0
  183. package/dpr/types/Services.d.js +1 -1
  184. package/dpr/types/Services.d.js.map +1 -1
  185. package/dpr/types/Services.d.ts +15 -0
  186. package/dpr/types/api.d.js +1 -1
  187. package/dpr/types/api.d.js.map +1 -1
  188. package/dpr/types/api.d.ts +197 -6
  189. package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
  190. package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
  191. package/dpr/utils/Personalisation/personalisationUtils.ts +15 -6
  192. package/dpr/utils/ReportStoreServiceUtils.js +1 -1
  193. package/dpr/utils/ReportStoreServiceUtils.js.map +3 -3
  194. package/dpr/utils/ReportStoreServiceUtils.ts +7 -0
  195. package/dpr/utils/UserStoreItemBuilder.js +1 -1
  196. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  197. package/dpr/utils/UserStoreItemBuilder.ts +2 -2
  198. package/dpr/utils/datasetHelper.js +1 -1
  199. package/dpr/utils/datasetHelper.js.map +3 -3
  200. package/dpr/utils/datasetHelper.test.ts +11 -11
  201. package/dpr/utils/datasetHelper.ts +23 -8
  202. package/dpr/utils/logger.js +1 -1
  203. package/dpr/utils/logger.js.map +3 -3
  204. package/dpr/utils/logger.ts +6 -1
  205. package/package.json +2 -1
  206. package/dpr/components/_charts/chart/DashboardVisualisation.js +0 -2
  207. package/dpr/components/_charts/chart/DashboardVisualisation.js.map +0 -7
  208. package/dpr/components/_charts/chart/DashboardVisualisation.ts +0 -43
  209. package/dpr/components/_dashboards/dashboard/types.js +0 -2
  210. package/dpr/components/_dashboards/dashboard/types.js.map +0 -7
  211. package/dpr/components/_dashboards/dashboard/types.ts +0 -120
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/report/types.ts"],
4
+ "sourcesContent": ["import { components } from '../../../../../types/api'\nimport Dict = NodeJS.Dict\nimport { AsyncReportUrlItemData } from '../../../../../types/UserReports'\n\nexport interface ReportUrls {\n reportUrl: string\n reportSearch?: string\n encodedSearch?: string\n pathname: string\n}\n\nexport interface ExtractedDefinitionData {\n reportName: string\n name: string\n description: string | undefined\n classification: string | undefined\n printable: boolean\n specification: components['schemas']['Specification']\n template: string\n fields: components['schemas']['FieldDefinition'][]\n}\n\nexport interface ExtractedRequestData {\n executionId?: string\n requestedTimestamp?: string\n querySummary: Dict<string>[]\n queryData?: Dict<string | string[]>\n requestUrl?: AsyncReportUrlItemData\n defaultQuery?: string\n dataProductDefinitionsPath?: string\n}\n"],
5
+ "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,31 @@
1
+ import { components } from '../../../../../types/api'
2
+ import Dict = NodeJS.Dict
3
+ import { AsyncReportUrlItemData } from '../../../../../types/UserReports'
4
+
5
+ export interface ReportUrls {
6
+ reportUrl: string
7
+ reportSearch?: string
8
+ encodedSearch?: string
9
+ pathname: string
10
+ }
11
+
12
+ export interface ExtractedDefinitionData {
13
+ reportName: string
14
+ name: string
15
+ description: string | undefined
16
+ classification: string | undefined
17
+ printable: boolean
18
+ specification: components['schemas']['Specification']
19
+ template: string
20
+ fields: components['schemas']['FieldDefinition'][]
21
+ }
22
+
23
+ export interface ExtractedRequestData {
24
+ executionId?: string
25
+ requestedTimestamp?: string
26
+ querySummary: Dict<string>[]
27
+ queryData?: Dict<string | string[]>
28
+ requestUrl?: AsyncReportUrlItemData
29
+ defaultQuery?: string
30
+ dataProductDefinitionsPath?: string
31
+ }
@@ -1,2 +1,2 @@
1
- var M=Object.create;var U=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Z=(t,e)=>{for(var o in e)U(t,o,{get:e[o],enumerable:!0})},Q=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of G(e))!X.call(t,r)&&r!==o&&U(t,r,{get:()=>e[r],enumerable:!(n=_(e,r))||n.enumerable});return t};var y=(t,e,o)=>(o=t!=null?M(K(t)):{},Q(e||!t||!t.__esModule?U(o,"default",{value:t,enumerable:!0}):o,t)),$=t=>Q(U({},"__esModule",{value:!0}),t);var mt={};Z(mt,{default:()=>dt,getChildData:()=>H,getData:()=>Y,getSummariesData:()=>j,renderReport:()=>J});module.exports=$(mt);var q=y(require("parseurl")),k=y(require("../../../../../utils/definitionUtils")),w=require("../../../../../types/UserReports"),x=y(require("../../../../../types/ReportQuery")),E=y(require("../../../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder")),B=y(require("../../../../../components/_reports/report-pagination/utils")),N=y(require("../../../../../components/_reports/report-totals/utils")),T=y(require("../../../../../components/_filters/utils")),L=y(require("../../../../../components/_reports/report-columns-form/utils")),z=y(require("../../../../../components/_reports/report-actions/utils")),O=y(require("../../../../../components/user-reports/utils")),R=y(require("../../../../../utils/localsHelper")),W=y(require("../../../../../components/_reports/report-data-table/utils")),F=require("../../../../../components/_filters/filtersTypeEnum");const Y=async({res:t,req:e,services:o,token:n,userId:r})=>{const{definitionsPath:s}=R.default.getValues(t),{reportId:a,variantId:c,id:p,tableId:d}=e.params,m=c||p,i=await o.reportingService.getDefinition(n,a,m,s),l=await o.requestedReportService.getReportByTableId(d,r),u=L.default.getColumns(i.variant.specification,e),f=await tt(i,u,t,e,l,o),g=await et({definition:i,services:o,token:n,req:e,res:t,requestData:l,reportQuery:f}),h=i.variant.summaries?await j(i,o,n,e,t):[],S=i.variant.childVariants?await H(i,o,n,e,t,l):[];return{definition:i,requestData:l,reportData:g,summariesData:h,childData:S,reportQuery:f,columns:u}},tt=async(t,e,o,n,r,s)=>{const{definitionsPath:a}=R.default.getValues(o),c=k.default.getFields(t),p=k.default.getTemplate(t),d=await T.default.getFilters({fields:c,req:n,res:o,services:s,filtersType:F.FiltersType.INTERACTIVE}),m=n.query?.sortColumn||r.query?.data?.sortColumn,i=n.query?.sortedAsc||r.query?.data?.sortedAsc,l=n.query?.selectedPage,u=n.query?.pageSize,f=T.default.setRequestQueryFromFilterValues(d.filters),g={...m&&{sortColumn:m},...i&&{sortedAsc:i},...f,...u&&{pageSize:u},...l&&{pageSize:u},...e&&{columns:e.value}};return new x.default({fields:c,template:p,queryParams:g,definitionsPath:a})},et=async t=>{const{services:e,token:o,req:n,reportQuery:r}=t,{reportId:s,variantId:a,id:c,tableId:p}=n.params,d=a||c;return e.reportingService.getAsyncReport(o,s,d,p,r.toRecordWithFilterPrefix(!0))},j=async(t,e,o,n,r)=>{const{reportId:s,variantId:a,id:c,tableId:p}=n.params,{definitionsPath:d}=R.default.getValues(r),m=a||c;return Promise.all(t.variant.summaries.map(async i=>{const l=await e.reportingService.getAsyncSummaryReport(o,s,m,p,i.id,{dataProductDefinitionsPath:d});return{...i,data:l}}))},H=async(t,e,o,n,r,s)=>{const{definitionsPath:a}=R.default.getValues(r),{reportId:c}=n.params;return Promise.all(t.variant.childVariants.map(async p=>{const{specification:d}=p,m=new x.default({fields:d.fields,template:t.variant.specification.template,queryParams:n.query,definitionsPath:a}).toRecordWithFilterPrefix(!0),{tableId:i}=s.childExecutionData.find(u=>u.variantId===p.id),l=await e.reportingService.getAsyncReport(o,c,p.id,i,m);return{id:p.id,data:l}}))},J=async({req:t,res:e,services:o})=>{const{token:n,dprUser:r}=R.default.getValues(e),{definition:s,requestData:a,reportData:c,childData:p,summariesData:d,reportQuery:m,columns:i}=await Y({req:t,res:e,services:o,token:n,userId:r.id}),l=W.default.createDataTable(s,i,c,p,d,m),u=await ot(t,e,o,s,a,d,l,i,m),f={...u,dataTable:l};return Object.keys(a).length&&O.default.updateLastViewed({req:t,services:o,reportStateData:a,userId:r.id,filters:u.filterData.filters}),{renderData:f}},ot=async(t,e,o,n,r,s,a,c,p)=>{const{nestedBaseUrl:d}=R.default.getValues(e),m=(0,q.default)(t),i=at(m,t),l=ct(n),{fields:u,specification:f}=l,g=pt(r),h=await st(n,r,o,e,p),S=await T.default.getFilters({fields:u,req:t,res:e,services:o,filtersType:F.FiltersType.INTERACTIVE}),P=await it(o,e,r,n,c,h,i),v=rt(n,e);let I;s.length&&(I=new E.default(f,s).collatePageSummaries());let D,b;if(v.template==="list"){D=B.default.getPaginationData(m,h,t);const{pageSize:C,currentPage:V,totalRows:A}=D;b=N.default.getTotals(C,V,A,a[0].rowCount)}return{...nt(f)&&{columns:c},filterData:S,count:h,nestedBaseUrl:d,...v,...P,...g,...i,...D&&{pagination:D},...b&&{totals:b},...I&&{reportSummaries:I}}},nt=t=>{const{template:e}=t;return!["row-section","row-section-child","summary","summary-section"].includes(e)},rt=(t,e)=>{const{classification:o}=t.variant,{template:n}=t.variant.specification,{csrfToken:r}=R.default.getValues(e);return{csrfToken:r,classification:o,template:n,loadType:w.LoadType.ASYNC,type:w.ReportType.REPORT}},at=(t,e)=>{const{search:o}=t,n=t.search?e.originalUrl.split(t.search)[0]:e.originalUrl,r=n.replace("/download-disabled","").replace("/download-disabled?",""),s=o,a=o?encodeURIComponent(o):void 0;return{reportUrl:r,reportSearch:s,encodedSearch:a,search:o,pathname:n}},it=async(t,e,o,n,r,s,a)=>{const{csrfToken:c,dprUser:p,bookmarkingEnabled:d,downloadingEnabled:m}=R.default.getValues(e),{reportId:i}=o,l=o.variantId||o.id,{variant:u}=n;let f;m&&(f=await t.downloadPermissionService.downloadEnabled(p.id,i,l));let g;d&&(g=await t.bookmarkService.isBookmarked(l,i,p.id));const h=lt(c,u,o,r,f,s,a.pathname,a.search,e),{printable:S}=u;return{actions:h,canDownload:f,bookmarked:g,printable:S}},st=async(t,e,o,n,r)=>{const{token:s}=R.default.getValues(n),{tableId:a,reportId:c}=e,p=e.variantId||e.id;return t.variant.interactive?o.reportingService.getAsyncInteractiveCount(s,a,c,p,r):o.reportingService.getAsyncCount(s,a)},ct=t=>{const{variant:e}=t,{classification:o,printable:n,specification:r}=e,{template:s,fields:a}=r,{interactive:c}=e;return{classification:o,printable:n,specification:r,template:s,interactive:c,fields:a,variant:e}},pt=t=>({reportName:t.reportName,name:t.name,description:t.description,requestedTimestamp:new Date(t.timestamp.requested).toLocaleString(),reportId:t.reportId,tableId:t.tableId,id:t.variantId||t.id,executionId:t.executionId,querySummary:t.query.summary,requestUrl:t.url.request,defaultQuery:t.url.report.default,dataProductDefinitionsPath:t.dataProductDefinitionsPath}),lt=(t,e,o,n,r,s,a,c,p)=>{const{reportName:d,name:m,id:i,variantId:l,reportId:u,tableId:f,executionId:g,dataProductDefinitionsPath:h,url:S,query:P}=o,{nestedBaseUrl:v}=R.default.getValues(p),I=S.request.fullUrl,{printable:D}=e,b=l||i,C={enabled:s>0&&r!==void 0,name:m,reportName:d,csrfToken:t,reportId:u,id:b,tableId:f,columns:n.value,definitionPath:h,loadType:w.LoadType.ASYNC,canDownload:r,currentUrl:a,currentQueryParams:c,nestedBaseUrl:v,...P?.data&&{sortColumn:P.data.sortColumn,sortedAsc:P.data.sortedAsc}},V={reportName:d,name:m,url:I},A={url:I,executionId:g};return z.default.getActions({download:C,print:{enabled:D},share:V,refresh:A,copy:{url:I}})};var dt={renderReport:J};0&&(module.exports={getChildData,getData,getSummariesData,renderReport});
1
+ var M=Object.create;var b=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Z=(t,e)=>{for(var o in e)b(t,o,{get:e[o],enumerable:!0})},E=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of J(e))!X.call(t,n)&&n!==o&&b(t,n,{get:()=>e[n],enumerable:!(r=G(e,n))||r.enumerable});return t};var g=(t,e,o)=>(o=t!=null?M(K(t)):{},E(e||!t||!t.__esModule?b(o,"default",{value:t,enumerable:!0}):o,t)),$=t=>E(b({},"__esModule",{value:!0}),t);var ut={};Z(ut,{default:()=>dt,getChildData:()=>Y,getData:()=>O,getSummariesData:()=>W,renderReport:()=>_});module.exports=$(ut);var V=g(require("parseurl")),C=require("../../../../../types/UserReports"),T=g(require("../../../../../types/ReportQuery")),q=require("../../../../../components/_filters/filtersTypeEnum"),x=g(require("../../../../../utils/definitionUtils")),k=g(require("../../../../../components/_reports/report-pagination/utils")),Q=g(require("../../../../../components/_reports/report-totals/utils")),v=g(require("../../../../../components/_filters/utils")),F=g(require("../../../../../components/_reports/report-columns-form/utils")),N=g(require("../../../../../components/_reports/report-actions/utils")),B=g(require("../../../../../components/user-reports/utils")),D=g(require("../../../../../utils/localsHelper")),L=g(require("../../../../../components/_reports/report-data-table/utils")),z=g(require("../../../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder"));const O=async({res:t,req:e,services:o,token:r,userId:n})=>{const{definitionsPath:s}=D.default.getValues(t),{reportId:i,variantId:a,id:c,tableId:l}=e.params,p=a||c,d=await o.reportingService.getDefinition(r,i,p,s),{variant:u}=d,{specification:m}=u;if(!m)throw new Error("No specification found in variant definition");const f=await o.requestedReportService.getReportByTableId(l,n),R=F.default.getColumns(m,e),h=await tt(d,R,t,e,o,f),w=await et({definition:d,services:o,token:r,req:e,res:t,reportQuery:h}),{summaries:U}=d.variant,S=U?await W(U,o,r,e,t):[],{childVariants:P}=d.variant,I=P?await Y(P,o,r,e,t,f):[];return{definition:d,requestData:f,reportData:w,summariesData:S,childData:I,reportQuery:h,columns:R}},tt=async(t,e,o,r,n,s)=>{const{definitionsPath:i}=D.default.getValues(o),a=x.default.getFields(t),c=x.default.getTemplate(t),l=await v.default.getFilters({fields:a,req:r,res:o,services:n,filtersType:q.FiltersType.INTERACTIVE}),p=r.query?.sortColumn||s?.query?.data?.sortColumn,d=r.query?.sortedAsc||s?.query?.data?.sortedAsc,u=r.query?.selectedPage,m=r.query?.pageSize,y=v.default.setRequestQueryFromFilterValues(l.filters),f={...p&&{sortColumn:p},...d&&{sortedAsc:d},...y,...m&&{pageSize:m},...u&&{pageSize:m},...e&&{columns:e.value}};return new T.default({fields:a,template:c,queryParams:f,definitionsPath:i})},et=async t=>{const{services:e,token:o,req:r,reportQuery:n}=t,{reportId:s,variantId:i,id:a,tableId:c}=r.params,l=i||a;return e.reportingService.getAsyncReport(o,s,l,c,n.toRecordWithFilterPrefix(!0))},W=async(t,e,o,r,n)=>{const{reportId:s,variantId:i,id:a,tableId:c}=r.params,{definitionsPath:l}=D.default.getValues(n),p=i||a;return Promise.all(t.map(async d=>{const u=await e.reportingService.getAsyncSummaryReport(o,s,p,c,d.id,{dataProductDefinitionsPath:l});return{...d,data:u}}))},Y=async(t,e,o,r,n,s)=>{const{definitionsPath:i}=D.default.getValues(n),{reportId:a}=r.params,c=s?.childExecutionData;if(!c)throw new Error("getChildData: No execution data found for child variants");return Promise.all(t.map(async l=>{const{specification:p}=l;if(!p)throw new Error("getChildData: No specification found in child variant definition");const d=new T.default({fields:p?.fields||[],template:p.template,queryParams:r.query,definitionsPath:i}).toRecordWithFilterPrefix(!0),u=c.find(f=>f.variantId===l.id);if(!u)throw new Error("getChildData: No matching child execution data found");const{tableId:m}=u,y=await e.reportingService.getAsyncReport(o,a,l.id,m,d);return{id:l.id,data:y}}))},_=async({req:t,res:e,services:o})=>{const{token:r,dprUser:n}=D.default.getValues(e),{definition:s,requestData:i,reportData:a,childData:c,summariesData:l,reportQuery:p,columns:d}=await O({req:t,res:e,services:o,token:r,userId:n.id}),u=L.default.createDataTable(s,d,a,c,l,p),m=await ot(t,e,o,s,l,u,d,p,i),y={...m,dataTable:u};return i&&Object.keys(i).length&&B.default.updateLastViewed({req:t,services:o,reportStateData:i,userId:n.id,filters:m.filterData.filters}),{renderData:y}},ot=async(t,e,o,r,n,s,i,a,c)=>{const{nestedBaseUrl:l}=D.default.getValues(e),p=(0,V.default)(t);if(!p)throw new Error("Unable to set url data from request");const d=p?at(p,t):void 0,u=ct(r),{fields:m,specification:y}=u,f=c?lt(c):void 0,R=await st(r,o,e,t,a),h=await v.default.getFilters({fields:m,req:t,res:e,services:o,filtersType:q.FiltersType.INTERACTIVE}),w=await it(o,e,t,i,R,u,f,d),U=nt(e,t);let S;n.length&&(S=new z.default(y,n).collatePageSummaries());let P,I;if(u.template==="list"){P=k.default.getPaginationData(p,R,t);const{pageSize:A,currentPage:j,totalRows:H}=P;I=Q.default.getTotals(A,j,H,s[0].rowCount)}return{...rt(y)&&{columns:i},filterData:h,count:R,nestedBaseUrl:l,...U,...w,...u,...f,...d,...P&&{pagination:P},...I&&{totals:I},...S&&{reportSummaries:S}}},rt=t=>{const{template:e}=t;return!["row-section","row-section-child","summary","summary-section"].includes(e)},nt=(t,e)=>{const{csrfToken:o}=D.default.getValues(t),{tableId:r,reportId:n,id:s}=e.params;return{csrfToken:o,loadType:C.LoadType.ASYNC,type:C.ReportType.REPORT,tableId:r,reportId:n,id:s}},at=(t,e)=>{const{search:o}=t,r=o?encodeURIComponent(o):void 0,n=o?e.originalUrl.split(o)[0]:e.originalUrl;return{reportUrl:n.replace("/download-disabled","").replace("/download-disabled?",""),reportSearch:o||void 0,encodedSearch:r,pathname:n}},it=async(t,e,o,r,n,s,i,a)=>{const{csrfToken:c,dprUser:l,bookmarkingEnabled:p,downloadingEnabled:d}=D.default.getValues(e),{reportId:u,id:m}=o.params,{downloadPermissionService:y,bookmarkService:f}=t;let R=!1;d&&y&&(R=await y.downloadEnabled(l.id,u,m));let h;return p&&f&&(h=await f.isBookmarked(m,u,l.id)),{actions:pt(c,r,R,n,e,o,s,i,a),canDownload:R,bookmarked:h}},st=async(t,e,o,r,n)=>{const{token:s}=D.default.getValues(o),{tableId:i,reportId:a,id:c}=r.params;return t.variant.interactive?e.reportingService.getAsyncInteractiveCount(s,i,a,c,n):e.reportingService.getAsyncCount(s,i)},ct=t=>{const{variant:e,name:o,description:r}=t,{classification:n,printable:s,specification:i,name:a,description:c}=e;if(!i)throw new Error("No specification found in variant definition");const{template:l,fields:p}=i;return{reportName:o,name:a,description:c||r,classification:n,printable:!!s,specification:i,template:l,fields:p}},lt=t=>{const{query:e,url:o,timestamp:r}=t;return{executionId:t.executionId,requestedTimestamp:r.requested?new Date(r.requested).toLocaleString():void 0,querySummary:e?.summary||[],queryData:e?.data,requestUrl:o?.request,defaultQuery:o?.report?.default,dataProductDefinitionsPath:t.dataProductDefinitionsPath}},pt=(t,e,o,r,n,s,i,a,c)=>{const{reportName:l,name:p,printable:d}=i,{tableId:u,id:m,reportId:y}=s.params,{nestedBaseUrl:f,definitionsPath:R}=D.default.getValues(n);let h;c&&(h={enabled:r>0&&o!==void 0,name:p,reportName:l,csrfToken:t,reportId:y,id:m,tableId:u,columns:e.value,definitionPath:R,loadType:C.LoadType.ASYNC,nestedBaseUrl:f,canDownload:o,currentUrl:c.pathname,currentQueryParams:c.reportSearch,...a?.queryData&&{sortColumn:a.queryData.sortColumn,sortedAsc:a.queryData.sortedAsc}});let w,U;a?.requestUrl?.fullUrl&&(w={reportName:l,name:p,url:a.requestUrl.fullUrl},U={url:a.requestUrl.fullUrl});let S;return a?.executionId&&a?.requestUrl?.fullUrl&&(S={url:a.requestUrl.fullUrl,executionId:a.executionId}),N.default.getActions({...h&&{download:h},...w&&{share:w},...S&&{refresh:S},...U&&{copy:U},print:{enabled:d}})};var dt={renderReport:_};0&&(module.exports={getChildData,getData,getSummariesData,renderReport});
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/report/utils.ts"],
4
- "sourcesContent": ["import parseUrl from 'parseurl'\nimport { Url } from 'url'\nimport { Request, Response } from 'express'\nimport definitionUtils from '../../../../../utils/definitionUtils'\nimport Dict = NodeJS.Dict\nimport type { Columns } from '../../../../../components/_reports/report-columns-form/types'\nimport type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils'\nimport type { DataTable } from '../../../../../utils/DataTableBuilder/types'\nimport type { components } from '../../../../../types/api'\nimport type { AsyncSummary, RequestedReport } from '../../../../../types/UserReports'\nimport { LoadType, ReportType } from '../../../../../types/UserReports'\nimport ReportQuery from '../../../../../types/ReportQuery'\n\nimport CollatedSummaryBuilder from '../../../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder'\n\nimport PaginationUtils from '../../../../../components/_reports/report-pagination/utils'\nimport TotalsUtils from '../../../../../components/_reports/report-totals/utils'\nimport ReportFiltersUtils from '../../../../../components/_filters/utils'\nimport ColumnUtils from '../../../../../components/_reports/report-columns-form/utils'\nimport ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'\nimport UserReportsUtils from '../../../../../components/user-reports/utils'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { DownloadActionParams } from '../../../../../components/_reports/report-actions/types'\nimport { Services } from '../../../../../types/Services'\nimport { ChildData } from '../../../../../utils/ParentChildDataTableBuilder/types'\nimport DataTableUtils from '../../../../../components/_reports/report-data-table/utils'\nimport { FiltersType } from '../../../../../components/_filters/filtersTypeEnum'\n\nexport const getData = async ({\n res,\n req,\n services,\n token,\n userId,\n}: AsyncReportUtilsParams & { token: string; userId: string }) => {\n const { definitionsPath: definitionPath } = LocalsHelper.getValues(res)\n const { reportId, variantId, id, tableId } = req.params\n const reportVariantId = variantId || id\n\n // Get the definition\n const definition: components['schemas']['SingleVariantReportDefinition'] =\n await services.reportingService.getDefinition(token, reportId, reportVariantId, definitionPath)\n\n // Get the request data\n const requestData: RequestedReport = await services.requestedReportService.getReportByTableId(tableId, userId)\n\n // Get the columns\n const columns = ColumnUtils.getColumns(definition.variant.specification, req)\n\n // initialise report query\n const reportQuery = await initReportQuery(definition, columns, res, req, requestData, services)\n\n // Get the reportData\n const reportData = await getReportData({ definition, services, token, req, res, requestData, reportQuery })\n\n // Get the summary data, if applicable\n const summariesData = !definition.variant.summaries\n ? []\n : await getSummariesData(definition, services, token, req, res)\n\n // Get the child data, if applicable\n const childData: ChildData[] = !definition.variant.childVariants\n ? []\n : await getChildData(definition, services, token, req, res, requestData)\n\n return {\n definition,\n requestData,\n reportData,\n summariesData,\n childData,\n reportQuery,\n columns,\n }\n}\n\nconst initReportQuery = async (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n res: Response,\n req: Request,\n requestData: RequestedReport,\n services: Services,\n) => {\n const { definitionsPath } = LocalsHelper.getValues(res)\n const fields = definitionUtils.getFields(definition)\n const template = definitionUtils.getTemplate(definition)\n\n const filtersData = await ReportFiltersUtils.getFilters({\n fields,\n req,\n res,\n services,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n // Sort\n const sortColumn = req.query?.sortColumn || requestData.query?.data?.sortColumn\n const sortedAsc = req.query?.sortedAsc || requestData.query?.data?.sortedAsc\n\n // Pagination\n const selectedPage = req.query?.selectedPage\n const pageSize = req.query?.pageSize\n\n // Filters\n const filtersQuery = ReportFiltersUtils.setRequestQueryFromFilterValues(filtersData.filters)\n\n const queryParams = {\n ...(sortColumn && { sortColumn }),\n ...(sortedAsc && { sortedAsc }),\n ...filtersQuery,\n ...(pageSize && { pageSize }),\n ...(selectedPage && { pageSize }),\n ...(columns && { columns: columns.value }),\n }\n\n return new ReportQuery({\n fields,\n template,\n queryParams,\n definitionsPath,\n })\n}\n\nconst getReportData = async (args: {\n definition: components['schemas']['SingleVariantReportDefinition']\n services: Services\n token: string\n req: Request\n res: Response\n requestData: RequestedReport\n reportQuery: ReportQuery\n}) => {\n const { services, token, req, reportQuery } = args\n const { reportId, variantId, id, tableId } = req.params\n const reportVariantId = variantId || id\n\n return services.reportingService.getAsyncReport(\n token,\n reportId,\n reportVariantId,\n tableId,\n reportQuery.toRecordWithFilterPrefix(true),\n )\n}\n\nexport const getSummariesData = async (\n reportDefinition: components['schemas']['SingleVariantReportDefinition'],\n services: Services,\n token: string,\n req: Request,\n res: Response,\n): Promise<AsyncSummary[]> => {\n const { reportId, variantId, id, tableId } = req.params\n const { definitionsPath: dataProductDefinitionsPath } = LocalsHelper.getValues(res)\n const reportVariantId = variantId || id\n\n return Promise.all(\n reportDefinition.variant.summaries.map(async (summary) => {\n const summaryReport = await services.reportingService.getAsyncSummaryReport(\n token,\n reportId,\n reportVariantId,\n tableId,\n summary.id,\n {\n dataProductDefinitionsPath,\n },\n )\n\n return {\n ...summary,\n data: summaryReport,\n }\n }),\n )\n}\n\nexport const getChildData = async (\n reportDefinition: components['schemas']['SingleVariantReportDefinition'],\n services: Services,\n token: string,\n req: Request,\n res: Response,\n requestData: RequestedReport,\n): Promise<ChildData[]> => {\n const { definitionsPath: dataProductDefinitionsPath } = LocalsHelper.getValues(res)\n const { reportId } = req.params\n\n return Promise.all(\n reportDefinition.variant.childVariants.map(async (childVariant) => {\n const { specification } = childVariant\n\n const query = new ReportQuery({\n fields: specification.fields,\n template: reportDefinition.variant.specification.template,\n queryParams: req.query,\n definitionsPath: dataProductDefinitionsPath,\n }).toRecordWithFilterPrefix(true)\n\n const { tableId: childTableId } = requestData.childExecutionData.find((e) => e.variantId === childVariant.id)\n\n const childReport = await services.reportingService.getAsyncReport(\n token,\n reportId,\n childVariant.id,\n childTableId,\n query,\n )\n\n return {\n id: childVariant.id,\n data: childReport,\n }\n }),\n )\n}\n\n/**\n * Entry point function to render the report\n *\n * @param {AsyncReportUtilsParams} { req, res, services }\n * @return {*}\n */\nexport const renderReport = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { token, dprUser } = LocalsHelper.getValues(res)\n\n // Get the report data\n const { definition, requestData, reportData, childData, summariesData, reportQuery, columns } = await getData({\n req,\n res,\n services,\n token,\n userId: dprUser.id,\n })\n\n // Get the data table\n const dataTable: DataTable[] = DataTableUtils.createDataTable(\n definition,\n columns,\n reportData,\n childData,\n summariesData,\n reportQuery,\n )\n\n // Get the template data\n const templateData = await getTemplateData(\n req,\n res,\n services,\n definition,\n requestData,\n summariesData,\n dataTable,\n columns,\n reportQuery,\n )\n\n const renderData = {\n ...templateData,\n dataTable,\n }\n\n if (Object.keys(requestData).length) {\n UserReportsUtils.updateLastViewed({\n req,\n services,\n reportStateData: requestData,\n userId: dprUser.id,\n filters: templateData.filterData.filters,\n })\n }\n\n return { renderData }\n}\n\nconst getTemplateData = async (\n req: Request,\n res: Response,\n services: Services,\n definition: components['schemas']['SingleVariantReportDefinition'],\n requestData: RequestedReport,\n summariesData: AsyncSummary[],\n dataTable: DataTable[],\n columns: Columns,\n reportQuery: ReportQuery,\n) => {\n const { nestedBaseUrl } = LocalsHelper.getValues(res)\n const url = parseUrl(req)\n const urls = setUrls(url, req)\n const definitionData = extractDataFromDefinition(definition)\n const { fields, specification } = definitionData\n const requestedData = extractDataFromRequest(requestData)\n const count = await getCount(definition, requestData, services, res, reportQuery)\n const filterData = await ReportFiltersUtils.getFilters({\n fields,\n req,\n res,\n services,\n filtersType: FiltersType.INTERACTIVE,\n })\n const features = await setFeatures(services, res, requestData, definition, columns, count, urls)\n const meta = setMetaData(definition, res)\n\n let reportSummaries\n if (summariesData.length) {\n const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)\n reportSummaries = collatedSummaryBuilder.collatePageSummaries()\n }\n\n let pagination\n let totals\n if (meta.template === 'list') {\n pagination = PaginationUtils.getPaginationData(url, count, req)\n const { pageSize, currentPage, totalRows } = pagination\n totals = TotalsUtils.getTotals(pageSize, currentPage, totalRows, dataTable[0].rowCount)\n }\n\n return {\n ...(showColumns(specification) && { columns }),\n filterData,\n count,\n nestedBaseUrl,\n ...meta,\n ...features,\n ...requestedData,\n ...urls,\n ...(pagination && { pagination }),\n ...(totals && { totals }),\n ...(reportSummaries && { reportSummaries }),\n }\n}\n\nconst showColumns = (specification: components['schemas']['Specification']) => {\n const { template } = specification\n\n return !['row-section', 'row-section-child', 'summary', 'summary-section'].includes(template)\n}\n\nconst setMetaData = (definition: components['schemas']['SingleVariantReportDefinition'], res: Response) => {\n const { classification } = definition.variant\n const { template } = definition.variant.specification\n const { csrfToken } = LocalsHelper.getValues(res)\n\n return {\n csrfToken,\n classification,\n template,\n loadType: LoadType.ASYNC,\n type: ReportType.REPORT,\n }\n}\n\nconst setUrls = (url: Url, req: Request) => {\n const { search } = url\n const pathname = url.search ? req.originalUrl.split(url.search)[0] : req.originalUrl\n const reportUrl = pathname.replace('/download-disabled', '').replace('/download-disabled?', '')\n const reportSearch = search\n const encodedSearch = search ? encodeURIComponent(search) : undefined\n\n return {\n reportUrl,\n reportSearch,\n encodedSearch,\n search,\n pathname,\n }\n}\n\nconst setFeatures = async (\n services: Services,\n res: Response,\n requestData: RequestedReport,\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n count: number,\n urls: Dict<string>,\n) => {\n const { csrfToken, dprUser, bookmarkingEnabled, downloadingEnabled } = LocalsHelper.getValues(res)\n const { reportId } = requestData\n const id = requestData.variantId || requestData.id\n const { variant } = definition\n\n let canDownload\n if (downloadingEnabled) {\n canDownload = await services.downloadPermissionService.downloadEnabled(dprUser.id, reportId, id)\n }\n\n let bookmarked\n if (bookmarkingEnabled) {\n bookmarked = await services.bookmarkService.isBookmarked(id, reportId, dprUser.id)\n }\n\n const actions = setActions(\n csrfToken,\n variant,\n requestData,\n columns,\n canDownload,\n count,\n urls.pathname,\n urls.search,\n res,\n )\n const { printable } = variant\n\n return {\n actions,\n canDownload,\n bookmarked,\n printable,\n }\n}\n\nconst getCount = async (\n definition: components['schemas']['SingleVariantReportDefinition'],\n requestData: RequestedReport,\n services: Services,\n res: Response,\n reportQuery: ReportQuery,\n) => {\n const { token } = LocalsHelper.getValues(res)\n const { tableId, reportId } = requestData\n const id = requestData.variantId || requestData.id\n\n return !definition.variant.interactive\n ? services.reportingService.getAsyncCount(token, tableId)\n : services.reportingService.getAsyncInteractiveCount(token, tableId, reportId, id, reportQuery)\n}\n\nconst extractDataFromDefinition = (definition: components['schemas']['SingleVariantReportDefinition']) => {\n const { variant } = definition\n const { classification, printable, specification } = variant\n const { template, fields } = specification\n const { interactive } = <components['schemas']['VariantDefinition'] & { interactive?: boolean }>variant\n\n return {\n classification,\n printable,\n specification,\n template,\n interactive,\n fields,\n variant,\n }\n}\n\nconst extractDataFromRequest = (requestData: RequestedReport) => {\n return {\n reportName: requestData.reportName,\n name: requestData.name,\n description: requestData.description,\n requestedTimestamp: new Date(requestData.timestamp.requested).toLocaleString(),\n reportId: requestData.reportId,\n tableId: requestData.tableId,\n id: requestData.variantId || requestData.id,\n executionId: requestData.executionId,\n querySummary: requestData.query.summary,\n requestUrl: requestData.url.request,\n defaultQuery: requestData.url.report.default,\n dataProductDefinitionsPath: requestData.dataProductDefinitionsPath,\n }\n}\n\nconst setActions = (\n csrfToken: string,\n variant: components['schemas']['VariantDefinition'],\n requestData: RequestedReport,\n columns: Columns,\n canDownload: boolean,\n count: number,\n currentUrl: string,\n currentQueryParams: string,\n res: Response,\n) => {\n const { reportName, name, id, variantId, reportId, tableId, executionId, dataProductDefinitionsPath, url, query } =\n requestData\n const { nestedBaseUrl } = LocalsHelper.getValues(res)\n const requestUrl = url.request.fullUrl\n const { printable } = variant\n const ID = variantId || id\n\n const downloadConfig: DownloadActionParams = {\n enabled: count > 0 && canDownload !== undefined,\n name,\n reportName,\n csrfToken,\n reportId,\n id: ID,\n tableId,\n columns: columns.value,\n definitionPath: dataProductDefinitionsPath,\n loadType: LoadType.ASYNC,\n canDownload,\n currentUrl,\n currentQueryParams,\n nestedBaseUrl,\n ...(query?.data && {\n sortColumn: <string>query.data.sortColumn,\n sortedAsc: <string>query.data.sortedAsc,\n }),\n }\n\n const shareConfig = {\n reportName,\n name,\n url: requestUrl,\n }\n\n const refreshConfig = {\n url: requestUrl,\n executionId,\n }\n\n return ReportActionsUtils.getActions({\n download: downloadConfig,\n print: { enabled: printable },\n share: shareConfig,\n refresh: refreshConfig,\n copy: { url: requestUrl },\n })\n}\n\nexport default {\n renderReport,\n}\n"],
5
- "mappings": "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",
6
- "names": ["utils_exports", "__export", "utils_default", "getChildData", "getData", "getSummariesData", "renderReport", "__toCommonJS", "import_parseurl", "import_definitionUtils", "import_UserReports", "import_ReportQuery", "import_CollatedSummaryBuilder", "import_utils", "import_localsHelper", "import_filtersTypeEnum", "res", "req", "services", "token", "userId", "definitionPath", "LocalsHelper", "reportId", "variantId", "id", "tableId", "reportVariantId", "definition", "requestData", "columns", "ColumnUtils", "reportQuery", "initReportQuery", "reportData", "getReportData", "summariesData", "childData", "definitionsPath", "fields", "definitionUtils", "template", "filtersData", "ReportFiltersUtils", "sortColumn", "sortedAsc", "selectedPage", "pageSize", "filtersQuery", "queryParams", "ReportQuery", "args", "reportDefinition", "dataProductDefinitionsPath", "summary", "summaryReport", "childVariant", "specification", "query", "childTableId", "e", "childReport", "dprUser", "dataTable", "DataTableUtils", "templateData", "getTemplateData", "renderData", "UserReportsUtils", "nestedBaseUrl", "url", "parseUrl", "urls", "setUrls", "definitionData", "extractDataFromDefinition", "requestedData", "extractDataFromRequest", "count", "getCount", "filterData", "features", "setFeatures", "meta", "setMetaData", "reportSummaries", "CollatedSummaryBuilder", "pagination", "totals", "PaginationUtils", "currentPage", "totalRows", "TotalsUtils", "showColumns", "classification", "csrfToken", "search", "pathname", "reportUrl", "reportSearch", "encodedSearch", "bookmarkingEnabled", "downloadingEnabled", "variant", "canDownload", "bookmarked", "actions", "setActions", "printable", "interactive", "currentUrl", "currentQueryParams", "reportName", "name", "executionId", "requestUrl", "ID", "downloadConfig", "shareConfig", "refreshConfig", "ReportActionsUtils"]
4
+ "sourcesContent": ["import parseUrl from 'parseurl'\nimport { Url } from 'url'\nimport { Request, Response } from 'express'\n\n// Types\nimport type { Columns } from '../../../../../components/_reports/report-columns-form/types'\nimport type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils'\nimport type { DataTable } from '../../../../../utils/DataTableBuilder/types'\nimport type { components } from '../../../../../types/api'\nimport type { AsyncSummary, RequestedReport } from '../../../../../types/UserReports'\nimport { LoadType, ReportType } from '../../../../../types/UserReports'\nimport ReportQuery from '../../../../../types/ReportQuery'\nimport type { ChildData } from '../../../../../utils/ParentChildDataTableBuilder/types'\nimport type { ExtractedDefinitionData, ExtractedRequestData, ReportUrls } from './types'\nimport type { DownloadActionParams } from '../../../../../components/_reports/report-actions/types'\nimport { FiltersType } from '../../../../../components/_filters/filtersTypeEnum'\nimport type { Services } from '../../../../../types/Services'\n\n// Utils\nimport definitionUtils from '../../../../../utils/definitionUtils'\nimport PaginationUtils from '../../../../../components/_reports/report-pagination/utils'\nimport TotalsUtils from '../../../../../components/_reports/report-totals/utils'\nimport ReportFiltersUtils from '../../../../../components/_filters/utils'\nimport ColumnUtils from '../../../../../components/_reports/report-columns-form/utils'\nimport ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'\nimport UserReportsUtils from '../../../../../components/user-reports/utils'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport DataTableUtils from '../../../../../components/_reports/report-data-table/utils'\nimport RequestedReportService from '../../../my-reports/requested-reports/service'\n\nimport CollatedSummaryBuilder from '../../../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder'\n\nexport const getData = async ({\n res,\n req,\n services,\n token,\n userId,\n}: AsyncReportUtilsParams & { token: string; userId: string }) => {\n const { definitionsPath: definitionPath } = LocalsHelper.getValues(res)\n const { reportId, variantId, id, tableId } = req.params\n const reportVariantId = variantId || id\n\n // Get the definition\n const definition: components['schemas']['SingleVariantReportDefinition'] =\n await services.reportingService.getDefinition(token, reportId, reportVariantId, definitionPath)\n const { variant } = definition\n const { specification } = variant\n\n if (!specification) {\n throw new Error('No specification found in variant definition')\n }\n\n // Get the request data\n const requestedReportService = <RequestedReportService>services.requestedReportService\n const requestData: RequestedReport | undefined = await requestedReportService.getReportByTableId(tableId, userId)\n\n // Get the columns\n const columns = ColumnUtils.getColumns(specification, req)\n\n // initialise report query\n const reportQuery = await initReportQuery(definition, columns, res, req, services, requestData)\n\n // Get the reportData\n const reportData = await getReportData({ definition, services, token, req, res, reportQuery })\n\n // Get the summary data, if applicable\n const { summaries } = definition.variant\n const summariesData = !summaries ? [] : await getSummariesData(summaries, services, token, req, res)\n\n // Get the child data, if applicable\n const { childVariants } = definition.variant\n const childData: ChildData[] = !childVariants\n ? []\n : await getChildData(childVariants, services, token, req, res, requestData)\n\n return {\n definition,\n requestData,\n reportData,\n summariesData,\n childData,\n reportQuery,\n columns,\n }\n}\n\nconst initReportQuery = async (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n res: Response,\n req: Request,\n services: Services,\n requestData?: RequestedReport,\n) => {\n const { definitionsPath } = LocalsHelper.getValues(res)\n const fields = definitionUtils.getFields(definition)\n const template = definitionUtils.getTemplate(definition)\n\n const filtersData = await ReportFiltersUtils.getFilters({\n fields,\n req,\n res,\n services,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n // Sort\n const sortColumn = req.query?.sortColumn || requestData?.query?.data?.sortColumn\n const sortedAsc = req.query?.sortedAsc || requestData?.query?.data?.sortedAsc\n\n // Pagination\n const selectedPage = req.query?.selectedPage\n const pageSize = req.query?.pageSize\n\n // Filters\n const filtersQuery = ReportFiltersUtils.setRequestQueryFromFilterValues(filtersData.filters)\n\n const queryParams = {\n ...(sortColumn && { sortColumn }),\n ...(sortedAsc && { sortedAsc }),\n ...filtersQuery,\n ...(pageSize && { pageSize }),\n ...(selectedPage && { pageSize }),\n ...(columns && { columns: columns.value }),\n }\n\n return new ReportQuery({\n fields,\n template,\n queryParams,\n definitionsPath,\n })\n}\n\nconst getReportData = async (args: {\n definition: components['schemas']['SingleVariantReportDefinition']\n services: Services\n token: string\n req: Request\n res: Response\n reportQuery: ReportQuery\n}) => {\n const { services, token, req, reportQuery } = args\n const { reportId, variantId, id, tableId } = req.params\n const reportVariantId = variantId || id\n\n return services.reportingService.getAsyncReport(\n token,\n reportId,\n reportVariantId,\n tableId,\n reportQuery.toRecordWithFilterPrefix(true),\n )\n}\n\nexport const getSummariesData = async (\n summaries: components['schemas']['ReportSummary'][],\n services: Services,\n token: string,\n req: Request,\n res: Response,\n): Promise<AsyncSummary[]> => {\n const { reportId, variantId, id, tableId } = req.params\n const { definitionsPath: dataProductDefinitionsPath } = LocalsHelper.getValues(res)\n const reportVariantId = variantId || id\n\n return Promise.all(\n summaries.map(async (summary) => {\n const summaryReport = await services.reportingService.getAsyncSummaryReport(\n token,\n reportId,\n reportVariantId,\n tableId,\n summary.id,\n {\n dataProductDefinitionsPath,\n },\n )\n\n return {\n ...summary,\n data: summaryReport,\n }\n }),\n )\n}\n\nexport const getChildData = async (\n childVariants: components['schemas']['ChildVariantDefinition'][],\n services: Services,\n token: string,\n req: Request,\n res: Response,\n requestData?: RequestedReport,\n): Promise<ChildData[]> => {\n const { definitionsPath: dataProductDefinitionsPath } = LocalsHelper.getValues(res)\n const { reportId } = req.params\n const childExecutionData = requestData?.childExecutionData\n if (!childExecutionData) {\n throw new Error('getChildData: No execution data found for child variants')\n }\n return Promise.all(\n childVariants.map(async (childVariant) => {\n const { specification } = childVariant\n if (!specification) {\n throw new Error('getChildData: No specification found in child variant definition')\n }\n\n const query = new ReportQuery({\n fields: specification?.fields || [],\n template: specification.template,\n queryParams: req.query,\n definitionsPath: dataProductDefinitionsPath,\n }).toRecordWithFilterPrefix(true)\n\n const childData = childExecutionData.find((e) => e.variantId === childVariant.id)\n if (!childData) {\n throw new Error('getChildData: No matching child execution data found')\n }\n const { tableId: childTableId } = childData\n\n const childReport = await services.reportingService.getAsyncReport(\n token,\n reportId,\n childVariant.id,\n childTableId,\n query,\n )\n\n return {\n id: childVariant.id,\n data: childReport,\n }\n }),\n )\n}\n\n/**\n * Entry point function to render the report\n *\n * @param {AsyncReportUtilsParams} { req, res, services }\n * @return {*}\n */\nexport const renderReport = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { token, dprUser } = LocalsHelper.getValues(res)\n\n // Get the report data\n const { definition, requestData, reportData, childData, summariesData, reportQuery, columns } = await getData({\n req,\n res,\n services,\n token,\n userId: dprUser.id,\n })\n\n // Get the data table\n const dataTable: DataTable[] = DataTableUtils.createDataTable(\n definition,\n columns,\n reportData,\n childData,\n summariesData,\n reportQuery,\n )\n\n // Get the template data\n const templateData = await getTemplateData(\n req,\n res,\n services,\n definition,\n summariesData,\n dataTable,\n columns,\n reportQuery,\n requestData,\n )\n\n const renderData = {\n ...templateData,\n dataTable,\n }\n\n if (requestData && Object.keys(requestData).length) {\n UserReportsUtils.updateLastViewed({\n req,\n services,\n reportStateData: requestData,\n userId: dprUser.id,\n filters: templateData.filterData.filters,\n })\n }\n\n return { renderData }\n}\n\nconst getTemplateData = async (\n req: Request,\n res: Response,\n services: Services,\n definition: components['schemas']['SingleVariantReportDefinition'],\n summariesData: AsyncSummary[],\n dataTable: DataTable[],\n columns: Columns,\n reportQuery: ReportQuery,\n requestData?: RequestedReport,\n) => {\n const { nestedBaseUrl } = LocalsHelper.getValues(res)\n\n // get url data\n const url = parseUrl(req)\n if (!url) {\n throw new Error('Unable to set url data from request')\n }\n\n const urls = url ? setUrls(url, req) : undefined\n\n // get from definition\n const definitionData = extractDataFromDefinition(definition)\n const { fields, specification } = definitionData\n\n // get from requestedData\n const requestedData = requestData ? extractDataFromRequest(requestData) : undefined\n\n // Get the count\n const count = await getCount(definition, services, res, req, reportQuery)\n\n // Get the filters\n const filterData = await ReportFiltersUtils.getFilters({\n fields,\n req,\n res,\n services,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n // Set the features\n const features = await setFeatures(services, res, req, columns, count, definitionData, requestedData, urls)\n\n // Set the extra meta data\n const meta = setMetaData(res, req)\n\n let reportSummaries\n if (summariesData.length) {\n const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)\n reportSummaries = collatedSummaryBuilder.collatePageSummaries()\n }\n\n let pagination\n let totals\n if (definitionData.template === 'list') {\n pagination = PaginationUtils.getPaginationData(url, count, req)\n const { pageSize, currentPage, totalRows } = pagination\n totals = TotalsUtils.getTotals(pageSize, currentPage, totalRows, dataTable[0].rowCount)\n }\n\n return {\n ...(showColumns(specification) && { columns }),\n filterData,\n count,\n nestedBaseUrl,\n ...meta,\n ...features,\n ...definitionData,\n ...requestedData,\n ...urls,\n ...(pagination && { pagination }),\n ...(totals && { totals }),\n ...(reportSummaries && { reportSummaries }),\n }\n}\n\nconst showColumns = (specification: components['schemas']['Specification']) => {\n const { template } = specification\n\n return !['row-section', 'row-section-child', 'summary', 'summary-section'].includes(template)\n}\n\nconst setMetaData = (res: Response, req: Request) => {\n const { csrfToken } = LocalsHelper.getValues(res)\n const { tableId, reportId, id } = req.params\n\n return {\n csrfToken,\n loadType: LoadType.ASYNC,\n type: ReportType.REPORT,\n tableId,\n reportId,\n id,\n }\n}\n\nconst setUrls = (url: Url, req: Request): ReportUrls => {\n const { search } = url\n const encodedSearch = search ? encodeURIComponent(search) : undefined\n const pathname = search ? req.originalUrl.split(search)[0] : req.originalUrl\n const reportUrl = pathname.replace('/download-disabled', '').replace('/download-disabled?', '')\n\n return {\n reportUrl,\n reportSearch: search || undefined,\n encodedSearch,\n pathname,\n }\n}\n\nconst setFeatures = async (\n services: Services,\n res: Response,\n req: Request,\n columns: Columns,\n count: number,\n definitionData: ExtractedDefinitionData,\n requestData?: ExtractedRequestData,\n urls?: ReportUrls,\n) => {\n const { csrfToken, dprUser, bookmarkingEnabled, downloadingEnabled } = LocalsHelper.getValues(res)\n const { reportId, id } = req.params\n const { downloadPermissionService, bookmarkService } = services\n\n let canDownload = false\n if (downloadingEnabled && downloadPermissionService) {\n canDownload = await downloadPermissionService.downloadEnabled(dprUser.id, reportId, id)\n }\n\n let bookmarked\n if (bookmarkingEnabled && bookmarkService) {\n bookmarked = await bookmarkService.isBookmarked(id, reportId, dprUser.id)\n }\n\n const actions = setActions(csrfToken, columns, canDownload, count, res, req, definitionData, requestData, urls)\n\n return {\n actions,\n canDownload,\n bookmarked,\n }\n}\n\nconst getCount = async (\n definition: components['schemas']['SingleVariantReportDefinition'],\n services: Services,\n res: Response,\n req: Request,\n reportQuery: ReportQuery,\n) => {\n const { token } = LocalsHelper.getValues(res)\n const { tableId, reportId, id } = req.params\n\n return !definition.variant.interactive\n ? services.reportingService.getAsyncCount(token, tableId)\n : services.reportingService.getAsyncInteractiveCount(token, tableId, reportId, id, reportQuery)\n}\n\nconst extractDataFromDefinition = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n): ExtractedDefinitionData => {\n const { variant, name: reportName, description: reportDescription } = definition\n const { classification, printable, specification, name, description } = variant\n if (!specification) {\n throw new Error('No specification found in variant definition')\n }\n const { template, fields } = specification\n\n return {\n reportName,\n name,\n description: description || reportDescription,\n classification,\n printable: Boolean(printable),\n specification,\n template,\n fields,\n }\n}\n\nconst extractDataFromRequest = (requestData: RequestedReport): ExtractedRequestData => {\n const { query, url, timestamp } = requestData\n\n return {\n executionId: requestData.executionId,\n requestedTimestamp: timestamp.requested ? new Date(timestamp.requested).toLocaleString() : undefined,\n querySummary: query?.summary || [],\n queryData: query?.data,\n requestUrl: url?.request,\n defaultQuery: url?.report?.default,\n dataProductDefinitionsPath: requestData.dataProductDefinitionsPath,\n }\n}\n\nconst setActions = (\n csrfToken: string,\n columns: Columns,\n canDownload: boolean,\n count: number,\n res: Response,\n req: Request,\n definitionData: ExtractedDefinitionData,\n requestData?: ExtractedRequestData,\n urls?: ReportUrls,\n) => {\n const { reportName, name, printable } = definitionData\n const { tableId, id, reportId } = req.params\n const { nestedBaseUrl, definitionsPath } = LocalsHelper.getValues(res)\n\n // DownloadActionParams\n let downloadConfig: DownloadActionParams | undefined\n if (urls) {\n downloadConfig = {\n enabled: count > 0 && canDownload !== undefined,\n name,\n reportName,\n csrfToken,\n reportId,\n id,\n tableId,\n columns: columns.value,\n definitionPath: definitionsPath,\n loadType: LoadType.ASYNC,\n nestedBaseUrl,\n canDownload,\n currentUrl: urls.pathname,\n currentQueryParams: urls.reportSearch,\n ...(requestData?.queryData && {\n sortColumn: <string>requestData.queryData.sortColumn,\n sortedAsc: <string>requestData.queryData.sortedAsc,\n }),\n }\n }\n\n let shareConfig\n let copyConfig\n if (requestData?.requestUrl?.fullUrl) {\n shareConfig = {\n reportName,\n name,\n url: requestData.requestUrl.fullUrl,\n }\n copyConfig = {\n url: requestData.requestUrl.fullUrl,\n }\n }\n\n let refreshConfig\n if (requestData?.executionId && requestData?.requestUrl?.fullUrl) {\n refreshConfig = {\n url: requestData.requestUrl.fullUrl,\n executionId: requestData.executionId,\n }\n }\n\n return ReportActionsUtils.getActions({\n ...(downloadConfig && { download: downloadConfig }),\n ...(shareConfig && { share: shareConfig }),\n ...(refreshConfig && { refresh: refreshConfig }),\n ...(copyConfig && { copy: copyConfig }),\n print: { enabled: printable },\n })\n}\n\nexport default {\n renderReport,\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["utils_exports", "__export", "utils_default", "getChildData", "getData", "getSummariesData", "renderReport", "__toCommonJS", "import_parseurl", "import_UserReports", "import_ReportQuery", "import_filtersTypeEnum", "import_definitionUtils", "import_utils", "import_localsHelper", "import_CollatedSummaryBuilder", "res", "req", "services", "token", "userId", "definitionPath", "LocalsHelper", "reportId", "variantId", "id", "tableId", "reportVariantId", "definition", "variant", "specification", "requestData", "columns", "ColumnUtils", "reportQuery", "initReportQuery", "reportData", "getReportData", "summaries", "summariesData", "childVariants", "childData", "definitionsPath", "fields", "definitionUtils", "template", "filtersData", "ReportFiltersUtils", "sortColumn", "sortedAsc", "selectedPage", "pageSize", "filtersQuery", "queryParams", "ReportQuery", "args", "dataProductDefinitionsPath", "summary", "summaryReport", "childExecutionData", "childVariant", "query", "e", "childTableId", "childReport", "dprUser", "dataTable", "DataTableUtils", "templateData", "getTemplateData", "renderData", "UserReportsUtils", "nestedBaseUrl", "url", "parseUrl", "urls", "setUrls", "definitionData", "extractDataFromDefinition", "requestedData", "extractDataFromRequest", "count", "getCount", "filterData", "features", "setFeatures", "meta", "setMetaData", "reportSummaries", "CollatedSummaryBuilder", "pagination", "totals", "PaginationUtils", "currentPage", "totalRows", "TotalsUtils", "showColumns", "csrfToken", "search", "encodedSearch", "pathname", "bookmarkingEnabled", "downloadingEnabled", "downloadPermissionService", "bookmarkService", "canDownload", "bookmarked", "setActions", "reportName", "reportDescription", "classification", "printable", "name", "description", "timestamp", "downloadConfig", "shareConfig", "copyConfig", "refreshConfig", "ReportActionsUtils"]
7
7
  }