eletrotupi / tcc/ api/src/createApp.ts7a3f55eecfa08deb3999c41491c051ffe6a85ebe
766 B | 32 lines Raw
1
import express from 'express';
2
import cors from 'cors';
3
import bodyParser from 'body-parser';
4
import morgan from 'morgan';
5
import userRouter from '@app/routes/users';
6
import authRouter from '@app/routes/auth';
7
import { errorHandler } from '@app/middleware/errorHandler';
8
import { PrismaClient } from '@prisma/client';
9

10
export function createApp() {
11
  const app = express();
12

13
  // Configure CORS
14
  app.use(cors({
15
    origin: process.env.FRONTEND_URL || '*',
16
    credentials: true
17
  }));
18

19
  app.use(bodyParser.json());
20

21
  // Only use morgan in non-test environments
22
  if (process.env.NODE_ENV !== 'test') {
23
    app.use(morgan('combined'));
24
  }
25

26
  app.use("/users", userRouter);
27
  app.use("/auth", authRouter);
28

29
  app.use(errorHandler); // always last
30

31
  return app;
32
}