29 lines
812 B
TypeScript
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);
|
|
},
|
|
});
|