Files
DRBv3/server/modules/socketServer.mjs
Logan Cusano 4df3de4d4a
Some checks failed
Run Socket Server Tests / test (push) Failing after 30s
Passing local server tests
2024-04-07 19:01:00 -04:00

39 lines
1.1 KiB
JavaScript

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('<h1>Hello world</h1>');
});
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);
});
});