@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.27.0 → 4.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/assets/app.js.map +2 -2
- package/dpr/components/_async/async-filters-form/sortByTemplate.js +60 -1
- package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +2 -2
- package/dpr/components/_async/async-filters-form/types.d.js +16 -1
- package/dpr/components/_async/async-filters-form/types.d.js.map +2 -2
- package/dpr/components/_async/async-filters-form/utils.js +180 -1
- package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue/types.js +16 -1
- package/dpr/components/_catalogue/catalogue/types.js.map +2 -2
- package/dpr/components/_catalogue/catalogue/utils.js +83 -1
- package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue-list/utils.js +140 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
- package/dpr/components/_charts/chart/Chart.js +99 -1
- package/dpr/components/_charts/chart/Chart.js.map +2 -2
- package/dpr/components/_charts/chart/ChartColours.js +61 -1
- package/dpr/components/_charts/chart/ChartColours.js.map +2 -2
- package/dpr/components/_charts/chart/ChartTimeseries.js +101 -1
- package/dpr/components/_charts/chart/ChartTimeseries.js.map +2 -2
- package/dpr/components/_charts/chart/bar/BarChart.js +193 -1
- package/dpr/components/_charts/chart/bar/BarChart.js.map +2 -2
- package/dpr/components/_charts/chart/bar/types.js +16 -1
- package/dpr/components/_charts/chart/bar/types.js.map +2 -2
- package/dpr/components/_charts/chart/bar/validate.js +73 -1
- package/dpr/components/_charts/chart/bar/validate.js.map +2 -2
- package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js +80 -1
- package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +2 -2
- package/dpr/components/_charts/chart/bar-timeseries/types.js +16 -1
- package/dpr/components/_charts/chart/bar-timeseries/types.js.map +2 -2
- package/dpr/components/_charts/chart/bar-timeseries/validate.js +48 -1
- package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +2 -2
- package/dpr/components/_charts/chart/buckets/Buckets.js +194 -1
- package/dpr/components/_charts/chart/buckets/Buckets.js.map +2 -2
- package/dpr/components/_charts/chart/buckets/types.js +16 -1
- package/dpr/components/_charts/chart/buckets/types.js.map +2 -2
- package/dpr/components/_charts/chart/buckets/validate.js +40 -1
- package/dpr/components/_charts/chart/buckets/validate.js.map +2 -2
- package/dpr/components/_charts/chart/chart-config.js +62 -1
- package/dpr/components/_charts/chart/chart-config.js.map +2 -2
- package/dpr/components/_charts/chart/doughnut/DoughnutChart.js +96 -1
- package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +2 -2
- package/dpr/components/_charts/chart/doughnut/types.js +16 -1
- package/dpr/components/_charts/chart/doughnut/types.js.map +2 -2
- package/dpr/components/_charts/chart/doughnut/validate.js +48 -1
- package/dpr/components/_charts/chart/doughnut/validate.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +213 -1
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/types.js +16 -1
- package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/validate.js +40 -1
- package/dpr/components/_charts/chart/heatmap/validate.js.map +2 -2
- package/dpr/components/_charts/chart/line/LineChart.js +107 -1
- package/dpr/components/_charts/chart/line/LineChart.js.map +2 -2
- package/dpr/components/_charts/chart/line/types.js +16 -1
- package/dpr/components/_charts/chart/line/types.js.map +2 -2
- package/dpr/components/_charts/chart/line/validate.js +48 -1
- package/dpr/components/_charts/chart/line/validate.js.map +2 -2
- package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js +81 -1
- package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +2 -2
- package/dpr/components/_charts/chart/line-timeseries/types.js +16 -1
- package/dpr/components/_charts/chart/line-timeseries/types.js.map +2 -2
- package/dpr/components/_charts/chart/line-timeseries/validate.js +48 -1
- package/dpr/components/_charts/chart/line-timeseries/validate.js.map +2 -2
- package/dpr/components/_charts/utils.js +240 -1
- package/dpr/components/_charts/utils.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/types.js +16 -1
- package/dpr/components/_dashboards/dashboard-list/types.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/utils.js +170 -1
- package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/validate.js +43 -1
- package/dpr/components/_dashboards/dashboard-list/validate.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/Validate.js +95 -1
- package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/types.js +40 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/Scorecard.js +176 -1
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/types.js +16 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/utils.js +61 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/validate.js +50 -1
- package/dpr/components/_dashboards/scorecard/validate.js.map +2 -2
- package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js +212 -1
- package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +2 -2
- package/dpr/components/_dashboards/scorecard-group/types.js +16 -1
- package/dpr/components/_dashboards/scorecard-group/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard-group/validate.js +50 -1
- package/dpr/components/_dashboards/scorecard-group/validate.js.map +2 -2
- package/dpr/components/_filters/filter-input/enum.js +38 -1
- package/dpr/components/_filters/filter-input/enum.js.map +2 -2
- package/dpr/components/_filters/filter-input/filters.js +37 -1
- package/dpr/components/_filters/filter-input/filters.js.map +2 -2
- package/dpr/components/_filters/filter-input/types.d.js +16 -1
- package/dpr/components/_filters/filter-input/types.d.js.map +2 -2
- package/dpr/components/_filters/filters-selected/utils.js +314 -1
- package/dpr/components/_filters/filters-selected/utils.js.map +2 -2
- package/dpr/components/_filters/filtersTypeEnum.js +32 -1
- package/dpr/components/_filters/filtersTypeEnum.js.map +2 -2
- package/dpr/components/_filters/types.d.js +16 -1
- package/dpr/components/_filters/types.d.js.map +2 -2
- package/dpr/components/_filters/utils.js +385 -1
- package/dpr/components/_filters/utils.js.map +2 -2
- package/dpr/components/_inputs/autocomplete-text-input/utils.js +45 -1
- package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +2 -2
- package/dpr/components/_inputs/date-input/utils.js +88 -1
- package/dpr/components/_inputs/date-input/utils.js.map +2 -2
- package/dpr/components/_inputs/date-range/types.js +38 -1
- package/dpr/components/_inputs/date-range/types.js.map +2 -2
- package/dpr/components/_inputs/date-range/utils.js +229 -1
- package/dpr/components/_inputs/date-range/utils.js.map +2 -2
- package/dpr/components/_inputs/granular-date-range/types.js +70 -1
- package/dpr/components/_inputs/granular-date-range/types.js.map +2 -2
- package/dpr/components/_inputs/granular-date-range/utils.js +445 -1
- package/dpr/components/_inputs/granular-date-range/utils.js.map +2 -2
- package/dpr/components/_inputs/multi-select/utils.js +88 -1
- package/dpr/components/_inputs/multi-select/utils.js.map +2 -2
- package/dpr/components/_inputs/start-end-date/utils.js +84 -1
- package/dpr/components/_inputs/start-end-date/utils.js.map +2 -2
- package/dpr/components/_reports/report-actions/actionsTemplate.js +59 -1
- package/dpr/components/_reports/report-actions/actionsTemplate.js.map +2 -2
- package/dpr/components/_reports/report-actions/types.d.js +16 -1
- package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
- package/dpr/components/_reports/report-actions/utils.js +97 -1
- package/dpr/components/_reports/report-actions/utils.js.map +2 -2
- package/dpr/components/_reports/report-columns-form/types.d.js +16 -1
- package/dpr/components/_reports/report-columns-form/types.d.js.map +2 -2
- package/dpr/components/_reports/report-columns-form/utils.js +65 -1
- package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
- package/dpr/components/_reports/report-data-table/types.d.js +16 -1
- package/dpr/components/_reports/report-data-table/types.d.js.map +2 -2
- package/dpr/components/_reports/report-data-table/utils.js +122 -1
- package/dpr/components/_reports/report-data-table/utils.js.map +2 -2
- package/dpr/components/_reports/report-pagination/types.d.js +16 -1
- package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
- package/dpr/components/_reports/report-pagination/utils.js +105 -1
- package/dpr/components/_reports/report-pagination/utils.js.map +2 -2
- package/dpr/components/_reports/report-totals/utils.js +42 -1
- package/dpr/components/_reports/report-totals/utils.js.map +2 -2
- package/dpr/components/card-group/utils.js +57 -1
- package/dpr/components/card-group/utils.js.map +2 -2
- package/dpr/components/report-list/defaultTokenProvider.js +36 -1
- package/dpr/components/report-list/defaultTokenProvider.js.map +2 -2
- package/dpr/components/report-list/types.d.js +16 -1
- package/dpr/components/report-list/types.d.js.map +2 -2
- package/dpr/components/report-list/utils.js +238 -1
- package/dpr/components/report-list/utils.js.map +2 -2
- package/dpr/components/show-more/utils.js +38 -3
- package/dpr/components/show-more/utils.js.map +2 -2
- package/dpr/components/user-reports/bookmarks/utils.js +198 -1
- package/dpr/components/user-reports/bookmarks/utils.js.map +2 -2
- package/dpr/components/user-reports/requested/utils.js +65 -1
- package/dpr/components/user-reports/requested/utils.js.map +2 -2
- package/dpr/components/user-reports/types.d.js +16 -1
- package/dpr/components/user-reports/types.d.js.map +2 -2
- package/dpr/components/user-reports/utils.js +365 -1
- package/dpr/components/user-reports/utils.js.map +2 -2
- package/dpr/components/user-reports/viewed/utils.js +37 -1
- package/dpr/components/user-reports/viewed/utils.js.map +2 -2
- package/dpr/data/agentConfig.js +35 -1
- package/dpr/data/agentConfig.js.map +2 -2
- package/dpr/data/dashboardClient.js +108 -1
- package/dpr/data/dashboardClient.js.map +2 -2
- package/dpr/data/dprReportingClient.js +55 -1
- package/dpr/data/dprReportingClient.js.map +2 -2
- package/dpr/data/missingReportClient.js +55 -1
- package/dpr/data/missingReportClient.js.map +2 -2
- package/dpr/data/productCollectionClient.js +58 -1
- package/dpr/data/productCollectionClient.js.map +2 -2
- package/dpr/data/reportDataStore.js +77 -1
- package/dpr/data/reportDataStore.js.map +2 -2
- package/dpr/data/reportingClient.js +173 -1
- package/dpr/data/reportingClient.js.map +2 -2
- package/dpr/data/restClient.js +143 -1
- package/dpr/data/restClient.js.map +2 -2
- package/dpr/data/types.d.js +16 -1
- package/dpr/data/types.d.js.map +2 -2
- package/dpr/middleware/reportAuthoriser.js +63 -1
- package/dpr/middleware/reportAuthoriser.js.map +2 -2
- package/dpr/middleware/setUpDprResources.js +173 -1
- package/dpr/middleware/setUpDprResources.js.map +2 -2
- package/dpr/middleware/setUpNestedRoute.js +35 -1
- package/dpr/middleware/setUpNestedRoute.js.map +2 -2
- package/dpr/routes/index.js +50 -1
- package/dpr/routes/index.js.map +2 -2
- package/dpr/routes/journeys/api-failures.cy.js +295 -1
- package/dpr/routes/journeys/api-failures.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/controller.js +65 -1
- package/dpr/routes/journeys/download-report/controller.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/controller.js +98 -1
- package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/routes.js +50 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +68 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +47 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +17 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +24 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/routes.js +46 -1
- package/dpr/routes/journeys/download-report/request-download/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/service.js +90 -1
- package/dpr/routes/journeys/download-report/request-download/service.js.map +2 -2
- package/dpr/routes/journeys/download-report/routes.js +63 -1
- package/dpr/routes/journeys/download-report/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/tests.cy.js +104 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/utils.js +196 -1
- package/dpr/routes/journeys/download-report/utils.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js +58 -1
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +56 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +47 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +32 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js +49 -1
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/service.js +123 -4
- package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +448 -1
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js +44 -1
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +53 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +65 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +47 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +83 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +49 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js +118 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js +52 -1
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +65 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +47 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +15 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js +49 -1
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/service.js +200 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +2 -2
- package/dpr/routes/journeys/my-reports/routes.js +59 -1
- package/dpr/routes/journeys/my-reports/routes.js.map +2 -2
- package/dpr/routes/journeys/product-collection/routes.js +45 -1
- package/dpr/routes/journeys/product-collection/routes.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/controller.js +55 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/routes.js +37 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js +47 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/validation.js +41 -1
- package/dpr/routes/journeys/product-collection/selected/validation.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/form/controller.js +104 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/form/routes.js +50 -1
- package/dpr/routes/journeys/request-missing-report/form/routes.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +22 -1
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/form/validation.js +43 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/routes.js +57 -1
- package/dpr/routes/journeys/request-missing-report/routes.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js +65 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js +47 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +14 -1
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/tests.cy.js +37 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/controller.js +79 -1
- package/dpr/routes/journeys/request-report/controller.js.map +2 -2
- package/dpr/routes/journeys/request-report/filters/controller.js +127 -1
- package/dpr/routes/journeys/request-report/filters/controller.js.map +2 -2
- package/dpr/routes/journeys/request-report/filters/routes.js +50 -1
- package/dpr/routes/journeys/request-report/filters/routes.js.map +2 -2
- package/dpr/routes/journeys/request-report/filters/tests.cy.js +451 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/filters/utils.js +331 -1
- package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
- package/dpr/routes/journeys/request-report/routes.js +100 -1
- package/dpr/routes/journeys/request-report/routes.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/controller.js +80 -1
- package/dpr/routes/journeys/request-report/status/controller.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/routes.js +48 -1
- package/dpr/routes/journeys/request-report/status/routes.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/tests.cy.js +127 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/utils.js +72 -1
- package/dpr/routes/journeys/request-report/status/utils.js.map +2 -2
- package/dpr/routes/journeys/request-report/tests.cy.js +307 -1
- package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/routes.js +46 -1
- package/dpr/routes/journeys/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/controller.js +89 -1
- package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js +82 -1
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js +48 -1
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +33 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js +242 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/controller.js +83 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js +76 -1
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/routes.js +53 -1
- package/dpr/routes/journeys/view-report/async/report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js +895 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/types.js +16 -1
- package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/utils.js +427 -1
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/routes.js +52 -1
- package/dpr/routes/journeys/view-report/async/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/controller.js +62 -1
- package/dpr/routes/journeys/view-report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/routes.js +87 -1
- package/dpr/routes/journeys/view-report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.js +68 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/dashboard/routes.js +48 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +144 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js +102 -1
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js +47 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/report/controller.js +99 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/report/routes.js +51 -1
- package/dpr/routes/journeys/view-report/sync/report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/report/utils.js +298 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/routes.js +51 -1
- package/dpr/routes/journeys/view-report/sync/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/tests.cy.js +43 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/utils.js +173 -1
- package/dpr/routes/journeys/view-report/utils.js.map +2 -2
- package/dpr/services/dashboardService.js +66 -1
- package/dpr/services/dashboardService.js.map +2 -2
- package/dpr/services/defaultFilterValuesService.js +114 -1
- package/dpr/services/defaultFilterValuesService.js.map +2 -2
- package/dpr/services/featureFlagService.js +65 -1
- package/dpr/services/featureFlagService.js.map +2 -2
- package/dpr/services/featureFlags.cy.js +72 -1
- package/dpr/services/featureFlags.cy.js.map +2 -2
- package/dpr/services/index.js +59 -1
- package/dpr/services/index.js.map +2 -2
- package/dpr/services/missingReport/missingReportService.js +52 -1
- package/dpr/services/missingReport/missingReportService.js.map +2 -2
- package/dpr/services/productCollection/productCollectionService.js +55 -1
- package/dpr/services/productCollection/productCollectionService.js.map +2 -2
- package/dpr/services/productCollection/productCollectionStoreService.js +61 -1
- package/dpr/services/productCollection/productCollectionStoreService.js.map +2 -2
- package/dpr/services/reportStoreService.js +51 -1
- package/dpr/services/reportStoreService.js.map +2 -2
- package/dpr/services/reportingService.js +81 -1
- package/dpr/services/reportingService.js.map +2 -2
- package/dpr/setUpNunjucksFilters.js +66 -1
- package/dpr/setUpNunjucksFilters.js.map +2 -2
- package/dpr/types/AsyncReportUtils.js +16 -1
- package/dpr/types/AsyncReportUtils.js.map +2 -2
- package/dpr/types/Bookmark.js +16 -1
- package/dpr/types/Bookmark.js.map +2 -2
- package/dpr/types/Charts.js +16 -1
- package/dpr/types/Charts.js.map +2 -2
- package/dpr/types/Download.js +16 -1
- package/dpr/types/Download.js.map +2 -2
- package/dpr/types/DprConfig.js +16 -1
- package/dpr/types/DprConfig.js.map +2 -2
- package/dpr/types/DprUser.js +43 -1
- package/dpr/types/DprUser.js.map +2 -2
- package/dpr/types/EmbeddedReportUtils.js +33 -1
- package/dpr/types/EmbeddedReportUtils.js.map +2 -2
- package/dpr/types/ExecutionData.d.js +16 -1
- package/dpr/types/ExecutionData.d.js.map +2 -2
- package/dpr/types/Metrics.js +16 -1
- package/dpr/types/Metrics.js.map +2 -2
- package/dpr/types/ReportQuery.js +168 -1
- package/dpr/types/ReportQuery.js.map +2 -2
- package/dpr/types/ReportStore.js +16 -1
- package/dpr/types/ReportStore.js.map +2 -2
- package/dpr/types/Services.d.js +16 -1
- package/dpr/types/Services.d.js.map +2 -2
- package/dpr/types/Templates.d.js +16 -1
- package/dpr/types/Templates.d.js.map +2 -2
- package/dpr/types/UserReports.js +55 -1
- package/dpr/types/UserReports.js.map +2 -2
- package/dpr/types/api.d.js +16 -1
- package/dpr/types/api.d.js.map +2 -2
- package/dpr/types/index.d.js +16 -1
- package/dpr/types/index.d.js.map +2 -2
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +91 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +2 -2
- package/dpr/utils/CreateDprServices.js +66 -1
- package/dpr/utils/CreateDprServices.js.map +2 -2
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js +304 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +2 -2
- package/dpr/utils/DataTableBuilder/types.d.js +16 -1
- package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/DateMapper/DateMapper.js +125 -1
- package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
- package/dpr/utils/DateMapper/types.d.js +16 -1
- package/dpr/utils/DateMapper/types.d.js.map +2 -2
- package/dpr/utils/ErrorHandler.js +94 -1
- package/dpr/utils/ErrorHandler.js.map +2 -2
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +201 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js +16 -1
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/Personalisation/personalisationUtils.js +202 -1
- package/dpr/utils/Personalisation/personalisationUtils.js.map +2 -2
- package/dpr/utils/Personalisation/types.d.js +16 -1
- package/dpr/utils/Personalisation/types.d.js.map +2 -2
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +310 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
- package/dpr/utils/SectionedDataTableBuilder/types.d.js +16 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +145 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +60 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +2 -2
- package/dpr/utils/UserStoreItemBuilder.js +247 -1
- package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
- package/dpr/utils/arrayUtils.js +28 -1
- package/dpr/utils/arrayUtils.js.map +2 -2
- package/dpr/utils/datasetHelper.js +229 -1
- package/dpr/utils/datasetHelper.js.map +2 -2
- package/dpr/utils/definitionUtils.js +133 -1
- package/dpr/utils/definitionUtils.js.map +2 -2
- package/dpr/utils/index.js +44 -1
- package/dpr/utils/index.js.map +2 -2
- package/dpr/utils/indexedAccesHelper.js +41 -1
- package/dpr/utils/indexedAccesHelper.js.map +2 -2
- package/dpr/utils/localsHelper.js +105 -1
- package/dpr/utils/localsHelper.js.map +2 -2
- package/dpr/utils/logger.js +48 -1
- package/dpr/utils/logger.js.map +2 -2
- package/dpr/utils/reportListsHelper.js +128 -12
- package/dpr/utils/reportListsHelper.js.map +2 -2
- package/dpr/utils/reportStoreHelper.js +65 -1
- package/dpr/utils/reportStoreHelper.js.map +2 -2
- package/dpr/utils/requestStatusHelper.js +172 -1
- package/dpr/utils/requestStatusHelper.js.map +2 -2
- package/dpr/utils/sanitisedError.js +45 -1
- package/dpr/utils/sanitisedError.js.map +2 -2
- package/dpr/utils/urlHelper.js +103 -1
- package/dpr/utils/urlHelper.js.map +2 -2
- package/dpr/validation/validate.js +52 -1
- package/dpr/validation/validate.js.map +2 -2
- package/package.json +1 -1
|
@@ -1,2 +1,174 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var utils_exports = {};
|
|
30
|
+
__export(utils_exports, {
|
|
31
|
+
applyDashboardInteractiveQuery: () => applyDashboardInteractiveQuery,
|
|
32
|
+
applyReportInteractiveQuery: () => applyReportInteractiveQuery,
|
|
33
|
+
default: () => utils_default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(utils_exports);
|
|
36
|
+
var import_enum = require("../../../components/_filters/filter-input/enum");
|
|
37
|
+
var import_localsHelper = __toESM(require("../../../utils/localsHelper"));
|
|
38
|
+
var import_definitionUtils = __toESM(require("../../../utils/definitionUtils"));
|
|
39
|
+
var import_DateMapper = __toESM(require("../../../utils/DateMapper/DateMapper"));
|
|
40
|
+
var import_utils = __toESM(require("../../../components/_reports/report-columns-form/utils"));
|
|
41
|
+
const applyReportInteractiveQuery = async (req, res, services, applyType) => {
|
|
42
|
+
const { reportId, id } = req.params;
|
|
43
|
+
const { token, definitionsPath } = import_localsHelper.default.getValues(res);
|
|
44
|
+
const definition = await services.reportingService.getDefinition(token, reportId, id, definitionsPath);
|
|
45
|
+
const fields = definition.variant.specification?.fields || [];
|
|
46
|
+
return applyInteractiveQuery(req, res, services, applyType, fields);
|
|
47
|
+
};
|
|
48
|
+
const applyDashboardInteractiveQuery = async (req, res, services, applyType) => {
|
|
49
|
+
const { reportId, id } = req.params;
|
|
50
|
+
const { token, definitionsPath } = import_localsHelper.default.getValues(res);
|
|
51
|
+
const definition = await services.dashboardService.getDefinition(
|
|
52
|
+
token,
|
|
53
|
+
reportId,
|
|
54
|
+
id,
|
|
55
|
+
definitionsPath
|
|
56
|
+
);
|
|
57
|
+
const fields = definition.filterFields || [];
|
|
58
|
+
return applyInteractiveQuery(req, res, services, applyType, fields);
|
|
59
|
+
};
|
|
60
|
+
const applyInteractiveQuery = async (req, res, services, applyType, fields) => {
|
|
61
|
+
const { tableId, id } = req.params;
|
|
62
|
+
const { dprUser } = import_localsHelper.default.getValues(res);
|
|
63
|
+
let reportStateData;
|
|
64
|
+
if (tableId) {
|
|
65
|
+
reportStateData = await services.recentlyViewedService?.getReportByTableId(tableId, dprUser.id);
|
|
66
|
+
} else {
|
|
67
|
+
reportStateData = await services.recentlyViewedService?.getReportById(id, dprUser.id);
|
|
68
|
+
}
|
|
69
|
+
const interactiveQueryData = reportStateData?.interactiveQuery?.data;
|
|
70
|
+
const preventDefault = interactiveQueryData?.["preventDefault"];
|
|
71
|
+
const pageSize = interactiveQueryData?.["pageSize"];
|
|
72
|
+
const selectedPage = applyType === "columns" ? interactiveQueryData?.["selectedPage"] : 1;
|
|
73
|
+
const sortColumn = interactiveQueryData?.["sortColumn"];
|
|
74
|
+
const sortedAsc = interactiveQueryData?.["sortedAsc"];
|
|
75
|
+
let filters = {};
|
|
76
|
+
if (interactiveQueryData) {
|
|
77
|
+
filters = Object.keys(interactiveQueryData).filter((key) => key.includes("filters.")).reduce((acc, key) => ({ ...acc, [key]: interactiveQueryData[key] }), {});
|
|
78
|
+
}
|
|
79
|
+
let formData = {
|
|
80
|
+
...preventDefault && { preventDefault },
|
|
81
|
+
...selectedPage && { selectedPage },
|
|
82
|
+
...pageSize && { pageSize },
|
|
83
|
+
...sortColumn && { sortColumn },
|
|
84
|
+
...sortedAsc && { sortedAsc },
|
|
85
|
+
...req.body
|
|
86
|
+
};
|
|
87
|
+
if (applyType === "columns") {
|
|
88
|
+
const { columns } = req.body;
|
|
89
|
+
const mandatoryCols = import_utils.default.mandatoryColumns(fields);
|
|
90
|
+
let bodyColumns = [];
|
|
91
|
+
if (columns) {
|
|
92
|
+
bodyColumns = Array.isArray(columns) ? columns : [columns];
|
|
93
|
+
}
|
|
94
|
+
const columnsData = [...mandatoryCols, ...bodyColumns];
|
|
95
|
+
formData = { ...formData, columns: columnsData, ...filters };
|
|
96
|
+
} else {
|
|
97
|
+
const columns = interactiveQueryData?.["columns"] || [];
|
|
98
|
+
formData = { ...formData, columns };
|
|
99
|
+
}
|
|
100
|
+
const filtersString = createQueryParamsFromFormData({
|
|
101
|
+
formData,
|
|
102
|
+
fields
|
|
103
|
+
});
|
|
104
|
+
res.redirect(`${req.baseUrl}?${filtersString}`);
|
|
105
|
+
};
|
|
106
|
+
const createQueryParamsFromFormData = ({
|
|
107
|
+
formData,
|
|
108
|
+
fields
|
|
109
|
+
}) => {
|
|
110
|
+
const params = new URLSearchParams();
|
|
111
|
+
Object.keys(formData).forEach((key) => {
|
|
112
|
+
const value = formData[key];
|
|
113
|
+
if (value && key !== "_csrf") {
|
|
114
|
+
const fieldId = key.split(".")[1];
|
|
115
|
+
if (fieldId) {
|
|
116
|
+
const filter = import_definitionUtils.default.getFilter(fields, fieldId);
|
|
117
|
+
if (filter) {
|
|
118
|
+
const { type: filterType } = filter;
|
|
119
|
+
switch (filterType.toLocaleLowerCase()) {
|
|
120
|
+
// DATE RANGE TYPES
|
|
121
|
+
case import_enum.FilterType.date.toLocaleLowerCase():
|
|
122
|
+
case import_enum.FilterType.dateRange.toLocaleLowerCase():
|
|
123
|
+
case import_enum.FilterType.granularDateRange.toLocaleLowerCase():
|
|
124
|
+
{
|
|
125
|
+
let dateValue = value;
|
|
126
|
+
const dateMapper = new import_DateMapper.default();
|
|
127
|
+
const currentDateFormat = dateMapper.getDateType(dateValue);
|
|
128
|
+
if (currentDateFormat !== "none") {
|
|
129
|
+
dateValue = dateMapper.toDateString(dateValue, "iso") || "";
|
|
130
|
+
}
|
|
131
|
+
if (dateValue) {
|
|
132
|
+
params.append(key, dateValue);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
break;
|
|
136
|
+
// MULTIVALUE TYPES: string[] || string if only one value selected
|
|
137
|
+
case import_enum.FilterType.multiselect.toLocaleLowerCase():
|
|
138
|
+
if (Array.isArray(value)) {
|
|
139
|
+
const multiselectValue = value;
|
|
140
|
+
multiselectValue.forEach((v) => {
|
|
141
|
+
params.append(key, v);
|
|
142
|
+
});
|
|
143
|
+
} else {
|
|
144
|
+
params.append(key, value);
|
|
145
|
+
}
|
|
146
|
+
break;
|
|
147
|
+
// OTHER TYPES - always a string
|
|
148
|
+
default:
|
|
149
|
+
params.append(key, value);
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
} else if (Array.isArray(value)) {
|
|
154
|
+
value.forEach((v) => {
|
|
155
|
+
params.append(key, v);
|
|
156
|
+
});
|
|
157
|
+
} else {
|
|
158
|
+
params.append(key, value);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
const encodedFilters = params.toString();
|
|
163
|
+
return decodeURIComponent(encodedFilters);
|
|
164
|
+
};
|
|
165
|
+
var utils_default = {
|
|
166
|
+
applyDashboardInteractiveQuery,
|
|
167
|
+
applyReportInteractiveQuery
|
|
168
|
+
};
|
|
169
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
170
|
+
0 && (module.exports = {
|
|
171
|
+
applyDashboardInteractiveQuery,
|
|
172
|
+
applyReportInteractiveQuery
|
|
173
|
+
});
|
|
2
174
|
//# sourceMappingURL=utils.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/routes/journeys/view-report/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { Request, Response } from 'express'\nimport { FilterType } from '../../../components/_filters/filter-input/enum'\nimport { components } from '../../../types/api'\nimport { StoredReportData } from '../../../types/UserReports'\nimport { Services } from '../../../types/Services'\nimport LocalsHelper from '../../../utils/localsHelper'\nimport definitionUtils from '../../../utils/definitionUtils'\nimport DateMapper from '../../../utils/DateMapper/DateMapper'\nimport ColumnsUtils from '../../../components/_reports/report-columns-form/utils'\n\nexport const applyReportInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n) => {\n const { reportId, id } = req.params\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n\n // Get the definition\n const definition: components['schemas']['SingleVariantReportDefinition'] =\n await services.reportingService.getDefinition(token, reportId, id, definitionsPath)\n const fields = definition.variant.specification?.fields || []\n\n return applyInteractiveQuery(req, res, services, applyType, fields)\n}\n\nexport const applyDashboardInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n) => {\n const { reportId, id } = req.params\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n\n // Get the definition\n const definition: components['schemas']['DashboardDefinition'] = await services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n definitionsPath,\n )\n const fields = definition.filterFields || []\n\n return applyInteractiveQuery(req, res, services, applyType, fields)\n}\n\nconst applyInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n fields: components['schemas']['FieldDefinition'][],\n) => {\n const { tableId, id } = req.params\n const { dprUser } = LocalsHelper.getValues(res)\n\n // get the report state\n let reportStateData: StoredReportData | undefined\n if (tableId) {\n // means its an async report\n reportStateData = await services.recentlyViewedService?.getReportByTableId(tableId, dprUser.id)\n } else {\n // its a sync report and can be indentified by ID as will always only be 1\n reportStateData = await services.recentlyViewedService?.getReportById(id, dprUser.id)\n }\n\n // Get the stored interactive query data\n const interactiveQueryData = reportStateData?.interactiveQuery?.data\n\n const preventDefault = interactiveQueryData?.['preventDefault']\n const pageSize = interactiveQueryData?.['pageSize']\n const selectedPage = applyType === 'columns' ? interactiveQueryData?.['selectedPage'] : 1\n const sortColumn = interactiveQueryData?.['sortColumn']\n const sortedAsc = interactiveQueryData?.['sortedAsc']\n\n let filters = {}\n if (interactiveQueryData) {\n filters = Object.keys(interactiveQueryData)\n .filter((key) => key.includes('filters.'))\n .reduce((acc, key) => ({ ...acc, [key]: interactiveQueryData[key] }), {})\n }\n\n // Create merged form data\n let formData: Record<string, string | string[]> = {\n ...(preventDefault && { preventDefault }),\n ...(selectedPage && { selectedPage }),\n ...(pageSize && { pageSize }),\n ...(sortColumn && { sortColumn }),\n ...(sortedAsc && { sortedAsc }),\n ...req.body,\n }\n\n if (applyType === 'columns') {\n const { columns } = req.body\n const mandatoryCols = ColumnsUtils.mandatoryColumns(fields)\n\n let bodyColumns = []\n if (columns) {\n bodyColumns = Array.isArray(columns) ? columns : [columns]\n }\n const columnsData = [...mandatoryCols, ...bodyColumns]\n formData = { ...formData, columns: columnsData, ...filters }\n } else {\n const columns = interactiveQueryData?.['columns'] || []\n formData = { ...formData, columns }\n }\n\n // Create query string\n const filtersString = createQueryParamsFromFormData({\n formData,\n fields,\n })\n\n // Redirect back to report\n res.redirect(`${req.baseUrl}?${filtersString}`)\n}\n\nconst createQueryParamsFromFormData = ({\n formData,\n fields,\n}: {\n fields: components['schemas']['FieldDefinition'][]\n formData: Record<string, string | string[]>\n}) => {\n // create the query string\n const params = new URLSearchParams()\n Object.keys(formData).forEach((key) => {\n const value = formData[key]\n\n if (value && key !== '_csrf') {\n const fieldId = key.split('.')[1] // filters are prefixed with 'filters.'\n if (fieldId) {\n const filter = definitionUtils.getFilter(fields, fieldId)\n if (filter) {\n const { type: filterType } = filter\n switch (filterType.toLocaleLowerCase()) {\n // DATE RANGE TYPES\n case FilterType.date.toLocaleLowerCase():\n case FilterType.dateRange.toLocaleLowerCase():\n case FilterType.granularDateRange.toLocaleLowerCase():\n {\n let dateValue: string = <string>value\n const dateMapper = new DateMapper()\n const currentDateFormat = dateMapper.getDateType(dateValue)\n if (currentDateFormat !== 'none') {\n dateValue = dateMapper.toDateString(dateValue, 'iso') || ''\n }\n if (dateValue) {\n params.append(key, dateValue)\n }\n }\n break\n\n // MULTIVALUE TYPES: string[] || string if only one value selected\n case FilterType.multiselect.toLocaleLowerCase():\n if (Array.isArray(value)) {\n const multiselectValue = <string[]>value\n multiselectValue.forEach((v: string) => {\n params.append(key, v)\n })\n } else {\n params.append(key, <string>value)\n }\n break\n\n // OTHER TYPES - always a string\n default:\n params.append(key, <string>value)\n break\n }\n }\n } else if (Array.isArray(value)) {\n value.forEach((v: string) => {\n params.append(key, v)\n })\n } else {\n params.append(key, value)\n }\n }\n })\n\n const encodedFilters = params.toString()\n return decodeURIComponent(encodedFilters)\n}\n\nexport default {\n applyDashboardInteractiveQuery,\n applyReportInteractiveQuery,\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["LocalsHelper", "ColumnsUtils", "definitionUtils", "DateMapper"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,67 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var dashboardService_exports = {};
|
|
20
|
+
__export(dashboardService_exports, {
|
|
21
|
+
DashboardService: () => DashboardService,
|
|
22
|
+
default: () => dashboardService_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(dashboardService_exports);
|
|
25
|
+
class DashboardService {
|
|
26
|
+
constructor(dashboardClient) {
|
|
27
|
+
this.dashboardClient = dashboardClient;
|
|
28
|
+
this.dashboardClient = dashboardClient;
|
|
29
|
+
}
|
|
30
|
+
async getDefinition(token, dpdId, id, dataProductDefinitionsPath, query) {
|
|
31
|
+
return this.dashboardClient.getDefinition(token, id, dpdId, dataProductDefinitionsPath, query);
|
|
32
|
+
}
|
|
33
|
+
async requestAsyncDashboard(token, reportId, dashboardId, query) {
|
|
34
|
+
return this.dashboardClient.requestAsyncDashboard(token, reportId, dashboardId, query);
|
|
35
|
+
}
|
|
36
|
+
async cancelAsyncRequest(token, reportId, dashboardId, executionId, dataProductDefinitionsPath) {
|
|
37
|
+
return this.dashboardClient.cancelAsyncRequest(
|
|
38
|
+
token,
|
|
39
|
+
reportId,
|
|
40
|
+
dashboardId,
|
|
41
|
+
executionId,
|
|
42
|
+
dataProductDefinitionsPath
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
async getAsyncStatus(token, reportId, dashboardId, executionId, tableId, dataProductDefinitionsPath) {
|
|
46
|
+
return this.dashboardClient.getAsyncStatus(
|
|
47
|
+
token,
|
|
48
|
+
reportId,
|
|
49
|
+
dashboardId,
|
|
50
|
+
executionId,
|
|
51
|
+
tableId,
|
|
52
|
+
dataProductDefinitionsPath
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
async getAsyncDashboard(token, dashboardId, reportId, tableId, query) {
|
|
56
|
+
return this.dashboardClient.getAsyncDashboard(token, reportId, dashboardId, tableId, query);
|
|
57
|
+
}
|
|
58
|
+
async getSyncDashboard(token, dashboardId, reportId, query) {
|
|
59
|
+
return this.dashboardClient.getSyncDashboard(token, reportId, dashboardId, query);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
var dashboardService_default = DashboardService;
|
|
63
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
64
|
+
0 && (module.exports = {
|
|
65
|
+
DashboardService
|
|
66
|
+
});
|
|
2
67
|
//# sourceMappingURL=dashboardService.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/dpr/services/dashboardService.ts"],
|
|
4
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": "
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,iBAAiB;AAAA,EACrB,YAA6B,iBAAkC;AAAlC;AAC3B,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEA,MAAM,cACJ,OACA,OACA,IACA,4BACA,OACuD;AACvD,WAAO,KAAK,gBAAgB,cAAc,OAAO,IAAI,OAAO,4BAA4B,KAAK;AAAA,EAC/F;AAAA,EAEA,MAAM,sBACJ,OACA,UACA,aACA,OACuB;AACvB,WAAO,KAAK,gBAAgB,sBAAsB,OAAO,UAAU,aAAa,KAAK;AAAA,EACvF;AAAA,EAEA,MAAM,mBACJ,OACA,UACA,aACA,aACA,4BACuB;AACvB,WAAO,KAAK,gBAAgB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,OACA,UACA,aACA,aACA,SACA,4BAC4D;AAC5D,WAAO,KAAK,gBAAgB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,kBACJ,OACA,aACA,UACA,SACA,OACoC;AACpC,WAAO,KAAK,gBAAgB,kBAAkB,OAAO,UAAU,aAAa,SAAS,KAAK;AAAA,EAC5F;AAAA,EAEA,MAAM,iBACJ,OACA,aACA,UACA,OACA;AACA,WAAO,KAAK,gBAAgB,iBAAiB,OAAO,UAAU,aAAa,KAAK;AAAA,EAClF;AACF;AAGA,IAAO,2BAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,115 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var defaultFilterValuesService_exports = {};
|
|
30
|
+
__export(defaultFilterValuesService_exports, {
|
|
31
|
+
DefaultFilterValuesService: () => DefaultFilterValuesService,
|
|
32
|
+
default: () => defaultFilterValuesService_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(defaultFilterValuesService_exports);
|
|
35
|
+
var import_reportStoreService = __toESM(require("./reportStoreService"));
|
|
36
|
+
var import_filtersTypeEnum = require("../components/_filters/filtersTypeEnum");
|
|
37
|
+
var import_logger = __toESM(require("../utils/logger"));
|
|
38
|
+
class DefaultFilterValuesService extends import_reportStoreService.default {
|
|
39
|
+
enabled;
|
|
40
|
+
constructor(reportDataStore, serviceFeatureConfig) {
|
|
41
|
+
super(reportDataStore);
|
|
42
|
+
this.enabled = Boolean(serviceFeatureConfig.saveDefaults);
|
|
43
|
+
if (!this.enabled) import_logger.default.info(`saveDefaultsFilters: disabled`);
|
|
44
|
+
}
|
|
45
|
+
async init(userConfig, userId) {
|
|
46
|
+
if (!this.enabled) return;
|
|
47
|
+
if (!userConfig.defaultFilters) {
|
|
48
|
+
userConfig.defaultFilters = [];
|
|
49
|
+
await this.saveState(userId, userConfig);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async save(userId, reportId, id, values) {
|
|
53
|
+
if (!this.enabled) return;
|
|
54
|
+
const userConfig = await this.getState(userId);
|
|
55
|
+
await this.init(userConfig, userId);
|
|
56
|
+
const defaults = {
|
|
57
|
+
reportId,
|
|
58
|
+
id,
|
|
59
|
+
values
|
|
60
|
+
};
|
|
61
|
+
const defaultValuesIndex = await this.getIndex(userId, reportId, id);
|
|
62
|
+
if (userConfig.defaultFilters !== void 0) {
|
|
63
|
+
if (defaultValuesIndex === -1) {
|
|
64
|
+
userConfig.defaultFilters.push(defaults);
|
|
65
|
+
} else if (typeof defaultValuesIndex === "number") {
|
|
66
|
+
userConfig.defaultFilters[defaultValuesIndex] = defaults;
|
|
67
|
+
}
|
|
68
|
+
await this.saveState(userId, userConfig);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async get(userId, reportId, id, filtersType) {
|
|
72
|
+
if (!this.enabled) return [];
|
|
73
|
+
const userConfig = await this.getState(userId);
|
|
74
|
+
const defaultConfig = userConfig.defaultFilters?.find((defaultFilter) => {
|
|
75
|
+
return defaultFilter.id === id && defaultFilter.reportId === reportId;
|
|
76
|
+
});
|
|
77
|
+
if (!defaultConfig) {
|
|
78
|
+
return void 0;
|
|
79
|
+
}
|
|
80
|
+
return defaultConfig.values.filter((v) => {
|
|
81
|
+
const type = !v.type ? import_filtersTypeEnum.FiltersType.REQUEST : v.type;
|
|
82
|
+
return filtersType === type;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
async getIndex(userId, reportId, id) {
|
|
86
|
+
const userConfig = await this.getState(userId);
|
|
87
|
+
return userConfig.defaultFilters?.findIndex((defaultFilter) => {
|
|
88
|
+
return defaultFilter.id === id && defaultFilter.reportId === reportId;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async delete(userId, reportId, id, type) {
|
|
92
|
+
if (!this.enabled) return;
|
|
93
|
+
const userConfig = await this.getState(userId);
|
|
94
|
+
const index = await this.getIndex(userId, reportId, id);
|
|
95
|
+
if (index !== void 0 && index !== -1 && userConfig.defaultFilters) {
|
|
96
|
+
const defaults = userConfig.defaultFilters[index];
|
|
97
|
+
if (defaults.values.length > 0) {
|
|
98
|
+
const updatedValues = defaults.values.filter((value) => {
|
|
99
|
+
const filtersType = !value.type ? import_filtersTypeEnum.FiltersType.REQUEST : value.type;
|
|
100
|
+
return filtersType !== type;
|
|
101
|
+
});
|
|
102
|
+
userConfig.defaultFilters[index].values = updatedValues;
|
|
103
|
+
} else {
|
|
104
|
+
userConfig.defaultFilters.splice(index, 1);
|
|
105
|
+
}
|
|
106
|
+
await this.saveState(userId, userConfig);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
var defaultFilterValuesService_default = DefaultFilterValuesService;
|
|
111
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
112
|
+
0 && (module.exports = {
|
|
113
|
+
DefaultFilterValuesService
|
|
114
|
+
});
|
|
2
115
|
//# sourceMappingURL=defaultFilterValuesService.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/dpr/services/defaultFilterValuesService.ts"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport ReportStoreService from './reportStoreService'\nimport ReportDataStore from '../data/reportDataStore'\nimport { ReportStoreConfig } from '../types/ReportStore'\nimport { defaultFilterValue } from '../utils/Personalisation/types'\nimport { FiltersType } from '../components/_filters/filtersTypeEnum'\nimport { ServiceFeatureConfig } from '../types/DprConfig'\nimport logger from '../utils/logger'\n\nclass DefaultFilterValuesService extends ReportStoreService {\n enabled: boolean\n\n constructor(reportDataStore: ReportDataStore, serviceFeatureConfig: ServiceFeatureConfig) {\n super(reportDataStore)\n this.enabled = Boolean(serviceFeatureConfig.saveDefaults)\n if (!this.enabled) logger.info(`saveDefaultsFilters: disabled`)\n }\n\n async init(userConfig: ReportStoreConfig, userId: string): Promise<void> {\n if (!this.enabled) return\n\n if (!userConfig.defaultFilters) {\n userConfig.defaultFilters = []\n await this.saveState(userId, userConfig)\n }\n }\n\n async save(userId: string, reportId: string, id: string, values: defaultFilterValue[]): Promise<void> {\n if (!this.enabled) return\n\n const userConfig = await this.getState(userId)\n await this.init(userConfig, userId)\n\n const defaults = {\n reportId,\n id,\n values,\n }\n\n const defaultValuesIndex = await this.getIndex(userId, reportId, id)\n if (userConfig.defaultFilters !== undefined) {\n if (defaultValuesIndex === -1) {\n userConfig.defaultFilters.push(defaults)\n } else if (typeof defaultValuesIndex === 'number') {\n userConfig.defaultFilters[defaultValuesIndex] = defaults\n }\n await this.saveState(userId, userConfig)\n }\n }\n\n async get(\n userId: string,\n reportId: string,\n id: string,\n filtersType: FiltersType,\n ): Promise<defaultFilterValue[] | undefined> {\n if (!this.enabled) return []\n\n const userConfig = await this.getState(userId)\n const defaultConfig = userConfig.defaultFilters?.find((defaultFilter) => {\n return defaultFilter.id === id && defaultFilter.reportId === reportId\n })\n if (!defaultConfig) {\n return undefined\n }\n return defaultConfig.values.filter((v) => {\n const type = !v.type ? FiltersType.REQUEST : v.type\n return filtersType === type\n })\n }\n\n private async getIndex(userId: string, reportId: string, id: string) {\n const userConfig = await this.getState(userId)\n return userConfig.defaultFilters?.findIndex((defaultFilter) => {\n return defaultFilter.id === id && defaultFilter.reportId === reportId\n })\n }\n\n async delete(userId: string, reportId: string, id: string, type: FiltersType): Promise<void> {\n if (!this.enabled) return\n\n const userConfig = await this.getState(userId)\n const index = await this.getIndex(userId, reportId, id)\n if (index !== undefined && index !== -1 && userConfig.defaultFilters) {\n const defaults = userConfig.defaultFilters[index]\n if (defaults.values.length > 0) {\n const updatedValues = defaults.values.filter((value) => {\n const filtersType = !value.type ? FiltersType.REQUEST : value.type\n return filtersType !== type\n })\n userConfig.defaultFilters[index].values = updatedValues\n } else {\n userConfig.defaultFilters.splice(index, 1)\n }\n await this.saveState(userId, userConfig)\n }\n }\n}\n\nexport { DefaultFilterValuesService }\nexport default DefaultFilterValuesService\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gCAA+B;AAI/B,6BAA4B;AAE5B,oBAAmB;AAEnB,MAAM,mCAAmC,0BAAAA,QAAmB;AAAA,EAC1D;AAAA,EAEA,YAAY,iBAAkC,sBAA4C;AACxF,UAAM,eAAe;AACrB,SAAK,UAAU,QAAQ,qBAAqB,YAAY;AACxD,QAAI,CAAC,KAAK,QAAS,eAAAC,QAAO,KAAK,+BAA+B;AAAA,EAChE;AAAA,EAEA,MAAM,KAAK,YAA+B,QAA+B;AACvE,QAAI,CAAC,KAAK,QAAS;AAEnB,QAAI,CAAC,WAAW,gBAAgB;AAC9B,iBAAW,iBAAiB,CAAC;AAC7B,YAAM,KAAK,UAAU,QAAQ,UAAU;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,MAAM,KAAK,QAAgB,UAAkB,IAAY,QAA6C;AACpG,QAAI,CAAC,KAAK,QAAS;AAEnB,UAAM,aAAa,MAAM,KAAK,SAAS,MAAM;AAC7C,UAAM,KAAK,KAAK,YAAY,MAAM;AAElC,UAAM,WAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,qBAAqB,MAAM,KAAK,SAAS,QAAQ,UAAU,EAAE;AACnE,QAAI,WAAW,mBAAmB,QAAW;AAC3C,UAAI,uBAAuB,IAAI;AAC7B,mBAAW,eAAe,KAAK,QAAQ;AAAA,MACzC,WAAW,OAAO,uBAAuB,UAAU;AACjD,mBAAW,eAAe,kBAAkB,IAAI;AAAA,MAClD;AACA,YAAM,KAAK,UAAU,QAAQ,UAAU;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,MAAM,IACJ,QACA,UACA,IACA,aAC2C;AAC3C,QAAI,CAAC,KAAK,QAAS,QAAO,CAAC;AAE3B,UAAM,aAAa,MAAM,KAAK,SAAS,MAAM;AAC7C,UAAM,gBAAgB,WAAW,gBAAgB,KAAK,CAAC,kBAAkB;AACvE,aAAO,cAAc,OAAO,MAAM,cAAc,aAAa;AAAA,IAC/D,CAAC;AACD,QAAI,CAAC,eAAe;AAClB,aAAO;AAAA,IACT;AACA,WAAO,cAAc,OAAO,OAAO,CAAC,MAAM;AACxC,YAAM,OAAO,CAAC,EAAE,OAAO,mCAAY,UAAU,EAAE;AAC/C,aAAO,gBAAgB;AAAA,IACzB,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,SAAS,QAAgB,UAAkB,IAAY;AACnE,UAAM,aAAa,MAAM,KAAK,SAAS,MAAM;AAC7C,WAAO,WAAW,gBAAgB,UAAU,CAAC,kBAAkB;AAC7D,aAAO,cAAc,OAAO,MAAM,cAAc,aAAa;AAAA,IAC/D,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,OAAO,QAAgB,UAAkB,IAAY,MAAkC;AAC3F,QAAI,CAAC,KAAK,QAAS;AAEnB,UAAM,aAAa,MAAM,KAAK,SAAS,MAAM;AAC7C,UAAM,QAAQ,MAAM,KAAK,SAAS,QAAQ,UAAU,EAAE;AACtD,QAAI,UAAU,UAAa,UAAU,MAAM,WAAW,gBAAgB;AACpE,YAAM,WAAW,WAAW,eAAe,KAAK;AAChD,UAAI,SAAS,OAAO,SAAS,GAAG;AAC9B,cAAM,gBAAgB,SAAS,OAAO,OAAO,CAAC,UAAU;AACtD,gBAAM,cAAc,CAAC,MAAM,OAAO,mCAAY,UAAU,MAAM;AAC9D,iBAAO,gBAAgB;AAAA,QACzB,CAAC;AACD,mBAAW,eAAe,KAAK,EAAE,SAAS;AAAA,MAC5C,OAAO;AACL,mBAAW,eAAe,OAAO,OAAO,CAAC;AAAA,MAC3C;AACA,YAAM,KAAK,UAAU,QAAQ,UAAU;AAAA,IACzC;AAAA,EACF;AACF;AAGA,IAAO,qCAAQ;",
|
|
6
|
+
"names": ["ReportStoreService", "logger"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,66 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var featureFlagService_exports = {};
|
|
20
|
+
__export(featureFlagService_exports, {
|
|
21
|
+
FeatureFlagService: () => FeatureFlagService,
|
|
22
|
+
isBooleanFlagEnabled: () => isBooleanFlagEnabled
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(featureFlagService_exports);
|
|
25
|
+
var import_flipt = require("@flipt-io/flipt");
|
|
26
|
+
class FeatureFlagService {
|
|
27
|
+
restClient;
|
|
28
|
+
namespace;
|
|
29
|
+
constructor(config = {}) {
|
|
30
|
+
const { namespace, token, url } = config && config;
|
|
31
|
+
if (Object.keys(config).length !== 3 || !namespace || !token || !url) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.restClient = new import_flipt.FliptClient({
|
|
35
|
+
headers: {
|
|
36
|
+
Authorization: `Bearer ${token}`,
|
|
37
|
+
"Content-Type": "application/json"
|
|
38
|
+
},
|
|
39
|
+
url
|
|
40
|
+
});
|
|
41
|
+
this.namespace = namespace;
|
|
42
|
+
}
|
|
43
|
+
async getFlags() {
|
|
44
|
+
if (!this.restClient || !this.namespace) {
|
|
45
|
+
return {
|
|
46
|
+
flags: [],
|
|
47
|
+
nextPageToken: "",
|
|
48
|
+
totalCount: 0
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return this.restClient.flags.listFlags(this.namespace);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const isBooleanFlagEnabled = (flagName, app) => {
|
|
55
|
+
const flag = app.locals.featureFlags?.flags?.[flagName];
|
|
56
|
+
if (flag && flag.type !== "BOOLEAN_FLAG_TYPE") {
|
|
57
|
+
throw Error("Tried to validate whether a non-boolean flag was enabled");
|
|
58
|
+
}
|
|
59
|
+
return !flag || flag.enabled;
|
|
60
|
+
};
|
|
61
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
62
|
+
0 && (module.exports = {
|
|
63
|
+
FeatureFlagService,
|
|
64
|
+
isBooleanFlagEnabled
|
|
65
|
+
});
|
|
2
66
|
//# sourceMappingURL=featureFlagService.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/dpr/services/featureFlagService.ts"],
|
|
4
4
|
"sourcesContent": ["import { FliptClient, ListFlagsResponse } from '@flipt-io/flipt'\nimport { Application } from 'express'\nimport { FeatureFlagConfig } from '../data/types'\n\nexport class FeatureFlagService {\n restClient: FliptClient | undefined\n\n namespace: string | undefined\n\n constructor(config: FeatureFlagConfig | Record<string, unknown> = {}) {\n const { namespace, token, url } = config && (config as FeatureFlagConfig)\n if (Object.keys(config).length !== 3 || !namespace || !token || !url) {\n return\n }\n this.restClient = new FliptClient({\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n url,\n })\n this.namespace = namespace\n }\n\n async getFlags(): Promise<ListFlagsResponse> {\n if (!this.restClient || !this.namespace) {\n return {\n flags: [],\n nextPageToken: '',\n totalCount: 0,\n }\n }\n return this.restClient.flags.listFlags(this.namespace)\n }\n}\n\nexport const isBooleanFlagEnabled = (flagName: string, app: Application): boolean => {\n const flag = app.locals.featureFlags?.flags?.[flagName]\n if (flag && flag.type !== 'BOOLEAN_FLAG_TYPE') {\n throw Error('Tried to validate whether a non-boolean flag was enabled')\n }\n return !flag || flag.enabled\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+C;AAIxC,MAAM,mBAAmB;AAAA,EAC9B;AAAA,EAEA;AAAA,EAEA,YAAY,SAAsD,CAAC,GAAG;AACpE,UAAM,EAAE,WAAW,OAAO,IAAI,IAAI,UAAW;AAC7C,QAAI,OAAO,KAAK,MAAM,EAAE,WAAW,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK;AACpE;AAAA,IACF;AACA,SAAK,aAAa,IAAI,yBAAY;AAAA,MAChC,SAAS;AAAA,QACP,eAAe,UAAU,KAAK;AAAA,QAC9B,gBAAgB;AAAA,MAClB;AAAA,MACA;AAAA,IACF,CAAC;AACD,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,MAAM,WAAuC;AAC3C,QAAI,CAAC,KAAK,cAAc,CAAC,KAAK,WAAW;AACvC,aAAO;AAAA,QACL,OAAO,CAAC;AAAA,QACR,eAAe;AAAA,QACf,YAAY;AAAA,MACd;AAAA,IACF;AACA,WAAO,KAAK,WAAW,MAAM,UAAU,KAAK,SAAS;AAAA,EACvD;AACF;AAEO,MAAM,uBAAuB,CAAC,UAAkB,QAA8B;AACnF,QAAM,OAAO,IAAI,OAAO,cAAc,QAAQ,QAAQ;AACtD,MAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,UAAM,MAAM,0DAA0D;AAAA,EACxE;AACA,SAAO,CAAC,QAAQ,KAAK;AACvB;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|