@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
33 lines (30 loc) • 1.48 kB
JavaScript
import { Router } from 'express';
import { ViewSyncReportController } from './controller.js';
import { ViewSyncController } from '../controller.js';
import { validateFilters } from '../../../../../validation/validateFilters.js';
import { LoadType } from '../../../../../types/UserReports.js';
/* eslint-disable no-param-reassign */
function routes({ layoutPath, services }) {
const router = Router({ mergeParams: true });
const controller = new ViewSyncReportController(layoutPath, services);
const viewSyncController = new ViewSyncController(layoutPath, services);
router.get([`/`, `/download-disabled`], controller.GET);
// ----------------------------
// FILTERS
// ----------------------------
router.post('/apply-filters', validateFilters({ interactive: true, loadType: LoadType.SYNC }), controller.applyFilters);
router.post('/reset-filters', viewSyncController.resetFilters);
// ---------------------------
// COLUMNS
// ----------------------------
router.post('/apply-columns', controller.applyColumns);
router.post('/reset-columns', controller.resetColumns);
// ----------------------------
// User defined defaults
// ----------------------------
router.post('/save-defaults', viewSyncController.saveDefaultFilterValues);
router.post('/remove-defaults', viewSyncController.removeDefaultFilterValues);
return router;
}
export { routes as default, routes };
//# sourceMappingURL=routes.js.map