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.

49 lines (48 loc) 2.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = routes; const utils_1 = __importDefault(require("../components/user-reports/viewed/utils")); const utils_2 = __importDefault(require("../components/user-reports/utils")); const localsHelper_1 = __importDefault(require("../utils/localsHelper")); const logger_1 = __importDefault(require("../utils/logger")); function routes({ router, services, layoutPath, prefix, }) { logger_1.default.info('Initialiasing routes: Recently Viewed'); const getExpiredStatus = async (req, res, next) => { try { const response = await utils_2.default.getExpiredStatus({ req, res, services, storeService: services.recentlyViewedService, }); res.send({ isExpired: response }); } catch (error) { res.send({ status: 'FAILED' }); } }; const removeViewedItemHandler = async (req, res, next) => { var _a; const userId = ((_a = res.locals.user) === null || _a === void 0 ? void 0 : _a.uuid) ? res.locals.user.uuid : 'userId'; await services.recentlyViewedService.removeReport(req.body.executionId, userId); res.end(); }; router.get(`${prefix}/async-reports/viewed`, async (req, res) => { const { recentlyViewedReports } = localsHelper_1.default.getValues(res); res.render(`dpr/views/async-reports`, { title: 'Recently viewed reports', layoutPath, ...(await utils_2.default.renderList({ reportsData: recentlyViewedReports, filterFunction: utils_1.default.filterReports, res, type: 'viewed', })), }); }); router.post('/dpr/getExpiredStatus/', getExpiredStatus); router.post('/dpr/removeViewedItem/', removeViewedItemHandler); }