32 lines
993 B
TypeScript
32 lines
993 B
TypeScript
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();
|