mirror of
https://github.com/chaos-zhu/easynode.git
synced 2026-10-07 16:37:58 +08:00
34 lines
745 B
JavaScript
34 lines
745 B
JavaScript
const socketServers = new Set()
|
|
const rdpSockets = new Set()
|
|
|
|
const registerSocketServer = (serverIo) => {
|
|
socketServers.add(serverIo)
|
|
return serverIo
|
|
}
|
|
|
|
const registerRdpSocket = (socket) => {
|
|
rdpSockets.add(socket)
|
|
socket.once('close', () => rdpSockets.delete(socket))
|
|
}
|
|
|
|
const revokeAllSessions = async (sessionStore) => {
|
|
return sessionStore.updateAsync(
|
|
{},
|
|
{ $set: { revoked: true } },
|
|
{ multi: true }
|
|
)
|
|
}
|
|
|
|
const disconnectAllSessionConnections = () => {
|
|
for (const serverIo of socketServers) serverIo.disconnectSockets(true)
|
|
for (const socket of rdpSockets) socket.destroy()
|
|
rdpSockets.clear()
|
|
}
|
|
|
|
export {
|
|
disconnectAllSessionConnections,
|
|
registerRdpSocket,
|
|
registerSocketServer,
|
|
revokeAllSessions
|
|
}
|