UNPKG

@underpostnet/underpost

Version:

Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orc

59 lines (55 loc) 1.58 kB
/** * WebSocket session registration bridge. * Registers and unregisters the authenticated user's identity with the server-side * WebSocket management layer, enabling targeted real-time pushes (e.g. email confirmation). * * @module client/core/Webhook * @namespace WebhookProvider */ import { SocketIo } from './SocketIo.js'; /** * @class WebhookProvider * @classdesc Provides static methods to register/unregister the authenticated user * with the server-side WebSocket session management channels. * @memberof WebhookProvider */ class WebhookProvider { /** * Registers the authenticated user with the server-side WebSocket channels. * Creates a user↔socket mapping on the server, enabling targeted events. * * @static * @async * @param {Object} options - Registration options. * @param {Object} options.user - The authenticated user object to register. * @returns {Promise<void>} */ static async register(options = { user: {} }) { const { user } = options; SocketIo.Emit('mailer', { status: 'register-user', user, }); SocketIo.Emit('user', { status: 'register-user', user, }); } /** * Unregisters the current user from server-side WebSocket channels. * Cleans up the user↔socket mapping on the server. * * @static * @async * @returns {Promise<void>} */ static async unregister() { SocketIo.Emit('mailer', { status: 'unregister-user', }); SocketIo.Emit('user', { status: 'unregister-user', }); } } export { WebhookProvider };