import { Router } from 'express';
import { authenticate } from '../../middleware/auth';
import { validateBody } from '../../middleware/validate';
import * as controller from './controller';
import { sendOtpSchema, verifyOtpSchema, refreshTokenSchema } from './validators';

export const authRoutes = Router();

authRoutes.post('/otp/send', validateBody(sendOtpSchema), controller.sendOtp);
authRoutes.post('/otp/verify', validateBody(verifyOtpSchema), controller.verifyOtpHandler);
authRoutes.post('/login', validateBody(verifyOtpSchema), controller.verifyOtpHandler);
authRoutes.post('/logout', authenticate, controller.logout);
authRoutes.post('/refresh-token', validateBody(refreshTokenSchema), controller.refreshToken);
authRoutes.get('/me', authenticate, controller.getMe);
