Files
lst_v3/backend/app.ts

36 lines
1020 B
TypeScript

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") {
baseUrl = "/lst";
}
// if we are running un docker lets use this.
if (process.env.RUNNING_IN_DOCKER) {
baseUrl = "/lst";
}
// well leave this active so we can monitor it to validate
app.use(morgan("tiny"));
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;