refactored backend
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
const socketManager = require('./socketManager');
|
||||
|
||||
const sendToPlayersRolledNumber = (id, rolledNumber) => {
|
||||
socketManager.getIO().to(id).emit('game:roll', rolledNumber);
|
||||
};
|
||||
|
||||
const sendToPlayersData = room => {
|
||||
socketManager.getIO().to(room._id.toString()).emit('room:data', JSON.stringify(room));
|
||||
};
|
||||
|
||||
const sendToOnePlayerData = (id, room) => {
|
||||
socketManager.getIO().to(id).emit('room:data', JSON.stringify(room));
|
||||
};
|
||||
|
||||
const sendToOnePlayerRooms = (id, rooms) => {
|
||||
socketManager.getIO().to(id).emit('room:rooms', JSON.stringify(rooms));
|
||||
};
|
||||
|
||||
module.exports = { sendToPlayersData, sendToPlayersRolledNumber, sendToOnePlayerData, sendToOnePlayerRooms };
|
||||
@@ -0,0 +1,39 @@
|
||||
const { sessionMiddleware } = require('../config/session');
|
||||
|
||||
const socketManager = {
|
||||
io: null,
|
||||
initialize(server) {
|
||||
this.io = require('socket.io')(server, {
|
||||
cors: {
|
||||
origin: 'http://localhost:3000',
|
||||
credentials: true,
|
||||
},
|
||||
allowRequest: (req, callback) => {
|
||||
const fakeRes = {
|
||||
getHeader() {
|
||||
return [];
|
||||
},
|
||||
setHeader(key, values) {
|
||||
req.cookieHolder = values[0];
|
||||
},
|
||||
writeHead() {},
|
||||
};
|
||||
sessionMiddleware(req, fakeRes, () => {
|
||||
if (req.session) {
|
||||
fakeRes.writeHead();
|
||||
req.session.save();
|
||||
}
|
||||
callback(null, true);
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
getIO() {
|
||||
if (!this.io) {
|
||||
throw new Error('Socket.io not initialized');
|
||||
}
|
||||
return this.io;
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = socketManager;
|
||||
Reference in New Issue
Block a user