import express, { Router } from 'express';

import * as whatsappValidation from '@/modules/communication/whatsapp/whatsapp.validation';
import * as whatsappController from '@/modules/communication/whatsapp/whatsapp.controller';

import { validateMiddleware } from '@/shared/utils/middlewares/index';
import userAuthAndCheckPermissions from '@/modules/auth/auth.user.middleware';

const router: Router = express.Router();

router
  .route('/')
  .get(
    userAuthAndCheckPermissions(),
    validateMiddleware(whatsappValidation.getWhatsapp),
    whatsappController.getWhatsapps,
  )
  .patch(
    userAuthAndCheckPermissions(),
    validateMiddleware(whatsappValidation.addWhatsappCreds),
    whatsappController.addWhatsappCreds,
  );

router
  .route('/:templateId')
  .patch(
    userAuthAndCheckPermissions(),
    validateMiddleware(whatsappValidation.updateTemplate),
    whatsappController.updateTemplate,
  );

export default router;
