import { toNodeHandler } from "better-auth/node"; import express from "express"; import morgan from "morgan"; import { createLogger } from "./src/logger/logger.controller.js"; import { setupRoutes } from "./src/routeHandler.routes.js"; import { auth } from "./src/utils/auth.utils.js"; import { lstCors } from "./src/utils/cors.utils.js"; const createApp = async () => { const log = createLogger({ module: "system", subModule: "main start" }); const app = express(); let baseUrl = "/"; if (process.env.NODE_ENV?.trim() !== "production") { app.use(morgan("tiny")); baseUrl = "/lst"; } app.set("trust proxy", true); app.all(`${baseUrl}api/auth/*splat`, toNodeHandler(auth)); app.use(express.json()); app.use(lstCors()); setupRoutes(baseUrl, app); log.info("Express app created"); return { app, baseUrl }; }; export default createApp;