diff --git a/packages/streaming-server/src/managers/SessionsManager/index.js b/packages/streaming-server/src/managers/SessionsManager/index.js index abe430f2..60e4360a 100644 --- a/packages/streaming-server/src/managers/SessionsManager/index.js +++ b/packages/streaming-server/src/managers/SessionsManager/index.js @@ -1,6 +1,7 @@ export default class SessionsManager { constructor() { this.sessions = {} + this.publicStreams = [] } newSession = (id, session) => { @@ -13,7 +14,19 @@ export default class SessionsManager { removeSession = (id) => { this.sessions[id].reject() - + delete this.sessions[id] } + + publishStream = (payload) => { + if (typeof payload !== "object") { + throw new Error("Payload must be an object") + } + + this.publicStreams.push(payload) + } + + unpublishStream = (id) => { + this.publicStreams = this.publicStreams.filter(stream => stream.id !== id) + } } \ No newline at end of file