Fix: API de chats con lastMessage y send acepta content
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 13s

This commit is contained in:
2025-12-02 19:44:06 -06:00
parent 91e152a4a3
commit 478f4f8b34
2 changed files with 12 additions and 6 deletions

View File

@@ -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<SendMessageBody>(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 {

View File

@@ -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<ChatRow>(
`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 || ''
}))
})