diff --git a/dental-server/server.js b/dental-server/server.js index 639dd76..9748907 100644 --- a/dental-server/server.js +++ b/dental-server/server.js @@ -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';