Files
optima/src/index.ts
T

29 lines
812 B
TypeScript

import { refresh } from "./api/auth";
import app from "./api/server";
import { engine, PORT } from "./constants";
import { refreshCompanies } from "./modules/cw-utils/refreshCompanies";
import { events, setupEventDebugger } from "./modules/globalEvents";
// Setup global event debugger in non-production environments
if (Bun.env.NODE_ENV == "development") setupEventDebugger();
// Refresh the internal list of companies every minute
await refreshCompanies();
setInterval(() => {
return refreshCompanies();
}, 60 * 1000);
Bun.serve({
port: PORT,
websocket: engine.handler().websocket,
fetch: (req, server) => {
const url = new URL(req.url);
if (url.pathname.startsWith("/socket.io/")) {
return engine.handleRequest(req, server as any);
}
return app.fetch(req, server);
},
});