feat: handle remote CRUD patient commands via socket
continuous-integration/webhook Client .exe publicado em produção (VPS4)

This commit is contained in:
VPS 4 Builder
2026-06-02 01:28:29 +02:00
parent 4ac199da97
commit ac1fb025fc
3 changed files with 3689 additions and 1 deletions
+33
View File
@@ -1168,6 +1168,39 @@ function connectToServer() {
message: 'Teste de conexão respondido pelo cliente' message: 'Teste de conexão respondido pelo cliente'
}); });
}); });
socket.on('remote-crud-patient', async (data) => {
addLog(`📩 Recebido comando de CRUD Remoto (Ação: ${data.action})`);
try {
const db = getLocalDb();
if (!db) {
addLog('❌ Falha ao acessar banco de dados local para CRUD.');
return;
}
if (data.action === 'create') {
const p = data.patient;
addLog(`👤 Criando paciente remoto: ${p.fullName}`);
const stmt = db.prepare('INSERT INTO Patients (Id, FirstName, LastName, Doctor, Remark) VALUES (?, ?, ?, ?, ?)');
stmt.run(p.id, p.firstName || '', p.lastName || '', p.doctor || '', p.remark || '');
addLog('✅ Paciente criado com sucesso localmente!');
} else if (data.action === 'update') {
const oldName = data.oldName;
const p = data.patient;
addLog(`✏️ Atualizando paciente remoto: ${oldName}`);
const stmt = db.prepare("UPDATE Patients SET Doctor = COALESCE(?, Doctor), Remark = COALESCE(?, Remark) WHERE (FirstName || ' ' || LastName) = ?");
stmt.run(p.doctor || null, p.remark || null, oldName);
addLog('✅ Paciente atualizado com sucesso localmente!');
} else if (data.action === 'delete') {
const pName = data.patientName;
addLog(`🗑️ Excluindo paciente remoto: ${pName}`);
const stmt = db.prepare("DELETE FROM Patients WHERE (FirstName || ' ' || LastName) = ?");
stmt.run(pName);
addLog('✅ Paciente excluído com sucesso localmente!');
}
} catch (e) {
addLog(`❌ Erro no CRUD remoto: ${e.message}`);
}
});
} }
// Função para Identificar o Cliente // Função para Identificar o Cliente
+3655
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "rx.scoreodonto.com-client", "name": "rx.scoreodonto.com-client",
"version": "1.3.1", "version": "1.3.2",
"author": "ScoreOdonto", "author": "ScoreOdonto",
"description": "Cliente Windows para envio de imagens dentais da ScoreOdonto", "description": "Cliente Windows para envio de imagens dentais da ScoreOdonto",
"main": "index.js", "main": "index.js",