43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
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 };
|