Files
MultiRoombaRover/server/src/services/roleService.js
T
2025-11-13 13:54:14 -05:00

34 lines
625 B
JavaScript

const EventEmitter = require('events');
const roleEvents = new EventEmitter();
function getRole(socket) {
return socket?.data?.role || 'user';
}
function setRole(socket, role) {
socket.data = socket.data || {};
if (socket.data.role === role) {
return;
}
socket.data.role = role;
roleEvents.emit('change', { socket, role });
}
function isAdmin(socket) {
const role = getRole(socket);
return role === 'admin' || role === 'lockdown';
}
function isLockdownAdmin(socket) {
return getRole(socket) === 'lockdown';
}
module.exports = {
getRole,
setRole,
isAdmin,
isLockdownAdmin,
roleEvents,
};