File size: 941 Bytes
8f7dc55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * Rutas REST de autenticacion.
 *
 * Endpoints:
 *   POST /api/v1/auth/login
 *     → rateLimitLogin (5 intentos / 15 min)
 *     → validate(loginSchema)
 *     → authController.login
 *     → Devuelve JWT + objeto usuario.
 *
 *   GET /api/v1/auth/me
 *     → requireAuth
 *     → authController.me
 *     → Devuelve el usuario autenticado (req.user).
 */

import { Router } from 'express';
import * as ctrl from './auth.controller.js';
import { loginSchema, registerSchema } from './auth.validators.js';
import { validate } from '../middlewares/validate.js';
import { requireAuth } from '../middlewares/requireAuth.js';
import { rateLimitLogin } from '../middlewares/rateLimitLogin.js';

const router = Router();

router.post('/login', rateLimitLogin, validate(loginSchema), ctrl.login);
router.post('/register', validate(registerSchema), ctrl.register);
router.get('/me', requireAuth, ctrl.me);

export default router;