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