@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
40 lines (39 loc) • 1.89 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const UserReports_1 = require("../../../types/UserReports");
const localsHelper_1 = __importDefault(require("../../../utils/localsHelper"));
exports.default = {
renderPolling: async ({ req, res, services }) => {
var _a;
const { csrfToken, userId, definitionsPath: definitionPath } = localsHelper_1.default.getValues(res);
const { reportId, variantId, executionId, id, type } = req.params;
const requestReportData = await services.requestedReportService.getReportByExecutionId(executionId, userId);
const { reportName, name, variantName, description, status, query, timestamp, url, errorMessage, metrics, tableId, } = requestReportData;
const title = `${type.charAt(0).toUpperCase() + type.substring(1).toLowerCase()} request status`;
return {
title,
pollingRenderData: {
reportName,
name: variantName || name,
executionId,
id: variantId || id,
description,
type: type || UserReports_1.ReportType.REPORT,
reportId,
tableId,
status,
definitionPath,
...(query && { querySummary: query.summary }),
requestedAt: timestamp.requested,
csrfToken,
...(metrics && { metrics }),
...(((_a = url.report) === null || _a === void 0 ? void 0 : _a.fullUrl) && { reportUrl: url.report.fullUrl }),
...(url.request.fullUrl && { requestUrl: url.request.fullUrl }),
...(errorMessage && { errorMessage }),
},
};
},
};