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:
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user