Fix: API de chats con lastMessage y send acepta content
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 13s
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 13s
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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 || ''
|
||||
}))
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user