import express, { Router } from 'express';

import * as reportsValidation from '@/modules/reports/reports.validation';
import * as reportsController from '@/modules/reports/reports.controller';

import { validateMiddleware } from '@/shared/utils/middlewares/index';
import userAuthAndCheckPermissions from '@/modules/auth/auth.user.middleware';
import { MODULE_LIST } from '@/shared/constants/module.constant';
import { ACTIONS } from '@/shared/constants';

const router: Router = express.Router();

router
  .route('/')
  .get(
    userAuthAndCheckPermissions(MODULE_LIST.REPORTS, ACTIONS.READ),
    validateMiddleware(reportsValidation.getReports),
    reportsController.getReports,
  );

export default router;
