feature/IO-3096-GlobalNotifications - Checkpoint, App Queue

This commit is contained in:
Dave Richer
2025-02-18 17:37:24 -05:00
parent 00005c881e
commit 2a81517104
4 changed files with 190 additions and 189 deletions

View File

@@ -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);
};