@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
32 lines (29 loc) • 1.51 kB
JavaScript
import { Router } from 'express';
import { ReportType } from '../../../../../types/UserReports.js';
import { ViewAsyncReportController } from './controller.js';
import { ViewAsyncController } from '../controller.js';
import { validateFilters } from '../../../../../validation/validateFilters.js';
function routes({ layoutPath, services }) {
const router = Router({ mergeParams: true });
const asyncReportController = new ViewAsyncReportController(layoutPath, services);
const viewReportController = new ViewAsyncController(layoutPath, services);
router.get([`/`, `/download-disabled`], viewReportController.GET(ReportType.REPORT));
// ----------------------------
// FILTERS
// ----------------------------
router.post('/apply-filters', validateFilters({ interactive: true }), asyncReportController.applyFilters);
router.post('/reset-filters', viewReportController.resetFilters);
// ---------------------------
// COLUMNS
// ----------------------------
router.post('/apply-columns', asyncReportController.applyColumns);
router.post('/reset-columns', asyncReportController.resetColumns);
// ----------------------------
// User defined defaults
// ----------------------------
router.post('/save-defaults', viewReportController.saveDefaultFilterValues);
router.post('/remove-defaults', viewReportController.removeDefaultFilterValues);
return router;
}
export { routes as default, routes };
//# sourceMappingURL=routes.js.map