File size: 1,101 Bytes
a0fda44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
const { clearChatRoom } = require("../controllers/chatRoomController");

// When user is typing a message
exports.typingController = (io, socket) => {
  socket.on("user:typing", (chatRoomId, userId) => {
    if (!socket.userId) return;

    socket
      .to(chatRoomId)
      .emit("user:typing", { userId: userId || socket.userId, chatRoomId });
  });
};

// When user is recording a message
exports.recordingcontroller = (io, socket) => {
  socket.on("user:recording", (chatRoomId) => {
    if (!socket.userId) return;

    socket
      .to(chatRoomId)
      .emit("user:recording", { userId: socket.userId, chatRoomId });
  });

  socket.on("user:recordingStopped", (chatRoomId) => {
    if (!socket.userId) return;

    socket
      .to(chatRoomId)
      .emit("user:recordingStopped", { userId: socket.userId, chatRoomId });
  });
};

// When user clears a chatRoom
exports.clearChatRoomController = (io, socket) => {
  socket.on("user:chatRoomClear", async ({ chatRoomId }) => {
    await clearChatRoom({ chatRoomId });
    io.to(chatRoomId).emit("user:chatRoomClear", { chatRoomId });
  });
};