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.

64 lines (60 loc) 3.25 kB
'use strict'; var express = require('express'); var localsHelper = require('../../../utils/localsHelper.js'); var UserReports = require('../../../types/UserReports.js'); var controller = require('./controller.js'); var routes = require('./sync/routes.js'); var routes$1 = require('./async/routes.js'); var urlHelper = require('../../../utils/urlHelper.js'); var setUpActiveReport = require('../../../middleware/setUpActiveReport.js'); var setupCurrentDefinition = require('../../../middleware/setupCurrentDefinition.js'); var reportAuthoriser = require('../../../middleware/reportAuthoriser.js'); /* eslint-disable no-param-reassign */ function Routes({ layoutPath, services }) { const router = express.Router({ mergeParams: true }); const controller$1 = new controller.ViewReportController(layoutPath, services); // ------------------- // SYNC // ------------------- router.use(`/sync/:type/:reportId/:id`, setupCurrentDefinition.default(services), reportAuthoriser.default(services, layoutPath), setUpActiveReport.storeActiveReportSessionData({ services, loadType: UserReports.LoadType.SYNC }), routes.default({ layoutPath, services }), controller$1.errorHandler); // ------------------- // ASYNC // ------------------- router.use(`/async/:type/:reportId/:id/:tableId`, setupCurrentDefinition.default(services), reportAuthoriser.default(services, layoutPath), setUpActiveReport.storeActiveReportSessionData({ services }), routes$1.default({ layoutPath, services }), controller$1.errorHandler); return router; } function Redirects() { const router = express.Router({ mergeParams: true }); // View Report router.get([`/async/:type/:reportId/:id/request/:tableId/:type`], (req, res) => { const { type, reportId, id, tableId } = req.params; const { nestedBaseUrl } = localsHelper.getRouteLocals(res); const path = urlHelper.setNestedPath(`/dpr/view-report/async/${type}/${reportId}/${id}/${tableId}/${type}`, nestedBaseUrl); res.redirect(path); }); // Download router.get(`/async/:type/:reportId/:id/request/:tableId/report/:download`, (req, res) => { const { type, reportId, id, tableId } = req.params; const { nestedBaseUrl } = localsHelper.getRouteLocals(res); const path = urlHelper.setNestedPath(`/dpr/view-report/async/${type}/${reportId}/${id}/${tableId}/${type}`, nestedBaseUrl); res.redirect(path); }); // Expired Status router.post('/async/:type/:reportId/:id/request/:tableId/:type', (req, res) => { const { type, reportId, id, tableId } = req.params; const { nestedBaseUrl } = localsHelper.getRouteLocals(res); const path = urlHelper.setNestedPath(`/dpr/view-report/async/${type}/${reportId}/${id}/${tableId}/${type}`, nestedBaseUrl); res.redirect(308, path); }); return router; } const ViewReportRoutes = ({ services, path, layoutPath, }) => { const router = express.Router({ mergeParams: true }); router.use(path, Routes({ services, layoutPath })); router.use('/', Redirects()); return router; }; exports.Redirects = Redirects; exports.Routes = Routes; exports.ViewReportRoutes = ViewReportRoutes; //# sourceMappingURL=routes.js.map