move to public repo

This commit is contained in:
Nathaniel Tampus
2023-01-03 15:47:30 +08:00
commit 17ce3cf4c4
58 changed files with 2430 additions and 0 deletions

46
server/src/server.ts Normal file
View File

@@ -0,0 +1,46 @@
import "dotenv/config";
import cors from "cors";
const corsConfig = { origin: "https://ches.su", credentials: true };
import express, { Request, Response, NextFunction } from "express";
import { createServer } from "http";
import session from "./middleware/session";
import { Server } from "socket.io";
import { init as initSocket } from "./socket";
import { db } from "./db";
import routes from "./routes";
const app = express();
const server = createServer(app);
// database
db.connect();
// middleware
app.use(cors(corsConfig));
app.use(express.json());
app.set("trust proxy", 1);
app.use(session);
app.use("/v1", routes);
// socket.io
export const io = new Server(server, { cors: corsConfig });
io.use((socket, next) => {
session(socket.request as Request, {} as Response, next as NextFunction);
});
io.use((socket, next) => {
const session = socket.request.session;
if (session && session.user) {
next();
} else {
console.log("io.use: no session");
socket.disconnect();
}
});
initSocket();
const port = process.env.PORT || 5432;
server.listen(port, () => {
console.log(`listening on :${port}`);
});