UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

78 lines (77 loc) 3.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable no-param-reassign */ const requestedReportService_1 = __importDefault(require("../services/requestedReportService")); const recentlyViewedService_1 = __importDefault(require("../services/recentlyViewedService")); const bookmarkService_1 = __importDefault(require("../services/bookmarkService")); const downloadPermissionService_1 = __importDefault(require("../services/downloadPermissionService")); const reportingService_1 = __importDefault(require("../services/reportingService")); const dashboardService_1 = __importDefault(require("../services/dashboardService")); const logger_1 = __importDefault(require("./logger")); const createDprServices = (clients, reportStoreConfig = {}) => { logger_1.default.info('Creating DPR services...'); const { reportingClient, dashboardClient, reportDataStore } = clients; let services = {}; if (reportingClient) { services = createReportingService(services, reportingClient); } if (dashboardClient) { services = createDashboardService(services, dashboardClient); } if (reportDataStore) { services = createReportStoreServices(reportDataStore, services, reportStoreConfig); } return services; }; const createReportingService = (services, client) => { services = { ...services, reportingService: new reportingService_1.default(client), }; return services; }; const createDashboardService = (services, client) => { services = { ...services, dashboardService: new dashboardService_1.default(client), }; return services; }; const createReportStoreServices = (reportDataStore, services, config = {}) => { services = { ...services, requestedReportService: new requestedReportService_1.default(reportDataStore), recentlyViewedService: new recentlyViewedService_1.default(reportDataStore), }; if (config.bookmarking === undefined || config.bookmarking) { services = createBookmarkService(services, reportDataStore); } else { logger_1.default.info('Service Disabled: BookmarkService'); } if (config.download === undefined || config.download) { services = createDownloadService(services, reportDataStore); } else { logger_1.default.info('Service Disabled: DownloadPermissionService'); } return services; }; const createDownloadService = (services, reportDataStore) => { services = { ...services, downloadPermissionService: new downloadPermissionService_1.default(reportDataStore), }; return services; }; const createBookmarkService = (services, reportDataStore) => { services = { ...services, bookmarkService: new bookmarkService_1.default(reportDataStore), }; return services; }; exports.default = createDprServices;