fix(ui): replace all MySQL references with PostgreSQL
Update SyncView description, security note, mock progress logs, dbConfig, loading text in PatientsView, UpdateDbView warning, and metadata.json description. Rename syncGoogleSheetsToMysql → syncGoogleSheetsToPg. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "ScoreOdonto CRM",
|
||||
"description": "Sistema de gerenciamento para clínica odontológica com integração híbrida (MySQL + Google Sheets) e design moderno.",
|
||||
"description": "Sistema de gerenciamento para clínica odontológica com integração híbrida (PostgreSQL + Google Sheets) e design moderno.",
|
||||
"requestFramePermissions": []
|
||||
}
|
||||
@@ -32,12 +32,8 @@ const apiFetch = async (url: string, options: RequestInit = {}) => {
|
||||
};
|
||||
|
||||
export const HybridBackend = {
|
||||
// Configurações do Banco de Dados fornecidas
|
||||
dbConfig: {
|
||||
host: 'localhost',
|
||||
user: 'root', // Exemplo
|
||||
password: '',
|
||||
database: 'sis_odonto'
|
||||
database: 'scoreodonto'
|
||||
},
|
||||
|
||||
// --- AUTH METHODS ---
|
||||
@@ -161,16 +157,15 @@ export const HybridBackend = {
|
||||
" SCOREODONTO - ATUALIZADOR DE BANCO DE DADOS ",
|
||||
"--------------------------------------------------",
|
||||
"[INFO] VERIFICANDO AMBIENTE...",
|
||||
"[OK] AMBIENTE MYSQL DETECTADO.",
|
||||
"[OK] AMBIENTE POSTGRESQL DETECTADO.",
|
||||
`[INFO] CONECTANDO DB: ${HybridBackend.dbConfig.database}...`,
|
||||
`[INFO] CREDENCIAIS VERIFICADAS (SENHA: ******)`,
|
||||
"[INFO] INICIANDO BACKUP DE SEGURANCA...",
|
||||
`[OK] BACKUP SALVO EM: ./bkp_database/BKP_${new Date().toISOString().replace(/[:.]/g, '-')}.SQL`,
|
||||
"[INFO] CONECTANDO API GOOGLE SHEETS...",
|
||||
"[INFO] LENDO PLANILHA: 'Dados Pacientes'...",
|
||||
" > 1.240 LINHAS ENCONTRADAS.",
|
||||
" > VALIDANDO DADOS (CPF, TELEFONE)...",
|
||||
"[INFO] SINCRONIZANDO COM MYSQL (sis_odonto)...",
|
||||
"[INFO] SINCRONIZANDO COM POSTGRESQL (scoreodonto)...",
|
||||
" > FORCANDO PADRAO 'UPPERCASE' EM TODOS OS CAMPOS TEXTUAIS...",
|
||||
" > ATUALIZANDO TABELA: PACIENTES...",
|
||||
" > ATUALIZANDO TABELA: FINANCEIRO...",
|
||||
@@ -190,16 +185,16 @@ export const HybridBackend = {
|
||||
return true;
|
||||
},
|
||||
|
||||
syncGoogleSheetsToMysql: async (onProgress: (log: string) => void) => {
|
||||
syncGoogleSheetsToPg: async (onProgress: (log: string) => void) => {
|
||||
onProgress("INICIANDO CONEXÃO COM GOOGLE SHEETS...");
|
||||
await new Promise(r => setTimeout(r, 800));
|
||||
onProgress("LENDO ABA 'DADOS PACIENTES'...");
|
||||
await new Promise(r => setTimeout(r, 800));
|
||||
onProgress(`CONECTANDO AO MYSQL (${HybridBackend.dbConfig.database})...`);
|
||||
onProgress(`CONECTANDO AO POSTGRESQL (${HybridBackend.dbConfig.database})...`);
|
||||
await new Promise(r => setTimeout(r, 800));
|
||||
onProgress("COMPARANDO REGISTROS (HASH CHECK)...");
|
||||
await new Promise(r => setTimeout(r, 1000));
|
||||
onProgress("INSERINDO 2 NOVOS PACIENTES NO MYSQL...");
|
||||
onProgress("INSERINDO 2 NOVOS PACIENTES NO POSTGRESQL...");
|
||||
onProgress("ATUALIZANDO 4 AGENDAMENTOS...");
|
||||
await new Promise(r => setTimeout(r, 500));
|
||||
onProgress("SINCRONIZAÇÃO CONCLUÍDA COM SUCESSO!");
|
||||
|
||||
@@ -858,7 +858,7 @@ export const SyncView: React.FC = () => {
|
||||
setSyncing(true);
|
||||
setLogs([]);
|
||||
try {
|
||||
await HybridBackend.syncGoogleSheetsToMysql((log) => {
|
||||
await HybridBackend.syncGoogleSheetsToPg((log) => {
|
||||
setLogs(prev => [...prev, `[${new Date().toLocaleTimeString()}] ${log}`]);
|
||||
});
|
||||
toast.success("SINCRONIZAÇÃO CONCLUÍDA COM SUCESSO!");
|
||||
@@ -871,7 +871,7 @@ export const SyncView: React.FC = () => {
|
||||
|
||||
return (
|
||||
<div className="max-w-4xl mx-auto space-y-6">
|
||||
<PageHeader title="IMPORTAÇÃO E SINCRONIZAÇÃO" description="GOOGLE SHEETS ➔ MYSQL (SIS_ODONTO)">
|
||||
<PageHeader title="IMPORTAÇÃO E SINCRONIZAÇÃO" description="GOOGLE SHEETS ➔ POSTGRESQL">
|
||||
<button
|
||||
onClick={startSync}
|
||||
disabled={syncing}
|
||||
@@ -898,7 +898,7 @@ export const SyncView: React.FC = () => {
|
||||
<div>
|
||||
<h4 className="text-sm font-bold text-yellow-800 uppercase">NOTA DE SEGURANÇA</h4>
|
||||
<p className="text-xs text-yellow-700 mt-1 uppercase font-medium">
|
||||
ESTA AÇÃO LÊ TODOS OS DADOS DA PLANILHA MESTRE E ATUALIZA O BANCO DE DADOS MYSQL LOCAL.
|
||||
ESTA AÇÃO LÊ TODOS OS DADOS DA PLANILHA MESTRE E ATUALIZA O BANCO DE DADOS POSTGRESQL.
|
||||
O GOOGLE SHEETS PERMANECE COMO FONTE SEGURA DE BACKUP. CONFLITOS SERÃO RESOLVIDOS PRIORIZANDO A DATA DE MODIFICAÇÃO MAIS RECENTE.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -463,7 +463,7 @@ export const PatientsView: React.FC = () => {
|
||||
)}
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 overflow-y-auto pb-10">
|
||||
{isLoading && <div className="col-span-3 text-center p-10 text-gray-500 uppercase font-bold flex justify-center items-center gap-2"><Loader2 className="animate-spin" /> CARREGANDO DADOS DO MYSQL...</div>}
|
||||
{isLoading && <div className="col-span-3 text-center p-10 text-gray-500 uppercase font-bold flex justify-center items-center gap-2"><Loader2 className="animate-spin" /> CARREGANDO DADOS DO POSTGRESQL...</div>}
|
||||
{error && <div className="col-span-3 text-center p-10 text-red-600 uppercase font-bold">ERRO AO CARREGAR: {error.message}</div>}
|
||||
|
||||
{displayedPacientes && displayedPacientes.map(p => (
|
||||
|
||||
@@ -52,7 +52,7 @@ export const UpdateDbView: React.FC = () => {
|
||||
<div>
|
||||
<h2 className="text-lg font-bold text-gray-800 uppercase">SCRIPT DE ATUALIZAÇÃO (SH/UPDATE_DB.SH)</h2>
|
||||
<p className="text-gray-500 text-sm mt-2 max-w-md mx-auto uppercase">
|
||||
ESTA AÇÃO IRÁ LER A PLANILHA "DADOS PACIENTES", GERAR UM BACKUP SQL E ATUALIZAR AS TABELAS DO MYSQL.
|
||||
ESTA AÇÃO IRÁ LER A PLANILHA "DADOS PACIENTES", GERAR UM BACKUP SQL E ATUALIZAR AS TABELAS DO POSTGRESQL.
|
||||
</p>
|
||||
</div>
|
||||
<div className="bg-gray-800 text-green-400 p-4 rounded-lg font-mono text-sm text-left max-w-md mx-auto shadow-inner">
|
||||
|
||||
Reference in New Issue
Block a user