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.

65 lines (60 loc) 2.67 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var localsHelper = require('../../../../utils/localsHelper.js'); var utils$2 = require('../../../../components/my-reports/my-reports-list-item/utils.js'); var types = require('../../../../components/my-reports/types.js'); var createReportPollingHandler = require('../../../../controllers/reportPolling/createReportPollingHandler.js'); var utils$1 = require('../../../../components/my-reports/utils.js'); var captureError = require('../../../../utils/captureError.js'); var utils = require('../utils.js'); class RequestedReportsController { services; GET; constructor(services) { this.services = services; /** * Gets an individual My Reports row and renders it as a string */ this.GET = createReportPollingHandler.createReportPollingHandler(this.services, (updated, resolution, req, res) => { const viewModel = utils$2.buildMyReportListRow(updated, resolution.newStatus, req, res, types.ListType.REQUESTED); return { template: 'dpr/components/my-reports/my-reports-list-item/row.njk', data: { item: viewModel }, }; }); } /** * Remove requested report action * * @param {*} req * @param {*} res * @return {*} */ POST = async (req, res) => { const { dprUser } = localsHelper.default.getValues(res); const { executionId } = req.params; // Remove the report await utils.removeMyReport('requestedReports', { executionId }, this.services, dprUser.id); // Update the locals res.locals['requestedReports'] = await utils.getAllMyReports('requestedReports', this.services, dprUser.id); try { // get the data for the requested list const maxRows = req.body?.maxRows !== undefined ? Number(req.body.maxRows) : undefined; const viewModel = await utils$1.initRequested(req, res, { ...(maxRows && { maxRows }), }); return res.render('dpr/components/my-reports/my-reports-list/view.njk', { viewModel }, (err, html) => { if (err) return res.sendStatus(500); return res.type('text/html').send(html); }); } catch (error) { captureError.captureDprError(error, 'Failed to refresh list after removal'); return res.sendStatus(500); } }; } exports.RequestedReportsController = RequestedReportsController; exports.default = RequestedReportsController; //# sourceMappingURL=controller.js.map