Actualizar server.js

This commit is contained in:
2026-02-20 21:51:19 +00:00
parent 8d16d7acc1
commit f59e079f4e

View File

@@ -637,11 +637,13 @@ async function triggerWhatsAppEvent(ownerId, serviceId, eventType) {
// 2. Buscamos qué plantilla corresponde a este evento // 2. Buscamos qué plantilla corresponde a este evento
const tplTypeMap = { const tplTypeMap = {
'wa_evt_welcome': 'welcome', 'wa_evt_welcome': 'welcome',
'wa_evt_date': 'appointment', // Plantilla: Cita Creada 'wa_evt_assigned': 'assigned', // <--- NUEVO: Asignado a operario
'wa_evt_update': 'update', // Plantilla: Modificación de Servicio 'wa_evt_date': 'appointment',
'wa_evt_update': 'update',
'wa_evt_onway': 'on_way', 'wa_evt_onway': 'on_way',
'wa_evt_survey': 'survey' 'wa_evt_survey': 'survey'
}; };
const tplQ = await pool.query("SELECT content FROM message_templates WHERE owner_id=$1 AND type=$2", [ownerId, tplTypeMap[eventType]]); const tplQ = await pool.query("SELECT content FROM message_templates WHERE owner_id=$1 AND type=$2", [ownerId, tplTypeMap[eventType]]);
if (tplQ.rowCount === 0 || !tplQ.rows[0].content) return; if (tplQ.rowCount === 0 || !tplQ.rows[0].content) return;
let text = tplQ.rows[0].content; let text = tplQ.rows[0].content;
@@ -964,6 +966,17 @@ app.put("/services/set-appointment/:id", authMiddleware, async (req, res) => {
const statusQ = await pool.query("SELECT name FROM service_statuses WHERE id=$1", [status_operativo]); const statusQ = await pool.query("SELECT name FROM service_statuses WHERE id=$1", [status_operativo]);
const stName = statusQ.rows[0]?.name.toLowerCase() || ""; const stName = statusQ.rows[0]?.name.toLowerCase() || "";
// ... dentro de la lógica del Motor en set-appointment ...
const stName = statusQ.rows[0]?.name.toLowerCase() || "";
if (stName.includes('asignado')) {
// Si el estado contiene "asignado", disparamos el nuevo evento
triggerWhatsAppEvent(req.user.accountId, id, 'wa_evt_assigned');
} else if (stName.includes('citado') && newDate !== "") {
// ... resto de lógica que ya tenemos ...
// REGLA ESTRICTA: ¿Es estado Citado y tiene fecha? // REGLA ESTRICTA: ¿Es estado Citado y tiene fecha?
if (stName.includes('citado') && newDate !== "") { if (stName.includes('citado') && newDate !== "") {
if (oldDate === "") { if (oldDate === "") {