Fix: guardar mensaje enviado en la base de datos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 51s
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 51s
El evento messages.upsert no siempre se dispara para mensajes enviados. Guardar manualmente el mensaje en el endpoint de envio.
This commit is contained in:
@@ -43,6 +43,31 @@ export default defineEventHandler(async (event) => {
|
|||||||
text: messageText
|
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 {
|
return {
|
||||||
success: true,
|
success: true,
|
||||||
messageId: result.key.id
|
messageId: result.key.id
|
||||||
|
|||||||
Reference in New Issue
Block a user