fix: remove legacy html routes causing 500 error
continuous-integration/webhook Falha no deploy (VPS4)
continuous-integration/webhook Falha no deploy (VPS4)
This commit is contained in:
@@ -1 +1 @@
|
|||||||
1.0.0
|
2.1.14
|
||||||
|
|||||||
+1
-67
@@ -452,78 +452,12 @@ TRUST_PROXY=true
|
|||||||
console.log('✅ Arquivo .env atualizado');
|
console.log('✅ Arquivo .env atualizado');
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================================================================
|
// Rotas de autenticação (públicas)
|
||||||
// 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/auth', authRoutes);
|
||||||
app.use('/api/client', clientAuthRoutes);
|
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(/(<span[^>]*>)\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)
|
// MIDDLEWARE DE VERIFICAÇÃO DE INSTALAÇÃO (APENAS PARA APIs)
|
||||||
|
|||||||
Reference in New Issue
Block a user