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 (61 loc) 2.27 kB
'use strict'; var filtersTypeEnum = require('../../../../components/_filters/filtersTypeEnum.js'); var utils = require('../utils.js'); var ErrorHandler = require('../../../../utils/ErrorHandler/ErrorHandler.js'); var personalisationUtils = require('../../../../utils/Personalisation/personalisationUtils.js'); class ViewSyncController { layoutPath; services; constructor(layoutPath, services) { this.layoutPath = layoutPath; this.services = services; } resetFilters = async (req, res, next) => { try { const { id, reportId } = req.params; const sessionKey = { id, reportId }; await utils.default.resetFilters(req, res, sessionKey); } catch (error) { req.body = { title: 'Failed to reset filters', error: new ErrorHandler.ErrorHandler(error).formatError(), ...(req.body && { ...req.body }), }; next(error); } }; // ----------------------------- // Save Defaults // ----------------------------- saveDefaultFilterValues = async (req, res, next) => { try { personalisationUtils.default.saveDefaults(filtersTypeEnum.FiltersType.INTERACTIVE, res, req, this.services); res.redirect(`${req.baseUrl}?defaultsSaved=true`); } catch (error) { req.body = { title: 'Failed to save defaults', error: new ErrorHandler.ErrorHandler(error).formatError(), ...(req.body && { ...req.body }), }; next(error); } }; removeDefaultFilterValues = async (req, res, next) => { try { personalisationUtils.default.removeDefaults(filtersTypeEnum.FiltersType.INTERACTIVE, res, req, this.services); res.redirect(req.baseUrl); } catch (error) { req.body = { title: 'Failed to remove defaults', error: new ErrorHandler.ErrorHandler(error).formatError(), ...(req.body && { ...req.body }), }; next(error); } }; } exports.ViewSyncController = ViewSyncController; //# sourceMappingURL=controller.js.map