@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
27 lines (24 loc) • 1.26 kB
JavaScript
import localsHelper from '../utils/localsHelper.js';
import { getDefinitionByType } from '../utils/definitionUtils.js';
import { getMyReport } from '../routes/journeys/my-reports/utils.js';
const setupCurrentDefinition = (services) => {
return async (req, res, next) => {
const { token, dprUser, definitionsPath } = localsHelper.getValues(res);
const { reportId, id, type, tableId } = req.params;
if (!token || !dprUser)
return next();
const definitionSummary = await services.reportingService.getDefinitionSummary(token, reportId, definitionsPath);
res.locals['reportDefinitionSummary'] = definitionSummary;
let queryData;
if (tableId) {
const requestData = await getMyReport({ tableId }, 'requestedReports', services, dprUser.id);
queryData = requestData?.query?.data;
}
const { fields, definition } = await getDefinitionByType(type, services, token, reportId, id, definitionsPath, queryData);
res.locals['fields'] = fields ?? [];
res.locals['definition'] = definition;
return next();
};
};
export { setupCurrentDefinition as default, setupCurrentDefinition };
//# sourceMappingURL=setupCurrentDefinition.js.map