fix(rx): dedup idempotente no image-upload-direct (resync não duplica)

Antes do INSERT, remove linha existente com mesmo original_filename. Sem isso, o
reenvio (sync-request/Plan B) de um arquivo cujo objeto Wasabi sumiu mas a linha
existia criava DUPLICATA. Descoberto no teste de resync de 3 radiografias.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
VPS 4 Deploy Agent
2026-06-12 17:52:40 +02:00
parent 28ded7bbf9
commit b815218c30
+7 -1
View File
@@ -1271,7 +1271,13 @@ io.on('connection', (socket) => {
socket.on('image-upload-direct', async (data, callback) => {
try {
console.log('📥 [image-upload-direct] Notificação de upload recebida de:', socket.id);
// Dedup/idempotência: se já existe linha p/ este original_filename, remove a antiga
// (reenvio/resync substitui em vez de duplicar). Evita linhas órfãs duplicadas.
if (data?.metadata?.fileName) {
await db.run('DELETE FROM images WHERE original_filename = $1', [data.metadata.fileName]).catch(() => {});
}
const clientInfo = connectedClients.find(c => c.socketId === socket.id);
const clientName = clientInfo ? clientInfo.name : 'PC não identificado';
const clinicName = socket.user?.clinicName || clientInfo?.clinicName || 'Clínica não identificada';