import { createServer } from "node:http"; import os from "node:os"; import createApp from "./app.js"; import { startDatamartSync } from "./src/datamart/datamartSync.controller.js"; import { createLogger } from "./src/logger/logger.controller.js"; import { connectProdSql } from "./src/prodSql/prodSqlConnection.controller.js"; import { setupSocketIORoutes } from "./src/socket.io/serverSetup.js"; const port = Number(process.env.PORT) || 3000; const start = async () => { const log = createLogger({ module: "system", subModule: "main start" }); // triggering long lived processes connectProdSql(); startDatamartSync(); const { app, baseUrl } = await createApp(); const server = createServer(app); setupSocketIORoutes(baseUrl, server); server.listen(port, async () => { log.info( `Listening on http://${os.hostname()}:${port}${baseUrl}, logging in ${process.env.LOG_LEVEL}, current ENV ${process.env.NODE_ENV ? process.env.NODE_ENV : "development"}`, ); }); }; start();