From 95a93a1a1004ccaeaefbac5dffd764f5a59f9c2c Mon Sep 17 00:00:00 2001 From: josedario87 Date: Tue, 2 Dec 2025 20:01:35 -0600 Subject: [PATCH] Fix: guardar mensaje enviado en la base de datos El evento messages.upsert no siempre se dispara para mensajes enviados. Guardar manualmente el mensaje en el endpoint de envio. --- .../[instanceId]/[chatId]/send.post.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/server/api/messages/[instanceId]/[chatId]/send.post.ts b/server/api/messages/[instanceId]/[chatId]/send.post.ts index 61cacaf..224ffb9 100644 --- a/server/api/messages/[instanceId]/[chatId]/send.post.ts +++ b/server/api/messages/[instanceId]/[chatId]/send.post.ts @@ -43,6 +43,31 @@ export default defineEventHandler(async (event) => { text: messageText }) + // Save sent message to database + await query( + `INSERT INTO messages ( + instance_id, chat_id, message_id, from_jid, from_me, + message_type, content, timestamp, status + ) VALUES ($1, $2, $3, $4, $5, $6, $7, NOW(), $8) + ON CONFLICT (instance_id, message_id) DO NOTHING`, + [ + instanceId, + chatId, + result.key.id, + 'me', + true, + 'text', + messageText, + 'sent' + ] + ) + + // Update chat last message time + await query( + `UPDATE chats SET last_message_at = NOW() WHERE id = $1`, + [chatId] + ) + return { success: true, messageId: result.key.id