Files
Jeopardy-Server/index.js

38 lines
1.1 KiB
JavaScript

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}`);
});