feat: handle remote CRUD patient commands via socket
continuous-integration/webhook Client .exe publicado em produção (VPS4)
continuous-integration/webhook Client .exe publicado em produção (VPS4)
This commit is contained in:
@@ -1168,6 +1168,39 @@ function connectToServer() {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user