Initial server state
This commit is contained in:
@ -8,7 +8,7 @@ module.exports.connectUserToRoom = (roomId, user) => {
|
||||
} else {
|
||||
rooms[roomId] = {members: [{...user, creator: true}], settings: {}};
|
||||
}
|
||||
console.log(JSON.stringify(rooms));
|
||||
console.log(`User ${user.name} connected to room ${roomId}`);
|
||||
}
|
||||
|
||||
module.exports.getUserRoom = (userId) => {
|
||||
@ -18,6 +18,21 @@ module.exports.getUserRoom = (userId) => {
|
||||
|
||||
if (memberIndex !== -1) return roomId;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports.getRoomUsers = (roomId) => {
|
||||
if (rooms[roomId]) {
|
||||
return rooms[roomId].members;
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
module.exports.getRoomCreator = (roomId) => {
|
||||
if (rooms[roomId]) {
|
||||
return rooms[roomId].members.find(member => member.creator);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports.disconnectUser = (userId) => {
|
||||
@ -26,12 +41,17 @@ module.exports.disconnectUser = (userId) => {
|
||||
const memberIndex = room.members.findIndex(member => member.id === userId);
|
||||
|
||||
if (memberIndex !== -1) {
|
||||
if (room.members[memberIndex].creator) {
|
||||
if (room.members.length > 1) room.members[1].creator = true;
|
||||
if (room.members[memberIndex].creator && room.members.length > 1) {
|
||||
room.members[1].creator = true;
|
||||
}
|
||||
|
||||
room.members.splice(memberIndex, 1);
|
||||
if (room.members.length === 0) delete rooms[roomId];
|
||||
console.log(`User ${userId} disconnected from room ${roomId}`);
|
||||
|
||||
if (room.members.length === 0) {
|
||||
delete rooms[roomId];
|
||||
console.log(`Room ${roomId} deleted because it's empty`);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user