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) => { console.log('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); }); });