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
|
||||
})
|
||||
|
||||
// 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
|
||||
|
||||
Reference in New Issue
Block a user