import express from 'express'; import bodyParser from 'body-parser'; import cors from 'cors'; import dotenv from 'dotenv'; import path from 'path'; import { PrismaClient } from '@prisma/client'; import provasRoutes from './routes/provas'; import calculosJudiciaisRoutes from './routes/calculosJudiciais'; import indicesMonetariosRoutes from './routes/indicesMonetarios'; import pensaoAlimenticiaRoutes from './routes/pensaoAlimenticia'; dotenv.config(); const app = express(); const prisma = new PrismaClient(); // Configurar para confiar em proxies, permitindo a leitura de X-Forwarded-For // Isso é necessário se sua aplicação estiver atrás de um balanceador de carga, // proxy reverso ou Cloudflare app.set('trust proxy', true); app.use(cors()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use('/api/provas', provasRoutes); app.use('/api/calculos', calculosJudiciaisRoutes); app.use('/api/indices', indicesMonetariosRoutes); app.use('/api/pensao-alimenticia', pensaoAlimenticiaRoutes); app.use(express.static(path.join(__dirname, 'public'))); app.set('trust proxy', true); // Importante para obter o IP real em ambientes com proxy const PORT = process.env.PORT || 5000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); }); export { app, prisma };