This commit is contained in:
Peter Maquiran
2022-01-10 15:56:11 +01:00
parent d6605c519c
commit 316803e9e0
2 changed files with 64 additions and 13 deletions
@@ -193,6 +193,57 @@ class _RocketChatClientService {
}
/**
* @param roomId
* @param key
* @param funx
*/
receiveLiveMessageFromRoom(roomId, key, funx: Function) {
this.ws.registerCallback({
type:'Onmessage',
requestId: key,
funx:(message)=>{
if(message.msg =='result') {
if(message.result.msg) {
if(message.result.rid == roomId) {
funx(message)
}
}
}
}
})
}
streamRoomMessages(roomId : string) {
const conditions = this.attemptRequestQueue({roomId},{methodName: 'subscribe'})
if(conditions == false) { return new Promise((resolve, reject) => { reject('no error')}); }
const requestId = uuidv4()
const request = {
"msg": "sub",
"id": requestId,
"name": "stream-room-messages",
"params":[
`${roomId}/event`,
false
]
}
this.ws.send(request);
return new Promise((resolve, reject) => {
this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{
if(message.msg == 'ready' || message.subs[0] == requestId) { // same request send
resolve(message)
}
}})
});
}
streamNotifyRoom(roomId : string) {
const conditions = this.attemptRequestQueue({roomId},{methodName: 'subscribe'})
if(conditions == false) { return new Promise((resolve, reject) => { reject('no error')}); }
@@ -221,10 +272,6 @@ class _RocketChatClientService {
});
}
private disconnect = () => {
}
// socket class ==================================================================
private socket!: WebSocket;