import { AuthToken } from '../definitions/internal'; import Socket from '../../api/Socket'; import SocketSetMap from '../utils/socketSetMap'; import SocketSet from '../utils/socketSet'; import { RawSocket } from '../definitions/rawSocket'; import AuthConfig from '../auth/authConfig'; export default class SocketMapper { private readonly authConfig; constructor(authConfig: AuthConfig); readonly mapUserIdToSocket: SocketSetMap; readonly mapTokenIdToSocket: SocketSetMap; readonly mapAuthUserGroupToSocket: SocketSetMap; readonly defaultUserGroupSet: SocketSet; readonly panelUserSet: SocketSet; /** * Unmap the socket from every mapper with the token information. * @param token * @param socket */ private unmapSocketToken; /** * Unmap the socket from every mapper. * @param rawSocket */ unmapSocket(rawSocket: RawSocket): void; /** * Update the socket token maps. * @param oldToken * @param newToken * @param socket */ updateSocketTokenMaps(oldToken: AuthToken | null, newToken: AuthToken | null, socket: Socket): void; getSocketsWithTokenId(tokenId: string): Socket[]; getSocketsWithUserId(userId: string): Socket[]; getAuthUserGroupsCounts(): Record; getDefaultUserGroupCount(): number; getPanelClientsCount(): number; getAuthUserGroupCount(authUserGroup: string): number; getAuthUserGroupsSockets(): Record; getDefaultUserGroupSockets(): Socket[]; getPanelSockets(): Socket[]; getAuthUserGroupSockets(authUserGroup: string): Socket[]; }