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.

63 lines (60 loc) 2.15 kB
import { FiltersType } from '../../../../components/_filters/filtersTypeEnum.js'; import ViewReportUtils from '../utils.js'; import { ErrorHandler } from '../../../../utils/ErrorHandler/ErrorHandler.js'; import PersonalisationUtils from '../../../../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 ViewReportUtils.resetFilters(req, res, sessionKey); } catch (error) { req.body = { title: 'Failed to reset filters', error: new ErrorHandler(error).formatError(), ...(req.body && { ...req.body }), }; next(error); } }; // ----------------------------- // Save Defaults // ----------------------------- saveDefaultFilterValues = async (req, res, next) => { try { PersonalisationUtils.saveDefaults(FiltersType.INTERACTIVE, res, req, this.services); res.redirect(`${req.baseUrl}?defaultsSaved=true`); } catch (error) { req.body = { title: 'Failed to save defaults', error: new ErrorHandler(error).formatError(), ...(req.body && { ...req.body }), }; next(error); } }; removeDefaultFilterValues = async (req, res, next) => { try { PersonalisationUtils.removeDefaults(FiltersType.INTERACTIVE, res, req, this.services); res.redirect(req.baseUrl); } catch (error) { req.body = { title: 'Failed to remove defaults', error: new ErrorHandler(error).formatError(), ...(req.body && { ...req.body }), }; next(error); } }; } export { ViewSyncController }; //# sourceMappingURL=controller.js.map