diff --git a/server.js b/server.js index 2e0a201..f5fc548 100644 --- a/server.js +++ b/server.js @@ -2030,8 +2030,8 @@ app.get("/providers/scraped", authMiddleware, async (req, res) => { if (req.user.role === 'operario') { query += ` AND s.assigned_to IS NULL AND s.status != 'archived'`; - // 1. Tiene que ser de un gremio que el operario tenga asignado - query += ` AND (s.raw_data->>'guild_id')::int IN (SELECT guild_id FROM user_guilds WHERE user_id = $2)`; + // 🚨 FIX: Usamos NULLIF para evitar que un guild_id vacío ("") rompa el casting a número + query += ` AND NULLIF(s.raw_data->>'guild_id', '')::int IN (SELECT guild_id FROM user_guilds WHERE user_id = $2)`; // 2. El CP de la avería tiene que coincidir SÍ o SÍ con los del operario // Buscamos el CP en varios campos del JSON para asegurarnos de que no se escapa @@ -2051,7 +2051,7 @@ app.get("/providers/scraped", authMiddleware, async (req, res) => { }); res.json({ ok: true, services }); } catch (e) { - console.error("Error buzón/bolsa:", e); + console.error("Error buzón/bolsa:", e.message); res.status(500).json({ ok: false }); } });