Skip to content

Abstraction for Utilizing Rocket.Chat's Realtime API Methods with RxJS

License

Notifications You must be signed in to change notification settings

inf3cti0n95/Rocket.Chat.RealTime.API.RxJS

Repository files navigation

Rocket.Chat.RealTime.API.RxJS

Commitizen friendly Build Status codecov npm semantic-release

Abstraction for Utilizing Rocket.Chat's Realtime API Methods with RxJS v6

Installation

npm install --save rocket.chat.realtime.api.rxjs

For RxJS v5 Version of the Package

npm install --save rocket.chat.realtime.api.rxjs@1.0.0

Usage


import { RealTimeAPI } from "rocket.chat.realtime.api.rxjs";

const realTimeAPI =  new RealTimeAPI("wss://demo.rocket.chat/websocket");
// Provide, URL to the Rocket.Chat's Realtime API.

realTimeAPI.keepAlive().subscribe();
// Responds "pong" to the "ping" message sent by the Realtime API. To keep the connection alive.

const auth = realTimeAPI.login(USERNAME, PASSWORD);
// Creating Observable

//Now subscribing the observable

    auth.subscribe(
    (data) => console.log(data),
    (err) => console.log(err),
    () => console.log('completed'));
...
...

// Use any of the methods implmented in the package.

Methods

Methods Functionality
connectToServer() Initiates Connections to the Server to the RealTime API. Returns Observable with the server's response
keepAlive() Returns Observable to subscribe which Responds "pong" to the "ping" message sent by the Realtime API. To keep the connection alive.
login(username, password) Returns Observable to the Result/Response from the RealTime API.
loginWithAuthToken(authToken) Returns Observable to the Result/Response from the RealTime API.
loginWithOAuth(credToken, credSecret) Returns Observable to the Result/Response from the RealTime API.
callMethod(methodName, ...params) Returns Observable to the Result of Method Call from Rocket.Chat Realtime API
sendMessage(jsonObject) Sends the JSON Object to the API Server
onMessage( message => console.log(message) ) Subscribes to the Messages sent from the server
onError( error => console.error(error) ) Subscribes to the Errors.
onCompletion(() => console.info("Complete")) Subscribes to Completion on the Websocket Connection
subscribe(messageHandler, errorHandler, completionHandler) Subscribes to All three i.e - messages, errors and completion
getObservable() Returns observable of the WebSocket Connection to the RealTime API
disconnect() Disconnect the WebSocket Connection between client and RealTime API

Checkout the Rocket.Chat's RealTime API documentation for further information on working of the RealTime API.