From 438c1752461eb48bb47ab9aba65d0a5b899c327e Mon Sep 17 00:00:00 2001 From: Sidney Date: Sun, 31 May 2026 18:05:37 -0300 Subject: [PATCH] debug: add database telemetry to portal finance endpoint --- manager/scratch/test_portal_finance.js | 28 ++++++++++++++++++++++++++ portal/server.selfhosted.js | 7 ++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 manager/scratch/test_portal_finance.js diff --git a/manager/scratch/test_portal_finance.js b/manager/scratch/test_portal_finance.js new file mode 100644 index 0000000..f30795c --- /dev/null +++ b/manager/scratch/test_portal_finance.js @@ -0,0 +1,28 @@ +import fetch from 'node-fetch'; + +async function run() { + try { + const loginRes = await fetch('https://aluno.microtecinformaticacurso.com.br/api/portal/login', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + enrollmentNumber: 'MAT-202600005', + password: '068467' + }) + }); + const loginData = await loginRes.json(); + console.log('Login Response:', loginData); + + if (loginData.token) { + const finRes = await fetch('https://aluno.microtecinformaticacurso.com.br/api/portal/financeiro', { + headers: { Authorization: `Bearer ${loginData.token}` } + }); + const finData = await finRes.json(); + console.log('Financeiro API Response:', JSON.stringify(finData, null, 2)); + } + } catch (err) { + console.error('Error during test:', err); + } +} + +run(); diff --git a/portal/server.selfhosted.js b/portal/server.selfhosted.js index d25f913..9200a7b 100644 --- a/portal/server.selfhosted.js +++ b/portal/server.selfhosted.js @@ -314,6 +314,7 @@ app.get('/api/portal/financeiro', authMiddleware, async (req, res) => { dbRows = rows || []; } catch (dbErr) { console.error('Financeiro: erro ao buscar do PostgreSQL -', dbErr.message); + return res.status(500).json({ error: 'Erro no SQL: ' + dbErr.message, studentId: req.user.studentId }); } // 2. CONSTRUIR LISTA FINAL: Apenas registros do SQL (fonte Ășnica da verdade) @@ -372,7 +373,11 @@ app.get('/api/portal/financeiro', authMiddleware, async (req, res) => { }); } - res.json({ payments: finalPayments }); + res.json({ + payments: finalPayments, + debugStudentId: req.user.studentId, + dbRowsCount: dbRows.length + }); } catch (err) { console.error('Financeiro error:', err); res.status(500).json({ error: 'Erro interno' });