feature/IO-3096-GlobalNotifications - Checkpoint, App Queue
This commit is contained in:
@@ -2,14 +2,7 @@ const { admin } = require("../firebase/firebase-handler");
|
||||
|
||||
const redisSocketEvents = ({
|
||||
io,
|
||||
redisHelpers: {
|
||||
addUserSocketMapping,
|
||||
removeUserSocketMapping,
|
||||
setSessionData,
|
||||
getSessionData,
|
||||
clearSessionData,
|
||||
refreshUserSocketTTL
|
||||
},
|
||||
redisHelpers: { addUserSocketMapping, removeUserSocketMapping, refreshUserSocketTTL },
|
||||
ioHelpers: { getBodyshopRoom, getBodyshopConversationRoom },
|
||||
logger
|
||||
}) => {
|
||||
@@ -30,7 +23,6 @@ const redisSocketEvents = ({
|
||||
try {
|
||||
const user = await admin.auth().verifyIdToken(token);
|
||||
socket.user = user;
|
||||
await setSessionData(socket.id, "user", { ...user, bodyshopId });
|
||||
await addUserSocketMapping(user.email, socket.id, bodyshopId);
|
||||
next();
|
||||
} catch (error) {
|
||||
@@ -60,7 +52,6 @@ const redisSocketEvents = ({
|
||||
return;
|
||||
}
|
||||
socket.user = user;
|
||||
await setSessionData(socket.id, "user", { ...user, bodyshopId });
|
||||
await refreshUserSocketTTL(user.email, bodyshopId);
|
||||
createLogEvent(
|
||||
socket,
|
||||
@@ -124,18 +115,15 @@ const redisSocketEvents = ({
|
||||
const registerDisconnectEvents = (socket) => {
|
||||
const disconnect = async () => {
|
||||
if (socket.user?.email) {
|
||||
const userData = await getSessionData(socket.id, "user");
|
||||
const bodyshopId = userData?.bodyshopId;
|
||||
if (bodyshopId) {
|
||||
await removeUserSocketMapping(socket.user.email, socket.id, bodyshopId);
|
||||
}
|
||||
await clearSessionData(socket.id);
|
||||
await removeUserSocketMapping(socket.user.email, socket.id);
|
||||
}
|
||||
// Leave all rooms except the default room (socket.id)
|
||||
const rooms = Array.from(socket.rooms).filter((room) => room !== socket.id);
|
||||
for (const room of rooms) {
|
||||
socket.leave(room);
|
||||
}
|
||||
};
|
||||
|
||||
socket.on("disconnect", disconnect);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user