@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
JavaScript
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