backend/src/routes/auth.routes.js

/**
 * @file Rutas de autenticación.
 * @description Define los endpoints para el registro, login y perfil de usuario.
 * @requires express
 * @requires ../controllers/auth.controller
 * @requires ../middleware/authMiddleware
 */
const { Router } = require('express');
const { registerUser, loginUser, getProfile } = require('../controllers/auth.controller');
const { authMiddleware } = require('../middleware/authMiddleware');

const router = Router();

/**
 * @name POST /api/auth/register
 * @description Ruta para registrar un nuevo usuario.
 * @function
 * @memberof module:routes/auth
 * @param {string} path - URL del endpoint.
 * @param {function} middleware - Controlador para manejar la petición.
 */
// Rutas públicas
router.post('/register', registerUser);

/**
 * @name POST /api/auth/login
 * @description Ruta para iniciar sesión.
 * @function
 * @memberof module:routes/auth
 * @param {string} path - URL del endpoint.
 * @param {function} middleware - Controlador para manejar la petición.
 */
router.post('/login', loginUser);

/**
 * @name GET /api/auth/profile
 * @description Ruta protegida para obtener el perfil del usuario autenticado.
 * @function
 * @memberof module:routes/auth
 * @param {string} path - URL del endpoint.
 * @param {function} middleware - Middleware de autenticación.
 * @param {function} middleware - Controlador para manejar la petición.
 */
// Rutas protegidas - requieren autenticación
router.get('/profile', authMiddleware, getProfile);

module.exports = router;