This commit is contained in:
2024-12-22 15:10:40 +05:00
parent df2694dc43
commit 472c89cd0e
+30 -11
View File
@@ -29,21 +29,25 @@ io.on("connection", async (socket) => {
console.log((error as Error).message);
}
if (activeSession?.ownerIp === user.ownerIp || user.superAdmin) {
user.isAdmin = true;
user.isControlAllowed = true;
} else {
user.isAdmin = false;
user.isControlAllowed = false;
}
// console.log("socket.conn.remoteAddress", socket.conn.remoteAddress);
// console.log("socket.handshake.address", socket.handshake.address);
socket.join(roomId);
const sockets = await io.in(roomId).fetchSockets();
if (activeSession?.ownerIp === user.ownerIp || user.superAdmin) {
user.isAdmin = true;
} else {
user.isAdmin = false;
}
if (
!sockets.find((socket) => socket.handshake.auth.user.isControlAllowed) &&
user.isAdmin
) {
user.isControlAllowed = true;
} else {
user.isControlAllowed = false;
}
io.to(roomId).emit(
"update",
sockets.map((socket) => socket.handshake.auth.user)
@@ -92,6 +96,21 @@ io.on("connection", async (socket) => {
});
});
socket.on("video-initialized", async (userId) => {
const sockets = await io.in(roomId).fetchSockets();
const roomUsers = sockets.map((socket) => socket.handshake.auth.user);
const updatedRoomUsers = roomUsers.map((roomUser) => {
if (roomUser.id === userId) {
roomUser.isVideoInitialized = true;
}
return roomUser;
});
io.to(roomId).emit("update", updatedRoomUsers);
});
socket.on("disconnect", async () => {
const sockets = await io.in(roomId).fetchSockets();