@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
39 lines (34 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var express = require('express');
var logger = require('../utils/logger.js');
var routes$1 = require('./journeys/routes.js');
var setUpNestedRoute = require('../middleware/setUpNestedRoute.js');
var captureError = require('../utils/captureError.js');
const errorRequestHandler = (layoutPath) => (error, _req, res, next) => {
if (error.status === 401 || error.status === 403) {
return res.render('dpr/routes/authError.njk', {
layoutPath,
message: 'Sorry, there is a problem with authenticating your request',
});
}
captureError.captureDprError(error);
if (error.status >= 400) {
return res.render('dpr/routes/serviceProblem.njk', {
layoutPath,
});
}
return next(error);
};
function routes(routeImportParams) {
logger.default.info('Initialiasing DPR routes...');
const router = express.Router({ mergeParams: true });
// ensures that this route matches `/`
router.get('/', (_req, _res, next) => next());
router.use('/', setUpNestedRoute.default(), routes$1.Routes(routeImportParams), errorRequestHandler(routeImportParams.layoutPath));
return router;
}
exports.default = routes;
exports.errorRequestHandler = errorRequestHandler;
exports.routes = routes;
//# sourceMappingURL=index.js.map