fix(storage): elimina inconsistências de clinicName/patientName no Wasabi
continuous-integration/webhook Deploy concluído (VPS4)

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 <noreply@anthropic.com>
This commit is contained in:
VPS 4 Deploy Agent
2026-05-31 07:48:46 +02:00
parent 33ee2cf801
commit 7b883761ef
+5 -5
View File
@@ -968,7 +968,7 @@ io.on('connection', (socket) => {
// Buscar nome do cliente se identificado // Buscar nome do cliente se identificado
const clientInfo = connectedClients.find(c => c.socketId === socket.id); const clientInfo = connectedClients.find(c => c.socketId === socket.id);
const clientName = clientInfo ? clientInfo.name : 'PC não identificado'; 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 patientName = (data.patientData && data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido';
// Salvar imagem original local e na nuvem // 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`, ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING id`,
[ [
data.metadata.guid, data.metadata.guid,
data.patientData.name || 'Paciente não identificado', (data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido',
clinicName, clinicName,
clientName, clientName,
data.metadata.fileName, data.metadata.fileName,
@@ -1080,7 +1080,7 @@ io.on('connection', (socket) => {
const clientInfo = connectedClients.find(c => c.socketId === socket.id); const clientInfo = connectedClients.find(c => c.socketId === socket.id);
const clientName = clientInfo ? clientInfo.name : 'PC não identificado'; 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 patientName = (data.patientData && data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido';
const timestamp = Date.now(); const timestamp = Date.now();
@@ -1117,7 +1117,7 @@ io.on('connection', (socket) => {
const clientInfo = connectedClients.find(c => c.socketId === socket.id); const clientInfo = connectedClients.find(c => c.socketId === socket.id);
const clientName = clientInfo ? clientInfo.name : 'PC não identificado'; 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 // Determinar data de criação
const formatLocalDateTime = (date) => { 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`, ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING id`,
[ [
data.metadata.guid, data.metadata.guid,
data.patientData.name || 'Paciente não identificado', (data.patientData.name && data.patientData.name.trim()) ? data.patientData.name.trim() : 'Desconhecido',
clinicName, clinicName,
clientName, clientName,
data.metadata.fileName, data.metadata.fileName,