You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Global-sales/wai-server/core/websocket/services/session.js

31 lines
566 B
JavaScript

const generateId = require('../../../utils/generateId.util');
module.exports = () => {
const sessions = new Map();
const createSession = (sessionId, ws) => {
sessions.set(ws, sessionId);
return { sessionId };
};
const getSession = sessionId => {
for (const [ws, storedSessionId] of sessions) {
if (storedSessionId === sessionId) {
return ws;
}
}
return null;
};
const removeSession = ws => {
sessions.delete(ws);
};
return {
createSession,
getSession,
removeSession,
sessions,
};
};