cloud-run-websockets/chat-with-sessions/users.js (13 lines of code) (raw):

const users = new Map(); function addUser(id, name, room) { // const existingUser = users.find(user => user.name.trim().toLowerCase() === name.trim().toLowerCase()) // if (existingUser) return { error: "Username has already been taken" } // if (!name && !room) return { error: "Username and room are required" } // if (!name) return { error: "Username is required" } // if (!room) return { error: "Room is required" } users.set(id, {user: name, room}) } function getUser(id) { return users.get(id) || {}; } function deleteUser(id) { const user = getUser(id); users.delete(id); return user; } module.exports = { addUser, getUser, deleteUser }