32 lines
854 B
JavaScript
32 lines
854 B
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 { initWebsocket } from "./src/websocket.js";
|
|
import { initAuth } from "./src/auth.js";
|
|
import { close as closeDbConnection, initDbConnection, db } from "./src/db.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(morgan(process.env.production ? 'common' : 'dev'));
|
|
app.use(express.json());
|
|
app.use(cookieParser());
|
|
|
|
await initDbConnection();
|
|
|
|
initAuth(app, db);
|
|
initWebsocket(app);
|
|
|
|
app.listen(port, () => {
|
|
console.log(`Listening on port ${port}`);
|
|
});
|