generated from Codaisseur/express-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsocketIoData.js
More file actions
112 lines (91 loc) · 2.41 KB
/
socketIoData.js
File metadata and controls
112 lines (91 loc) · 2.41 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
const users = [];
let rooms = [];
let finishedUsers = [];
const getAllData = () => {
console.log("users", users);
console.log("rooms", rooms);
console.log("finishedUsers", finishedUsers);
};
const addFinishedUser = (id, name, room, code) => {
room = room.trim().toLowerCase();
const existingUser = finishedUsers.find(
(user) => user.room === room && user.id === id
);
if (existingUser) {
return { error: "You already submitted your code!" };
}
const user = { id, name, room, code };
finishedUsers.push(user);
return { user };
};
const getAllFinished = (room) => {
return finishedUsers.filter(
(user) => user.room === room.trim().toLowerCase()
);
};
const removeAllFinished = (room) => {
finishedUsers = finishedUsers.filter(
(user) => user.room !== room.trim().toLowerCase()
);
return [];
};
const createRoom = (id, exercise, room) => {
const duplicate = rooms.find(
(roomObject) => roomObject.room === room.toLowerCase().trim()
);
console.log(duplicate);
if (duplicate) {
console.log("that one already exists!");
} else {
const currentRoom = { id, exercise, room: room.trim().toLowerCase() };
rooms.push(currentRoom);
return room;
}
};
const getRoom = (roomName) =>
rooms.find((room) => {
return room.room === roomName.trim().toLowerCase();
});
const removeRoom = (roomName) => {
const remainingRooms = rooms.filter((room) => {
console.log("What I have", roomName, "What I need", room.room);
return room.room !== roomName.trim().toLowerCase();
});
rooms = remainingRooms;
return [];
};
const addUser = ({ imageUrl, id, name, room }) => {
room = room.trim().toLowerCase();
const existingUser = users.find(
(user) => user.room === room && user.id === id
);
if (existingUser) {
return { error: "this user already is in the Classroom" };
}
const user = { imageUrl, id, name, room };
users.push(user);
return { user };
};
const removeUser = (id) => {
const index = users.findIndex((user) => user.id === id);
if (index !== -1) {
return users.splice(index, 1)[0];
}
};
const getUser = (id) => users.find((user) => user.id === id);
const getAll = (room) => {
return users.filter((user) => user.room === room.trim().toLowerCase());
};
module.exports = {
addUser,
removeUser,
getUser,
getAll,
createRoom,
getRoom,
removeRoom,
addFinishedUser,
getAllFinished,
removeAllFinished,
getAllData,
};