import express, { Router } from 'express';
import * as rulesController from './rules.controller';
import * as rulesValidation from './rules.validation';
import { validateMiddleware } from '@/shared/utils/middlewares/index';
import userAuthAndCheckPermissions from '../auth/auth.user.middleware';
import { MODULE_LIST } from '@/shared/constants/module.constant';
// import { ACTIONS } from '@/shared/constants';
import { setAuditFields } from '@/shared/middleware/setAuditFields';
import { AuditMode } from '@/shared/constants/enum.constant';

const router: Router = express.Router();

router
  .route('/')
  .get(
    userAuthAndCheckPermissions(),
    validateMiddleware(rulesValidation.getRules),
    rulesController.getRules,
  );

router
  .route('/:companyId')
  .patch(
    userAuthAndCheckPermissions(MODULE_LIST.RULES),
    validateMiddleware(rulesValidation.patchRules),
    setAuditFields({ mode: AuditMode.CREATE, companyField: 'companyId' }),
    rulesController.updateRules,
  );

export default router;
