import { Router } from 'express'; import rateLimit from 'express-rate-limit'; import { requireAuth, requireRole, CAN_MANAGE_SETTINGS } from '../../middleware/auth.js'; import { getErrorLogs, postErrorLog, deleteErrorLogs } from './controller.js'; const router = Router(); // Publico (sin requireAuth): el frontend debe poder reportar un error incluso en paginas sin // sesion (login, registro). Rate-limited para que no se pueda usar para floodear la tabla. const reportLimiter = rateLimit({ windowMs: 5 * 60 * 1000, limit: 30, standardHeaders: true, legacyHeaders: false }); router.post('/', reportLimiter, postErrorLog); router.get('/', requireAuth, requireRole(...CAN_MANAGE_SETTINGS), getErrorLogs); router.delete('/', requireAuth, requireRole(...CAN_MANAGE_SETTINGS), deleteErrorLogs); export default router;