33 lines
865 B
TypeScript
33 lines
865 B
TypeScript
import express from "express";
|
|
import cors from "cors";
|
|
import routes from "./routes";
|
|
import { errorHandler } from "./middlewares/error.middleware";
|
|
import { apiLogger } from "./middlewares/logger.middleware";
|
|
import authRoutes from "./routes/auth";
|
|
import { authenticateJWT } from "./middlewares/auth.middleware";
|
|
import dotenv from "dotenv";
|
|
|
|
dotenv.config();
|
|
const FRONTEND_URL = process.env.FRONTEND_URL;
|
|
|
|
const app = express();
|
|
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true })); // For form data
|
|
app.use(apiLogger);
|
|
|
|
app.use(
|
|
cors({
|
|
origin: FRONTEND_URL,
|
|
methods: ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"],
|
|
allowedHeaders: ["Content-Type", "Authorization"],
|
|
credentials: true,
|
|
})
|
|
);
|
|
|
|
app.use("/api/auth", authRoutes);
|
|
app.use("/api", authenticateJWT, routes);
|
|
|
|
app.use(errorHandler);
|
|
|
|
export default app; |