upd
This commit is contained in:
+30
-11
@@ -29,21 +29,25 @@ io.on("connection", async (socket) => {
|
|||||||
console.log((error as Error).message);
|
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);
|
socket.join(roomId);
|
||||||
|
|
||||||
const sockets = await io.in(roomId).fetchSockets();
|
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(
|
io.to(roomId).emit(
|
||||||
"update",
|
"update",
|
||||||
sockets.map((socket) => socket.handshake.auth.user)
|
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 () => {
|
socket.on("disconnect", async () => {
|
||||||
const sockets = await io.in(roomId).fetchSockets();
|
const sockets = await io.in(roomId).fetchSockets();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user