From c72d4aad994612aa61f00fed28f12a3458fa6ff4 Mon Sep 17 00:00:00 2001 From: Rodrigo Martins Date: Tue, 22 Apr 2025 19:09:56 -0300 Subject: [PATCH] tenta fix pdfservice.js --- src/server/routes/provas.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/server/routes/provas.ts b/src/server/routes/provas.ts index 2f318b1..1d649e9 100644 --- a/src/server/routes/provas.ts +++ b/src/server/routes/provas.ts @@ -28,6 +28,17 @@ router.post('/upload', upload.array('files'), async (req, res) => { } : null; // Metadata avançada seguindo RFC 3227 + // Corrigir: priorizar latitude/longitude do frontend se vierem preenchidas + let latitude = undefined; + let longitude = undefined; + if ( + req.body.latitude !== undefined && req.body.latitude !== null && req.body.latitude !== '' && + req.body.longitude !== undefined && req.body.longitude !== null && req.body.longitude !== '' + ) { + latitude = parseFloat(req.body.latitude); + longitude = parseFloat(req.body.longitude); + } + const metadata = { userAgent: req.body.user_agent, language: req.body.language, @@ -40,7 +51,11 @@ router.post('/upload', upload.array('files'), async (req, res) => { forwardedIp: forwarded, socketAddress: socketInfo?.address, socketPort: socketInfo?.port, - remoteFamily: req.socket.remoteFamily + // Corrigir: determinar família do IP real + remoteFamily: (() => { + const ip = (req.ip || req.socket.remoteAddress || '').toString(); + return ip.includes(':') ? 'IPv6' : 'IPv4'; + })() }, timestamp: new Date(), modification_times: req.body.modification_times, @@ -50,8 +65,8 @@ router.post('/upload', upload.array('files'), async (req, res) => { platform: req.body.platform, cookies_enabled: req.body.cookies_enabled, browser_plugins: req.body.browser_plugins, - latitude: req.body.latitude, - longitude: req.body.longitude, + latitude, // sempre priorizar o valor do frontend + longitude, location_permission: req.body.location_permission, client_timestamp: req.body.client_timestamp, headers: {