import { getUser } from '../services/mongodb.js'; // Middleware para verificar que el usuario es administrador export async function adminAuthMiddleware(req, res, next) { // Debe estar autenticado primero (requiere basicAuthMiddleware antes) if (!req.user || !req.user.username) { return res.status(401).json({ error: 'Authentication required', message: 'Se requiere autenticación' }); } try { const user = await getUser(req.user.username); if (!user) { return res.status(401).json({ error: 'Invalid user', message: 'Usuario no encontrado' }); } const userRole = user.role || 'user'; if (userRole !== 'admin') { return res.status(403).json({ error: 'Forbidden', message: 'Se requieren permisos de administrador' }); } // Usuario es admin, continuar next(); } catch (error) { console.error('Error verificando permisos de admin:', error); res.status(500).json({ error: 'Internal server error', message: 'Error verificando permisos' }); } }