import dotenv from 'dotenv'; dotenv.config(); import express from 'express'; import expressWs from 'express-ws'; import morgan from 'morgan'; import cookieParser from 'cookie-parser'; import cors from 'cors'; import { initWebsocket } from './src/websocket.js'; import { initAuth } from './src/auth.js'; import { close as closeDbConnection, initDbConnection, db } from './src/db.js'; import { initUsers } from './src/user.js'; import { initCdn } from './src/cdn.js'; const app = express(); const appWs = expressWs(app); const port = 12345; process.on('exit', function () { console.log('Shutting down...'); console.log('Closing db connection...'); closeDbConnection(); }); app.use(cors({ credentials: true, origin: process.env.JEOPARDY_URL })); app.use(morgan(process.env.production ? 'common' : 'dev')); app.use(express.json()); app.use(cookieParser()); await initDbConnection(); initAuth(app, db); initUsers(app, db); initWebsocket(app); initCdn(app, db); app.listen(port, () => { console.log(`Listening on port ${port}`); });