From fa376a56df7140305d744f1d38c42b2da35c9666 Mon Sep 17 00:00:00 2001 From: marsalva Date: Sun, 22 Feb 2026 14:22:57 +0000 Subject: [PATCH] Actualizar server.js --- server.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/server.js b/server.js index 7a34633..1ed62b6 100644 --- a/server.js +++ b/server.js @@ -1213,9 +1213,10 @@ app.get("/discovery/keys/:provider", authMiddleware, async (req, res) => { }); // AÑADIDO Y MEJORADO: Ruta para el Panel Operativo (Muestra TODOS los activos) +// AÑADIDO Y MEJORADO: Ruta para el Panel Operativo (Muestra TODOS los activos o filtra por operario) app.get("/services/active", authMiddleware, async (req, res) => { try { - const q = await pool.query(` + let query = ` SELECT s.*, u.full_name as assigned_name @@ -1223,8 +1224,18 @@ app.get("/services/active", authMiddleware, async (req, res) => { LEFT JOIN users u ON s.assigned_to = u.id WHERE s.owner_id = $1 AND s.status != 'archived' - ORDER BY s.created_at DESC - `, [req.user.accountId]); + `; + const params = [req.user.accountId]; + + // SI ES OPERARIO, SOLO VE LO SUYO + if (req.user.role === 'operario') { + query += ` AND s.assigned_to = $2`; + params.push(req.user.sub); + } + + query += ` ORDER BY s.created_at DESC`; + + const q = await pool.query(query, params); res.json({ ok: true, services: q.rows }); } catch (e) { res.status(500).json({ ok: false }); } });