import { DebugBuilder } from "../modules/debugger.mjs"; const log = new DebugBuilder("server", "socketServer"); import express from "express"; import { createServer } from "node:http"; import { Server } from "socket.io"; import morgan from "morgan"; import { nodeLoginWrapper, nodeUpdateWrapper, nodeDisconnectWrapper, nearbySystemsUpdateWraper, } from "./socketServerWrappers.mjs"; export const app = express(); export const server = createServer(app); export const nodeIo = new Server(server); app.use(morgan("tiny")); app.get("/", (req, res) => { res.send("

Hello world

"); }); nodeIo.on("connection", (socket) => { log.INFO("a user connected", socket.id); socket.on("node-login", async (data) => { await nodeLoginWrapper(data, socket); await socket.emit("node-login-successful"); }); socket.on("node-update", async (data) => { let tempPromises = []; tempPromises.push(nodeUpdateWrapper(data.node)); tempPromises.push( nearbySystemsUpdateWraper(data.node.nuid, data.nearbySystems), ); await Promise.all(tempPromises); await socket.emit("node-update-successful"); }); socket.on("disconnect", () => { nodeDisconnectWrapper(socket.id); }); });