-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroom.js
More file actions
30 lines (25 loc) · 814 Bytes
/
room.js
File metadata and controls
30 lines (25 loc) · 814 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
let rooms = [];
exports.addOrEditRoom = ({ id, name, game }) => {
if (!name) return { roomError: "room name required." };
let room = getRoom(name);
if (room !== undefined){
rooms.pop(room);
}
room = { id, name, game};
rooms.push(room);
console.log(`${room.name} created for ${room.game}`);
return { curRoom: room };
};
exports.getRoom = (name) => {
if (!name) return { roomError: "room name required." };
let room = getRoom(name);
return { curRoom: room };
};
exports.removeRoom = (id) => {
const index = rooms.findIndex((room) => room.id === id);
return index === -1 ? undefined : rooms.pop(rooms[index]);
}
getRoom = (name) => {
const index = rooms.findIndex((room) => room.name === name);
return index === -1 ? undefined : rooms[index];
}