From de272a0ea7993720ada208e15a82a306bf5b4405 Mon Sep 17 00:00:00 2001 From: marsalva Date: Fri, 20 Feb 2026 18:15:58 +0000 Subject: [PATCH] Actualizar server.js --- server.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server.js b/server.js index 87f6bb1..8288d6b 100644 --- a/server.js +++ b/server.js @@ -984,14 +984,14 @@ app.get("/statuses", authMiddleware, async (req, res) => { try { let q = await pool.query("SELECT * FROM service_statuses WHERE owner_id=$1 ORDER BY id ASC", [req.user.accountId]); - // šŸš€ VERIFICACIƓN MEJORADA: Comprobamos si el usuario ya tiene los estados bloqueados del sistema + // šŸš€ VERIFICACIƓN DE MIGRACIƓN: Comprobamos si el usuario ya tiene los estados protegidos del sistema const hasSystemStatuses = q.rows.some(s => s.is_system === true); if (!hasSystemStatuses) { const defaults = [ {name:'Pendiente de Asignar', c:'gray', d:true, f:false, sys:true}, {name:'Asignado', c:'blue', d:false, f:false, sys:true}, - {name:'Esperando al Cliente', c:'amber', d:false, f:false, sys:true}, // <-- AQUƍ ESTƁ EL CAMBIO + {name:'Esperando al Cliente', c:'amber', d:false, f:false, sys:true}, {name:'Citado', c:'emerald', d:false, f:false, sys:true}, {name:'De Camino', c:'indigo', d:false, f:false, sys:true}, {name:'Trabajando', c:'orange', d:false, f:false, sys:true}, @@ -1002,13 +1002,16 @@ app.get("/statuses", authMiddleware, async (req, res) => { ]; for (const s of defaults) { + // Evitamos duplicados si el usuario ya habĆ­a creado uno con el mismo nombre const check = await pool.query("SELECT id FROM service_statuses WHERE owner_id=$1 AND name=$2", [req.user.accountId, s.name]); if(check.rowCount === 0){ await pool.query("INSERT INTO service_statuses (owner_id,name,color,is_default,is_final,is_system) VALUES ($1,$2,$3,$4,$5,$6)", [req.user.accountId,s.name,s.c,s.d,s.f,s.sys]); } else { + // Si ya existe, lo convertimos en estado de sistema para protegerlo await pool.query("UPDATE service_statuses SET is_system=true WHERE id=$1", [check.rows[0].id]); } } + // Recargamos la lista final q = await pool.query("SELECT * FROM service_statuses WHERE owner_id=$1 ORDER BY id ASC", [req.user.accountId]); } res.json({ ok: true, statuses: q.rows });