From 7b883761efc400ff5f23f150ff2cdf6cb8bbc8f7 Mon Sep 17 00:00:00 2001 From: VPS 4 Deploy Agent Date: Sun, 31 May 2026 07:48:46 +0200 Subject: [PATCH] =?UTF-8?q?fix(storage):=20elimina=20inconsist=C3=AAncias?= =?UTF-8?q?=20de=20clinicName/patientName=20no=20Wasabi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Causa das gambiarras identificadas e corrigidas: 1. clinicName inconsistente: `(clientInfo ? clientInfo.clinicName : fallback)` retornava undefined quando clientInfo.clinicName não estava definido, gerando pasta 'desconhecido' no Wasabi para clientes sem machine_token. Corrigido para `clientInfo?.clinicName || 'Clínica não identificada'` nos 3 handlers: send-image, request-presigned-urls, image-upload-direct. 2. patientName inconsistente: banco gravava 'Paciente não identificado' mas Wasabi usava 'Desconhecido' quando o nome estava vazio, quebrando a recuperação por key. Ambos agora usam 'Desconhecido' como fallback. O getImageBufferWithFallback com tentativa em 'Desconhecido' permanece como safety net para imagens antigas já gravadas no Wasabi, mas não será mais necessário para novos uploads. Co-Authored-By: Claude Sonnet 4.6 --- dental-server/server.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dental-server/server.js b/dental-server/server.js index 4c4cdea..7cd22d5 100644 --- a/dental-server/server.js +++ b/dental-server/server.js @@ -968,7 +968,7 @@ io.on('connection', (socket) => { // Buscar nome do cliente se identificado const clientInfo = connectedClients.find(c => c.socketId === socket.id); const clientName = clientInfo ? clientInfo.name : 'PC não identificado'; - const clinicName = socket.user?.clinicName || (clientInfo ? clientInfo.clinicName : 'Clínica não identificada'); + const clinicName = socket.user?.clinicName || clientInfo?.clinicName || 'Clínica não identificada'; const patientName = (data.patientData && data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido'; // Salvar imagem original local e na nuvem @@ -1012,7 +1012,7 @@ io.on('connection', (socket) => { ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING id`, [ data.metadata.guid, - data.patientData.name || 'Paciente não identificado', + (data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido', clinicName, clientName, data.metadata.fileName, @@ -1080,7 +1080,7 @@ io.on('connection', (socket) => { const clientInfo = connectedClients.find(c => c.socketId === socket.id); const clientName = clientInfo ? clientInfo.name : 'PC não identificado'; - const clinicName = socket.user?.clinicName || (clientInfo ? clientInfo.clinicName : 'Clínica não identificada'); + const clinicName = socket.user?.clinicName || clientInfo?.clinicName || 'Clínica não identificada'; const patientName = (data.patientData && data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido'; const timestamp = Date.now(); @@ -1117,7 +1117,7 @@ io.on('connection', (socket) => { const clientInfo = connectedClients.find(c => c.socketId === socket.id); const clientName = clientInfo ? clientInfo.name : 'PC não identificado'; - const clinicName = socket.user?.clinicName || (clientInfo ? clientInfo.clinicName : 'Clínica não identificada'); + const clinicName = socket.user?.clinicName || clientInfo?.clinicName || 'Clínica não identificada'; // Determinar data de criação const formatLocalDateTime = (date) => { @@ -1144,7 +1144,7 @@ io.on('connection', (socket) => { ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING id`, [ data.metadata.guid, - data.patientData.name || 'Paciente não identificado', + (data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido', clinicName, clientName, data.metadata.fileName,