Fix IP in ProvaService.ts and Add PUBLIC_URL
Signed-off-by: Rodrigo Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
8dfe0d6f94
commit
949694fcfc
6 files changed
+307
-30
No files matched your search
@@ -175,15 +175,57 @@ router.get('/:id/status', async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// Verificar documento
|
||||
// Rota de verificação
|
||||
router.get('/verificar/:hash', async (req, res) => {
|
||||
try {
|
||||
const { hash } = req.params;
|
||||
|
||||
// Coletar informações de conexão do cliente
|
||||
const clientInfo = {
|
||||
ipAddress: req.ip,
|
||||
remoteAddress: req.socket?.remoteAddress,
|
||||
headers: req.headers,
|
||||
userAgent: req.headers['user-agent'],
|
||||
verificadoEm: new Date().toISOString()
|
||||
};
|
||||
|
||||
// Instanciar o serviço e verificar a prova
|
||||
const provaService = new ProvaService();
|
||||
const result = await provaService.verifyFile(hash);
|
||||
res.json(result);
|
||||
|
||||
// Registrar a verificação no log de acessos (opcional)
|
||||
try {
|
||||
await prisma.verificacaoProva.create({
|
||||
data: {
|
||||
provaId: result.prova?.id,
|
||||
hash,
|
||||
ipAddress: req.headers['x-forwarded-for'] || req.ip || '127.0.0.1',
|
||||
userAgent: req.headers['user-agent'] || 'Desconhecido',
|
||||
timestamp: new Date(),
|
||||
success: result.verified,
|
||||
metadata: clientInfo
|
||||
}
|
||||
});
|
||||
console.log('Verificação registrada com sucesso');
|
||||
} catch (logError) {
|
||||
console.error('Erro ao registrar verificação:', logError);
|
||||
// Não interromper o fluxo por erro de log
|
||||
}
|
||||
|
||||
// Retornar os dados da verificação
|
||||
return res.status(200).json({
|
||||
...result,
|
||||
verificacao: {
|
||||
timestamp: new Date(),
|
||||
ip: req.headers['x-forwarded-for'] || req.ip || '127.0.0.1'
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erro ao verificar documento:', error);
|
||||
res.status(500).json({ error: 'Erro ao verificar documento' });
|
||||
console.error('Erro ao verificar arquivo:', error);
|
||||
return res.status(500).json({
|
||||
verified: false,
|
||||
message: `Erro ao verificar: ${error.message}`
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user