From 19d74cdde9ab3f871bbfa9fc5900bf5898098051 Mon Sep 17 00:00:00 2001 From: VPS 4 Deploy Agent Date: Sat, 30 May 2026 18:35:25 +0200 Subject: [PATCH] fix: remove legacy html routes causing 500 error --- .../dental-client/public/version.txt | 2 +- dental-server/server.js | 68 +------------------ 2 files changed, 2 insertions(+), 68 deletions(-) diff --git a/dental-server/dental-client/public/version.txt b/dental-server/dental-client/public/version.txt index 3eefcb9..1b5105d 100644 --- a/dental-server/dental-client/public/version.txt +++ b/dental-server/dental-client/public/version.txt @@ -1 +1 @@ -1.0.0 +2.1.14 diff --git a/dental-server/server.js b/dental-server/server.js index 8abbb91..a3e4414 100644 --- a/dental-server/server.js +++ b/dental-server/server.js @@ -452,78 +452,12 @@ TRUST_PROXY=true console.log('✅ Arquivo .env atualizado'); } -// ================================================================ -// SERVIDOR DE FRONTEND ESTÁTICO COM CACHE BUSTER AUTOMÁTICO -// ================================================================ - -// Página de instalação -app.get('/install', (req, res) => { - serveHtmlWithCacheBuster(res, path.join(__dirname, 'public', 'install.html')); -}); - -// Página web principal -app.get('/', (req, res) => { - serveHtmlWithCacheBuster(res, path.join(__dirname, 'public', 'index.html')); -}); - -// Favicon redirect/fallback -app.get('/favicon.ico', (req, res) => { - res.sendFile(path.join(__dirname, 'public', 'favicon.svg')); -}); - -// Página de clientes conectados -app.get('/clients', (req, res) => { - serveHtmlWithCacheBuster(res, path.join(__dirname, 'public', 'clients.html')); -}); - -// Página de reset de fábrica -app.get('/reset', (req, res) => { - serveHtmlWithCacheBuster(res, path.join(__dirname, 'public', 'reset.html')); -}); - -// Página de Clínicas -app.get('/admin-clinics', (req, res) => { - serveHtmlWithCacheBuster(res, path.join(__dirname, 'public', 'admin-clinics.html')); -}); +// Rotas de autenticação (públicas) // Rotas de autenticação (públicas) app.use('/api/auth', authRoutes); app.use('/api/client', clientAuthRoutes); -// Página de login -app.get('/login', (req, res) => { - serveHtmlWithCacheBuster(res, path.join(__dirname, 'auth', 'login.html')); -}); - -// Middleware de autenticação estática (movemos pro final depois) - -// Função utilitária de Cache Buster -async function serveHtmlWithCacheBuster(res, filePath) { - try { - // Lê version.txt (não package.json) para não ter cache-miss no Docker a cada deploy - let APP_VERSION; - try { - APP_VERSION = (await fs.readFile(path.join(__dirname, 'version.txt'), 'utf8')).trim(); - } catch (_) { - APP_VERSION = require('./package.json').version || Date.now(); - } - let content = await fs.readFile(filePath, 'utf8'); - - // Injeta versão em tags de script e css - content = content.replace(/src="([^"]+\.js)(?:\?v=[^"]*)?"/g, `src="$1?v=${APP_VERSION}"`); - content = content.replace(/href="([^"]+\.css)(?:\?v=[^"]*)?"/g, `href="$1?v=${APP_VERSION}"`); - // Substitui o número de versão exibido na sidebar (elimina hardcode no HTML) - content = content.replace(/(]*>)\s*v\d+\.\d+\.\d+\s*(<\/span>)/g, `$1v${APP_VERSION}$2`); - - res.set('Content-Type', 'text/html'); - res.set('Cache-Control', 'no-store, no-cache, must-revalidate, private'); - res.send(content); - } catch (err) { - console.error('Erro ao ler HTML:', err); - res.status(500).send('Erro interno ao carregar a página.'); - } -} - // ================================================================ // MIDDLEWARE DE VERIFICAÇÃO DE INSTALAÇÃO (APENAS PARA APIs)