refactored backend

This commit is contained in:
Wenszel
2023-11-25 19:30:07 +01:00
parent ffaaf0b6f3
commit a1b39a3a45
14 changed files with 231 additions and 163 deletions
+35
View File
@@ -0,0 +1,35 @@
const Room = require('../models/room');
const { sendToPlayersData } = require('../socket/emits');
const getRoom = async roomId => {
return await Room.findOne({ _id: roomId }).exec();
};
const getRooms = async () => {
return await Room.find().exec();
};
const updateRoom = async room => {
return await Room.findOneAndUpdate({ _id: room._id }, room).exec();
};
const getJoinableRoom = async () => {
return await Room.findOne({ full: false, started: false }).exec();
};
const createNewRoom = () => {
const room = new Room();
return room;
};
const findPlayer = async sessionID => {
const player = await Room.findOne({ 'players.sessionID': sessionID }).exec();
console.log(player);
return await Room.findOne({ 'players.sessionID': sessionID }).exec();
};
Room.watch().on('change', async data => {
sendToPlayersData(await getRoom(data.documentKey._id));
});
module.exports = { getRoom, getRooms, updateRoom, getJoinableRoom, createNewRoom, findPlayer };
-23
View File
@@ -1,23 +0,0 @@
const session = require('express-session');
const CONNECTION_URI = require('../credentials.js');
const MongoDBStore = require('connect-mongodb-session')(session);
const store = new MongoDBStore({
uri: CONNECTION_URI,
collection: 'sessions',
});
const sessionMiddleware = session({
store: store,
credentials: true,
cookie: {
httpOnly: false,
secure: false,
},
secret: 'secret',
saveUninitialized: true,
resave: true,
maxAge: 20000,
});
const wrap = expressMiddleware => (socket, next) => expressMiddleware(socket.request, {}, next);
module.exports = { sessionMiddleware, wrap };