Skip to main content
Version: 0.27.0

Class: FishjamClient

Defined in: js-server-sdk/src/client.ts:24

Client class that allows to manage Rooms and Peers for a Fishjam App. It requires the Fishjam ID and management token that can be retrieved from the Fishjam Dashboard.

Constructors​

Constructor​

new FishjamClient(config): FishjamClient

Defined in: js-server-sdk/src/client.ts:43

Create new instance of Fishjam Client.

Example usage:

const fishjamClient = new FishjamClient({ fishjamId: fastify.config.FISHJAM_ID, managementToken: fastify.config.FISHJAM_MANAGEMENT_TOKEN, });

Parameters​

ParameterType
configFishjamConfig

Returns​

FishjamClient

Methods​

createAgent()​

createAgent(roomId, options, callbacks?): Promise<{ agent: FishjamAgent; peer: Peer; }>

Defined in: js-server-sdk/src/client.ts:147

Create a new agent assigned to a room.

Parameters​

ParameterType
roomIdRoomId
optionsPeerOptionsAgent
callbacks?AgentCallbacks

Returns​

Promise<{ agent: FishjamAgent; peer: Peer; }>


createLivestreamStreamerToken()​

createLivestreamStreamerToken(roomId): Promise<StreamerToken>

Defined in: js-server-sdk/src/client.ts:268

Creates a livestream streamer token for the given room.

Parameters​

ParameterType
roomIdRoomId

Returns​

Promise<StreamerToken>

a livestream streamer token


createLivestreamViewerToken()​

createLivestreamViewerToken(roomId): Promise<ViewerToken>

Defined in: js-server-sdk/src/client.ts:255

Creates a livestream viewer token for the given room.

Parameters​

ParameterType
roomIdRoomId

Returns​

Promise<ViewerToken>

a livestream viewer token


createMoqToken()​

createMoqToken(config?): Promise<MoqToken>

Defined in: js-server-sdk/src/client.ts:281

Creates a MoQ token.

Parameters​

ParameterType
config?MoqTokenConfig

Returns​

Promise<MoqToken>

a MoQ token


createPeer()​

createPeer(roomId, options): Promise<{ peer: Peer; peerToken: string; }>

Defined in: js-server-sdk/src/client.ts:127

Create a new peer assigned to a room.

Parameters​

ParameterType
roomIdRoomId
optionsPeerOptionsWebRTC

Returns​

Promise<{ peer: Peer; peerToken: string; }>


createRoom()​

createRoom(config): Promise<Room>

Defined in: js-server-sdk/src/client.ts:85

Create a new room. All peers connected to the same room will be able to send/receive streams to each other.

Parameters​

ParameterType
configRoomConfig

Returns​

Promise<Room>


createVapiAgent()​

createVapiAgent(roomId, options): Promise<{ peer: Peer; }>

Defined in: js-server-sdk/src/client.ts:173

Create a new VAPI agent assigned to a room.

Parameters​

ParameterType
roomIdRoomId
optionsPeerOptionsVapi

Returns​

Promise<{ peer: Peer; }>


deletePeer()​

deletePeer(roomId, peerId): Promise<void>

Defined in: js-server-sdk/src/client.ts:205

Delete a peer - this will also disconnect the peer from the room.

Parameters​

ParameterType
roomIdRoomId
peerIdPeerId

Returns​

Promise<void>


deleteRoom()​

deleteRoom(roomId): Promise<void>

Defined in: js-server-sdk/src/client.ts:104

Delete an existing room. All peers connected to this room will be disconnected and removed.

Parameters​

ParameterType
roomIdRoomId

Returns​

Promise<void>


getAllRooms()​

getAllRooms(): Promise<Room[]>

Defined in: js-server-sdk/src/client.ts:115

Get a list of all existing rooms.

Returns​

Promise<Room[]>


getRoom()​

getRoom(roomId): Promise<Room>

Defined in: js-server-sdk/src/client.ts:193

Get details about a given room.

Parameters​

ParameterType
roomIdRoomId

Returns​

Promise<Room>


refreshPeerToken()​

refreshPeerToken(roomId, peerId): Promise<string>

Defined in: js-server-sdk/src/client.ts:242

Refresh the peer token for an already existing peer. If an already created peer has not been connected to the room for more than 24 hours, the token will become invalid. This method can be used to generate a new peer token for the existing peer.

Parameters​

ParameterType
roomIdRoomId
peerIdPeerId

Returns​

Promise<string>

refreshed peer token


subscribePeer()​

subscribePeer(roomId, subscriberPeerId, publisherPeerId): Promise<void>

Defined in: js-server-sdk/src/client.ts:217

Subscribe a peer to another peer - this will make all tracks from the publisher available to the subscriber. Using this function only makes sense if subscribeMode is set to manual

Parameters​

ParameterType
roomIdRoomId
subscriberPeerIdPeerId
publisherPeerIdPeerId

Returns​

Promise<void>


subscribeTracks()​

subscribeTracks(roomId, subscriberPeerId, tracks): Promise<void>

Defined in: js-server-sdk/src/client.ts:229

Subscribe a peer to specific tracks from another peer - this will make only the specified tracks from the publisher available to the subscriber. Using this function only makes sense if subscribeMode is set to manual

Parameters​

ParameterType
roomIdRoomId
subscriberPeerIdPeerId
tracksTrackId[]

Returns​

Promise<void>