From 478f4f8b34b658b2d6404ba241fe854fcfae5d99 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Tue, 2 Dec 2025 19:44:06 -0600 Subject: [PATCH] Fix: API de chats con lastMessage y send acepta content --- .../api/messages/[instanceId]/[chatId]/send.post.ts | 11 +++++++---- server/api/messages/[instanceId]/chats.get.ts | 7 +++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/server/api/messages/[instanceId]/[chatId]/send.post.ts b/server/api/messages/[instanceId]/[chatId]/send.post.ts index 9e2d56d..61cacaf 100644 --- a/server/api/messages/[instanceId]/[chatId]/send.post.ts +++ b/server/api/messages/[instanceId]/[chatId]/send.post.ts @@ -6,7 +6,8 @@ import { query } from '../../../../utils/database' import { baileysManager } from '../../../../services/baileys/manager' interface SendMessageBody { - message: string + content?: string + message?: string } export default defineEventHandler(async (event) => { @@ -19,8 +20,10 @@ export default defineEventHandler(async (event) => { const chatId = getRouterParam(event, 'chatId') const body = await readBody(event) - if (!body.message?.trim()) { - throw createError({ statusCode: 400, message: 'Message is required' }) + // Accept both 'content' and 'message' fields + const messageText = body.content || body.message + if (!messageText?.trim()) { + throw createError({ statusCode: 400, message: 'Message content is required' }) } // Get chat JID @@ -37,7 +40,7 @@ export default defineEventHandler(async (event) => { try { const result = await baileysManager.sendMessage(instanceId!, jid, { - text: body.message + text: messageText }) return { diff --git a/server/api/messages/[instanceId]/chats.get.ts b/server/api/messages/[instanceId]/chats.get.ts index fa912d4..ede07db 100644 --- a/server/api/messages/[instanceId]/chats.get.ts +++ b/server/api/messages/[instanceId]/chats.get.ts @@ -11,6 +11,7 @@ interface ChatRow { is_group: boolean unread_count: number last_message_at: Date | null + last_message: string | null } export default defineEventHandler(async (event) => { @@ -29,7 +30,8 @@ export default defineEventHandler(async (event) => { // Get chats with last message const result = await query( - `SELECT c.id, c.jid, c.name, c.is_group, c.unread_count, c.last_message_at + `SELECT c.id, c.jid, c.name, c.is_group, c.unread_count, c.last_message_at, + (SELECT content FROM messages m WHERE m.chat_id = c.id ORDER BY timestamp DESC LIMIT 1) as last_message FROM chats c WHERE c.instance_id = $1 ORDER BY c.last_message_at DESC NULLS LAST`, @@ -42,6 +44,7 @@ export default defineEventHandler(async (event) => { name: row.name || row.jid.split('@')[0], isGroup: row.is_group, unreadCount: row.unread_count, - lastMessageAt: row.last_message_at + lastMessageAt: row.last_message_at, + lastMessage: row.last_message || '' })) })