Actualizar server.js

This commit is contained in:
2026-02-20 18:15:58 +00:00
parent 5a15c981d4
commit de272a0ea7

View File

@@ -984,14 +984,14 @@ app.get("/statuses", authMiddleware, async (req, res) => {
try { try {
let q = await pool.query("SELECT * FROM service_statuses WHERE owner_id=$1 ORDER BY id ASC", [req.user.accountId]); 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); const hasSystemStatuses = q.rows.some(s => s.is_system === true);
if (!hasSystemStatuses) { if (!hasSystemStatuses) {
const defaults = [ const defaults = [
{name:'Pendiente de Asignar', c:'gray', d:true, f:false, sys:true}, {name:'Pendiente de Asignar', c:'gray', d:true, f:false, sys:true},
{name:'Asignado', c:'blue', d:false, 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:'Citado', c:'emerald', d:false, f:false, sys:true},
{name:'De Camino', c:'indigo', 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}, {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) { 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]); 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){ 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]); 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 { } 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]); 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]); 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 }); res.json({ ok: true, statuses: q.rows });