fix(whatsapp): chat.upsert usa contact.connect no update (não contactId escalar)
O `update` do `chat.upsert` no MessageHandler passava `contactId: contact.id`
escalar, que o Prisma rejeita ("Unknown argument `contactId`. Did you mean
`contact`?") → PrismaClientValidationError. Isso derrubava o processMessage
ANTES de emitir o hook ext:message.new, quebrando o tempo real (inclusive o
auto-trigger da Secretária IA) para qualquer contato cujo chat precisasse
revincular o contato. Corrigido nos dois upserts (notify + histórico) para a
sintaxe de relação `contact: { connect: { id: contact.id } }`.
Verificado em dev: a Secretária respondeu ponta-a-ponta após o fix.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -344,7 +344,7 @@ export class MessageHandler {
|
||||
unreadCount: 0
|
||||
},
|
||||
update: {
|
||||
contactId: contact.id,
|
||||
contact: { connect: { id: contact.id } },
|
||||
...(lastAt && { lastMessageAt: lastAt })
|
||||
},
|
||||
})
|
||||
@@ -595,7 +595,7 @@ export class MessageHandler {
|
||||
lastMessageAt: new Date((messageTimestamp as number) * 1000),
|
||||
},
|
||||
update: {
|
||||
contactId: contact.id, // Garante o vínculo (corrige chats órfãos antigos)
|
||||
contact: { connect: { id: contact.id } }, // Garante o vínculo (corrige chats órfãos antigos)
|
||||
lastMessageAt: new Date((messageTimestamp as number) * 1000),
|
||||
// fromMe: zera unread (estamos respondendo); !fromMe: incrementa
|
||||
unreadCount: fromMe ? { set: 0 } : { increment: 1 },
|
||||
|
||||
Reference in New Issue
Block a user