import path from "path"; import { PrismaClient } from "@prisma/client"; import bodyParser from "body-parser"; import cors from "cors"; import dotenv from "dotenv"; import express from "express"; import calculosJudiciaisRoutes from "./routes/calculosJudiciais"; import indicesMonetariosRoutes from "./routes/indicesMonetarios"; import pensaoAlimenticiaRoutes from "./routes/pensaoAlimenticia"; import provasRoutes from "./routes/provas"; 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 };