plugnmeet-sdk-js 2.1.3-1 → 2.1.3-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +93 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +253 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.js +93 -0
- package/dist/index.mjs.js.map +1 -1
- package/package.json +7 -6
package/dist/index.cjs.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
var $8zHUo$bufbuildprotobuf = require("@bufbuild/protobuf");
|
|
2
2
|
var $8zHUo$plugnmeetprotocoljs = require("plugnmeet-protocol-js");
|
|
3
|
+
var $8zHUo$fs = require("fs");
|
|
4
|
+
var $8zHUo$formdata = require("form-data");
|
|
3
5
|
var $8zHUo$axios = require("axios");
|
|
4
6
|
var $8zHUo$crypto = require("crypto");
|
|
5
7
|
|
|
@@ -37,6 +39,10 @@ $parcel$export(module.exports, "PlugNmeet", () => $405dcbf07186a1ff$export$1402d
|
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
40
46
|
class $e71a992b229cccd4$export$5a82ec1641dd9681 {
|
|
41
47
|
constructor(apiEndPointURL, apiKey, apiSecret){
|
|
42
48
|
this.prepareHeader = (body)=>{
|
|
@@ -70,6 +76,38 @@ class $e71a992b229cccd4$export$5a82ec1641dd9681 {
|
|
|
70
76
|
return output;
|
|
71
77
|
}
|
|
72
78
|
};
|
|
79
|
+
this.sendMultipartRequest = async (path, roomId, formData)=>{
|
|
80
|
+
const output = {
|
|
81
|
+
status: false,
|
|
82
|
+
response: undefined
|
|
83
|
+
};
|
|
84
|
+
const headers = {
|
|
85
|
+
'Room-Id': roomId,
|
|
86
|
+
...this.prepareHeader(roomId),
|
|
87
|
+
...formData.getHeaders()
|
|
88
|
+
};
|
|
89
|
+
try {
|
|
90
|
+
const res = await this.axios.post(path, formData, {
|
|
91
|
+
headers: headers,
|
|
92
|
+
// Return the raw response string, preventing axios from decoding it.
|
|
93
|
+
// The protobuf `fromJson` method will handle the parsing.
|
|
94
|
+
transformResponse: [
|
|
95
|
+
(data)=>data
|
|
96
|
+
]
|
|
97
|
+
});
|
|
98
|
+
output.status = true;
|
|
99
|
+
output.response = res.data;
|
|
100
|
+
return output;
|
|
101
|
+
} catch (error) {
|
|
102
|
+
output.response = error.message;
|
|
103
|
+
if (error.response) try {
|
|
104
|
+
const decode = (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema), error.response.data);
|
|
105
|
+
output.response = decode.msg;
|
|
106
|
+
// oxlint-disable-next-line
|
|
107
|
+
} catch (e) {}
|
|
108
|
+
return output;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
73
111
|
this.apiKey = apiKey;
|
|
74
112
|
this.apiSecret = apiSecret;
|
|
75
113
|
this.axios = (0, ($parcel$interopDefault($8zHUo$axios))).create({
|
|
@@ -188,6 +226,47 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
188
226
|
return (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.RoomEndResSchema), res.response);
|
|
189
227
|
}
|
|
190
228
|
/**
|
|
229
|
+
* Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.
|
|
230
|
+
* @param params
|
|
231
|
+
* @returns Promise<CommonResponse>
|
|
232
|
+
*/ async broadcastToRoom(params) {
|
|
233
|
+
const body = (0, $8zHUo$bufbuildprotobuf.create)((0, $8zHUo$plugnmeetprotocoljs.BroadcastToRoomReqSchema), params);
|
|
234
|
+
const res = await this.apiTransport.sendRequest('/room/broadcastToRoom', (0, $8zHUo$bufbuildprotobuf.toJsonString)((0, $8zHUo$plugnmeetprotocoljs.BroadcastToRoomReqSchema), body));
|
|
235
|
+
const output = (0, $8zHUo$bufbuildprotobuf.create)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema));
|
|
236
|
+
if (!res.status) {
|
|
237
|
+
output.msg = res.response;
|
|
238
|
+
return output;
|
|
239
|
+
}
|
|
240
|
+
return (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Upload a file to be used on the whiteboard.
|
|
244
|
+
* @param params
|
|
245
|
+
* @returns Promise<CommonResponse>
|
|
246
|
+
*/ async uploadWhiteboardFile(params) {
|
|
247
|
+
const output = (0, $8zHUo$bufbuildprotobuf.create)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema), {
|
|
248
|
+
statusCode: (0, $8zHUo$plugnmeetprotocoljs.StatusCode).INVALID_PARAMETERS
|
|
249
|
+
});
|
|
250
|
+
const formData = new (0, ($parcel$interopDefault($8zHUo$formdata)))();
|
|
251
|
+
if (params.filePath) {
|
|
252
|
+
if (!(0, $8zHUo$fs.existsSync)(params.filePath)) {
|
|
253
|
+
output.msg = "The provided 'filePath' is not a valid file path.";
|
|
254
|
+
return output;
|
|
255
|
+
}
|
|
256
|
+
formData.append('document', (0, $8zHUo$fs.createReadStream)(params.filePath));
|
|
257
|
+
} else if (params.document_link) formData.append('document_link', params.document_link);
|
|
258
|
+
else {
|
|
259
|
+
output.msg = 'Either filePath or document_link is required';
|
|
260
|
+
return output;
|
|
261
|
+
}
|
|
262
|
+
const res = await this.apiTransport.sendMultipartRequest('/room/uploadWhiteboardFile', params.roomId, formData);
|
|
263
|
+
if (!res.status) {
|
|
264
|
+
output.msg = res.response;
|
|
265
|
+
return output;
|
|
266
|
+
}
|
|
267
|
+
return (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
191
270
|
* Fetch artifacts
|
|
192
271
|
* @param params
|
|
193
272
|
* @returns Promise<FetchArtifactsRes>
|
|
@@ -300,6 +379,20 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
300
379
|
return (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.UpdateRecordingMetadataResSchema), res.response);
|
|
301
380
|
}
|
|
302
381
|
/**
|
|
382
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
383
|
+
* @param params
|
|
384
|
+
* @returns Promise<CommonResponseSchema>
|
|
385
|
+
*/ async mergeRecordings(params) {
|
|
386
|
+
const body = (0, $8zHUo$bufbuildprotobuf.create)((0, $8zHUo$plugnmeetprotocoljs.MergeRecordingsReqSchema), params);
|
|
387
|
+
const res = await this.apiTransport.sendRequest('/recording/mergeRecordings', (0, $8zHUo$bufbuildprotobuf.toJsonString)((0, $8zHUo$plugnmeetprotocoljs.MergeRecordingsReqSchema), body));
|
|
388
|
+
const output = (0, $8zHUo$bufbuildprotobuf.create)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema));
|
|
389
|
+
if (!res.status) {
|
|
390
|
+
output.msg = res.response;
|
|
391
|
+
return output;
|
|
392
|
+
}
|
|
393
|
+
return (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
303
396
|
* Get recording details
|
|
304
397
|
* @param params
|
|
305
398
|
* @returns Promise<RecordingInfoRes>
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport {\n CreateRoomReq,\n CreateRoomRes,\n GenerateTokenReq,\n GenerateTokenRes,\n IsRoomActiveReq,\n IsRoomActiveRes,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoRes,\n GetActiveRoomsInfoRes,\n FetchPastRoomsReq,\n FetchPastRoomsRes,\n RoomEndReq,\n RoomEndRes,\n FetchArtifactsReq,\n FetchArtifactsRes,\n DeleteArtifactReq,\n DeleteArtifactRes,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenRes,\n ArtifactInfoReq,\n ArtifactInfoRes,\n FetchRecordingsReq,\n FetchRecordingsRes,\n DeleteRecordingReq,\n DeleteRecordingRes,\n GetDownloadTokenReq,\n GetDownloadTokenRes,\n RecordingInfoReq,\n RecordingInfoRes,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataRes,\n GetClientFilesRes,\n CreateRoomReqSchema,\n CreateRoomResSchema,\n GenerateTokenReqSchema,\n GenerateTokenResSchema,\n IsRoomActiveReqSchema,\n IsRoomActiveResSchema,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoResSchema,\n FetchPastRoomsReqSchema,\n FetchPastRoomsResSchema,\n RoomEndReqSchema,\n RoomEndResSchema,\n FetchArtifactsReqSchema,\n FetchArtifactsResSchema,\n DeleteArtifactReqSchema,\n DeleteArtifactResSchema,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenResSchema,\n ArtifactInfoReqSchema,\n ArtifactInfoResSchema,\n FetchRecordingsReqSchema,\n FetchRecordingsResSchema,\n DeleteRecordingReqSchema,\n DeleteRecordingResSchema,\n GetDownloadTokenReqSchema,\n GetDownloadTokenResSchema,\n RecordingInfoReqSchema,\n RecordingInfoResSchema,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataResSchema,\n GetClientFilesResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.cjs.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { createReadStream, existsSync } from 'fs';\nimport FormData from 'form-data';\nimport {\n ArtifactInfoReq,\n ArtifactInfoReqSchema,\n ArtifactInfoRes,\n ArtifactInfoResSchema,\n BroadcastToRoomReq,\n BroadcastToRoomReqSchema,\n CommonResponse,\n CommonResponseSchema,\n CreateRoomReq,\n CreateRoomReqSchema,\n CreateRoomRes,\n CreateRoomResSchema,\n DeleteArtifactReq,\n DeleteArtifactReqSchema,\n DeleteArtifactRes,\n DeleteArtifactResSchema,\n DeleteRecordingReq,\n DeleteRecordingReqSchema,\n DeleteRecordingRes,\n DeleteRecordingResSchema,\n FetchArtifactsReq,\n FetchArtifactsReqSchema,\n FetchArtifactsRes,\n FetchArtifactsResSchema,\n FetchPastRoomsReq,\n FetchPastRoomsReqSchema,\n FetchPastRoomsRes,\n FetchPastRoomsResSchema,\n FetchRecordingsReq,\n FetchRecordingsReqSchema,\n FetchRecordingsRes,\n FetchRecordingsResSchema,\n GenerateTokenReq,\n GenerateTokenReqSchema,\n GenerateTokenRes,\n GenerateTokenResSchema,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoRes,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoRes,\n GetActiveRoomsInfoResSchema,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenRes,\n GetArtifactDownloadTokenResSchema,\n GetClientFilesRes,\n GetClientFilesResSchema,\n GetDownloadTokenReq,\n GetDownloadTokenReqSchema,\n GetDownloadTokenRes,\n GetDownloadTokenResSchema,\n IsRoomActiveReq,\n IsRoomActiveReqSchema,\n IsRoomActiveRes,\n IsRoomActiveResSchema,\n MergeRecordingsReq,\n MergeRecordingsReqSchema,\n RecordingInfoReq,\n RecordingInfoReqSchema,\n RecordingInfoRes,\n RecordingInfoResSchema,\n RoomEndReq,\n RoomEndReqSchema,\n RoomEndRes,\n RoomEndResSchema,\n StatusCode,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataRes,\n UpdateRecordingMetadataResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI, UploadWhiteboardFileReq } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async broadcastToRoom(\n params: BroadcastToRoomReq,\n ): Promise<CommonResponse> {\n const body = create(BroadcastToRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/broadcastToRoom',\n toJsonString(BroadcastToRoomReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Upload a file to be used on the whiteboard.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async uploadWhiteboardFile(\n params: UploadWhiteboardFileReq,\n ): Promise<CommonResponse> {\n const output = create(CommonResponseSchema, {\n statusCode: StatusCode.INVALID_PARAMETERS,\n });\n const formData = new FormData();\n if (params.filePath) {\n if (!existsSync(params.filePath)) {\n output.msg = \"The provided 'filePath' is not a valid file path.\";\n return output;\n }\n formData.append('document', createReadStream(params.filePath));\n } else if (params.document_link) {\n formData.append('document_link', params.document_link);\n } else {\n output.msg = 'Either filePath or document_link is required';\n return output;\n }\n\n const res = await this.apiTransport.sendMultipartRequest(\n '/room/uploadWhiteboardFile',\n params.roomId,\n formData,\n );\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Merge multiple parts of a session's recording into a single new recording.\n * @param params\n * @returns Promise<CommonResponseSchema>\n */\n public async mergeRecordings(\n params: MergeRecordingsReq,\n ): Promise<CommonResponse> {\n const body = create(MergeRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/mergeRecordings',\n toJsonString(MergeRecordingsReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\nimport FormData from 'form-data';\nimport { fromJsonString } from '@bufbuild/protobuf';\nimport { CommonResponseSchema } from 'plugnmeet-protocol-js';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string): Record<string, string> => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n\n public sendMultipartRequest = async (\n path: string,\n roomId: string,\n formData: FormData,\n ) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = {\n 'Room-Id': roomId,\n ...this.prepareHeader(roomId),\n ...formData.getHeaders(),\n };\n\n try {\n const res = await this.axios.post(path, formData, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n try {\n const decode = fromJsonString(\n CommonResponseSchema,\n error.response.data,\n );\n output.response = decode.msg;\n // oxlint-disable-next-line\n } catch (e) {}\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.cjs.js.map"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,257 @@
|
|
|
1
|
+
import { ArtifactInfoReq, ArtifactInfoRes, BroadcastToRoomReq, CommonResponse, CreateRoomReq, CreateRoomRes, DeleteArtifactReq, DeleteArtifactRes, DeleteRecordingReq, DeleteRecordingRes, FetchArtifactsReq, FetchArtifactsRes, FetchPastRoomsReq, FetchPastRoomsRes, FetchRecordingsReq, FetchRecordingsRes, GenerateTokenReq, GenerateTokenRes, GetActiveRoomInfoReq, GetActiveRoomInfoRes, GetActiveRoomsInfoRes, GetArtifactDownloadTokenReq, GetArtifactDownloadTokenRes, GetClientFilesRes, GetDownloadTokenReq, GetDownloadTokenRes, IsRoomActiveReq, IsRoomActiveRes, MergeRecordingsReq, RecordingInfoReq, RecordingInfoRes, RoomEndReq, RoomEndRes, UpdateRecordingMetadataReq, UpdateRecordingMetadataRes } from "plugnmeet-protocol-js";
|
|
2
|
+
interface UploadWhiteboardFileReq {
|
|
3
|
+
roomId: string;
|
|
4
|
+
filePath?: string;
|
|
5
|
+
document_link?: string;
|
|
6
|
+
}
|
|
7
|
+
interface PlugNmeetAPI {
|
|
8
|
+
/**
|
|
9
|
+
* Create new room
|
|
10
|
+
* @returns Promise<CreateRoomRes>
|
|
11
|
+
* @param params
|
|
12
|
+
*/
|
|
13
|
+
createRoom(params: CreateRoomReq): Promise<CreateRoomRes>;
|
|
14
|
+
/**
|
|
15
|
+
* Generate join token
|
|
16
|
+
* @param params
|
|
17
|
+
* @returns Promise<GenerateTokenRes>
|
|
18
|
+
*/
|
|
19
|
+
getJoinToken(params: GenerateTokenReq): Promise<GenerateTokenRes>;
|
|
20
|
+
/**
|
|
21
|
+
* If room is active or not
|
|
22
|
+
* @param params
|
|
23
|
+
* @returns Promise<IsRoomActiveRes>
|
|
24
|
+
*/
|
|
25
|
+
isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes>;
|
|
26
|
+
/**
|
|
27
|
+
* Get active room information
|
|
28
|
+
* @param params
|
|
29
|
+
* @returns Promise<GetActiveRoomInfoRes>
|
|
30
|
+
*/
|
|
31
|
+
getActiveRoomInfo(params: GetActiveRoomInfoReq): Promise<GetActiveRoomInfoRes>;
|
|
32
|
+
/**
|
|
33
|
+
* Get all active rooms
|
|
34
|
+
* @returns Promise<GetActiveRoomsInfoRes>
|
|
35
|
+
*/
|
|
36
|
+
getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes>;
|
|
37
|
+
/**
|
|
38
|
+
* Fetch info about past rooms
|
|
39
|
+
* @param params
|
|
40
|
+
* @returns Promise<FetchPastRoomsRes>
|
|
41
|
+
*/
|
|
42
|
+
fetchPastRoomsInfo(params: FetchPastRoomsReq): Promise<FetchPastRoomsRes>;
|
|
43
|
+
/**
|
|
44
|
+
* End active room
|
|
45
|
+
* @param params
|
|
46
|
+
* @returns Promise<RoomEndRes>
|
|
47
|
+
*/
|
|
48
|
+
endRoom(params: RoomEndReq): Promise<RoomEndRes>;
|
|
49
|
+
/**
|
|
50
|
+
* Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.
|
|
51
|
+
* @param params
|
|
52
|
+
* @returns Promise<CommonResponse>
|
|
53
|
+
*/
|
|
54
|
+
broadcastToRoom(params: BroadcastToRoomReq): Promise<CommonResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* Upload a file to be used on the whiteboard.
|
|
57
|
+
* @param params
|
|
58
|
+
* @returns Promise<CommonResponse>
|
|
59
|
+
*/
|
|
60
|
+
uploadWhiteboardFile(params: UploadWhiteboardFileReq): Promise<CommonResponse>;
|
|
61
|
+
/**
|
|
62
|
+
* Fetch artifacts
|
|
63
|
+
* @param params
|
|
64
|
+
* @returns Promise<FetchArtifactsRes>
|
|
65
|
+
*/
|
|
66
|
+
fetchArtifacts(params: FetchArtifactsReq): Promise<FetchArtifactsRes>;
|
|
67
|
+
/**
|
|
68
|
+
* Delete artifact
|
|
69
|
+
* @param params
|
|
70
|
+
* @returns Promise<DeleteArtifactRes>
|
|
71
|
+
*/
|
|
72
|
+
deleteArtifact(params: DeleteArtifactReq): Promise<DeleteArtifactRes>;
|
|
73
|
+
/**
|
|
74
|
+
* Generate token to download Artifact
|
|
75
|
+
* @param params
|
|
76
|
+
* @returns Promise<GetArtifactDownloadTokenRes>
|
|
77
|
+
*/
|
|
78
|
+
getArtifactDownloadToken(params: GetArtifactDownloadTokenReq): Promise<GetArtifactDownloadTokenRes>;
|
|
79
|
+
/**
|
|
80
|
+
* Get Artifact details
|
|
81
|
+
* @param params
|
|
82
|
+
* @returns Promise<ArtifactInfoRes>
|
|
83
|
+
*/
|
|
84
|
+
getArtifactInfo(params: ArtifactInfoReq): Promise<ArtifactInfoRes>;
|
|
85
|
+
/**
|
|
86
|
+
* Fetch recordings
|
|
87
|
+
* @param params
|
|
88
|
+
* @returns Promise<FetchRecordingsRes>
|
|
89
|
+
*/
|
|
90
|
+
fetchRecordings(params: FetchRecordingsReq): Promise<FetchRecordingsRes>;
|
|
91
|
+
/**
|
|
92
|
+
* Delete recording
|
|
93
|
+
* @param params
|
|
94
|
+
* @returns Promise<DeleteRecordingRes>
|
|
95
|
+
*/
|
|
96
|
+
deleteRecordings(params: DeleteRecordingReq): Promise<DeleteRecordingRes>;
|
|
97
|
+
/**
|
|
98
|
+
* Generate token to download recording
|
|
99
|
+
* @param params
|
|
100
|
+
* @returns Promise<GetDownloadTokenRes>
|
|
101
|
+
*/
|
|
102
|
+
getRecordingDownloadToken(params: GetDownloadTokenReq): Promise<GetDownloadTokenRes>;
|
|
103
|
+
/**
|
|
104
|
+
* Update recording metadata info
|
|
105
|
+
* @param params
|
|
106
|
+
* @returns Promise<UpdateRecordingMetadataRes>
|
|
107
|
+
*/
|
|
108
|
+
updateRecordingMetadata(params: UpdateRecordingMetadataReq): Promise<UpdateRecordingMetadataRes>;
|
|
109
|
+
/**
|
|
110
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
111
|
+
* @param params
|
|
112
|
+
* @returns Promise<CommonResponse>
|
|
113
|
+
*/
|
|
114
|
+
mergeRecordings(params: MergeRecordingsReq): Promise<CommonResponse>;
|
|
115
|
+
/**
|
|
116
|
+
* Get recording details
|
|
117
|
+
* @param params
|
|
118
|
+
* @returns Promise<RecordingInfoRes>
|
|
119
|
+
*/
|
|
120
|
+
getRecordingInfo(params: RecordingInfoReq): Promise<RecordingInfoRes>;
|
|
121
|
+
/**
|
|
122
|
+
* To get JS & CSS files to build interface
|
|
123
|
+
* @returns Promise<GetClientFilesRes>
|
|
124
|
+
*/
|
|
125
|
+
getClientFiles(): Promise<GetClientFilesRes>;
|
|
126
|
+
}
|
|
127
|
+
export class PlugNmeet implements PlugNmeetAPI {
|
|
128
|
+
protected defaultPath: string;
|
|
129
|
+
/**
|
|
130
|
+
* @param serverUrl plugNmeet server URL
|
|
131
|
+
* @param apiKey plugNmeet API_Key
|
|
132
|
+
* @param apiSecret plugNmeet API_Secret
|
|
133
|
+
*/
|
|
134
|
+
constructor(serverUrl: string, apiKey: string, apiSecret: string);
|
|
135
|
+
/**
|
|
136
|
+
* Create new room
|
|
137
|
+
* @param params
|
|
138
|
+
* @returns Promise<CreateRoomRes>
|
|
139
|
+
*/
|
|
140
|
+
createRoom(params: CreateRoomReq): Promise<CreateRoomRes>;
|
|
141
|
+
/**
|
|
142
|
+
* Generate join token
|
|
143
|
+
* @param params
|
|
144
|
+
* @returns Promise<GenerateTokenRes>
|
|
145
|
+
*/
|
|
146
|
+
getJoinToken(params: GenerateTokenReq): Promise<GenerateTokenRes>;
|
|
147
|
+
/**
|
|
148
|
+
* If room is active or not
|
|
149
|
+
* @param params
|
|
150
|
+
* @returns Promise<IsRoomActiveRes>
|
|
151
|
+
*/
|
|
152
|
+
isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes>;
|
|
153
|
+
/**
|
|
154
|
+
* Get active room information
|
|
155
|
+
* @param params
|
|
156
|
+
* @returns Promise<GetActiveRoomInfoRes>
|
|
157
|
+
*/
|
|
158
|
+
getActiveRoomInfo(params: GetActiveRoomInfoReq): Promise<GetActiveRoomInfoRes>;
|
|
159
|
+
/**
|
|
160
|
+
* Get all active rooms
|
|
161
|
+
* @returns Promise<GetActiveRoomsInfoRes>
|
|
162
|
+
*/
|
|
163
|
+
getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes>;
|
|
164
|
+
/**
|
|
165
|
+
* Fetch info about past rooms
|
|
166
|
+
* @param params
|
|
167
|
+
* @returns Promise<FetchPastRoomsRes>
|
|
168
|
+
*/
|
|
169
|
+
fetchPastRoomsInfo(params: FetchPastRoomsReq): Promise<FetchPastRoomsRes>;
|
|
170
|
+
/**
|
|
171
|
+
* End active room
|
|
172
|
+
* @param params
|
|
173
|
+
* @returns Promise<RoomEndRes>
|
|
174
|
+
*/
|
|
175
|
+
endRoom(params: RoomEndReq): Promise<RoomEndRes>;
|
|
176
|
+
/**
|
|
177
|
+
* Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.
|
|
178
|
+
* @param params
|
|
179
|
+
* @returns Promise<CommonResponse>
|
|
180
|
+
*/
|
|
181
|
+
broadcastToRoom(params: BroadcastToRoomReq): Promise<CommonResponse>;
|
|
182
|
+
/**
|
|
183
|
+
* Upload a file to be used on the whiteboard.
|
|
184
|
+
* @param params
|
|
185
|
+
* @returns Promise<CommonResponse>
|
|
186
|
+
*/
|
|
187
|
+
uploadWhiteboardFile(params: UploadWhiteboardFileReq): Promise<CommonResponse>;
|
|
188
|
+
/**
|
|
189
|
+
* Fetch artifacts
|
|
190
|
+
* @param params
|
|
191
|
+
* @returns Promise<FetchArtifactsRes>
|
|
192
|
+
*/
|
|
193
|
+
fetchArtifacts(params: FetchArtifactsReq): Promise<FetchArtifactsRes>;
|
|
194
|
+
/**
|
|
195
|
+
* Delete artifact
|
|
196
|
+
* @param params
|
|
197
|
+
* @returns Promise<DeleteArtifactRes>
|
|
198
|
+
*/
|
|
199
|
+
deleteArtifact(params: DeleteArtifactReq): Promise<DeleteArtifactRes>;
|
|
200
|
+
/**
|
|
201
|
+
* Generate token to download Artifact
|
|
202
|
+
* @param params
|
|
203
|
+
* @returns Promise<GetArtifactDownloadTokenRes>
|
|
204
|
+
*/
|
|
205
|
+
getArtifactDownloadToken(params: GetArtifactDownloadTokenReq): Promise<GetArtifactDownloadTokenRes>;
|
|
206
|
+
/**
|
|
207
|
+
* Get Artifact details
|
|
208
|
+
* @param params
|
|
209
|
+
* @returns Promise<ArtifactInfoRes>
|
|
210
|
+
*/
|
|
211
|
+
getArtifactInfo(params: ArtifactInfoReq): Promise<ArtifactInfoRes>;
|
|
212
|
+
/**
|
|
213
|
+
* Fetch recordings
|
|
214
|
+
* @param params
|
|
215
|
+
* @returns Promise<FetchRecordingsRes>
|
|
216
|
+
*/
|
|
217
|
+
fetchRecordings(params: FetchRecordingsReq): Promise<FetchRecordingsRes>;
|
|
218
|
+
/**
|
|
219
|
+
* Delete recording
|
|
220
|
+
* @param params
|
|
221
|
+
* @returns Promise<DeleteRecordingRes>
|
|
222
|
+
*/
|
|
223
|
+
deleteRecordings(params: DeleteRecordingReq): Promise<DeleteRecordingRes>;
|
|
224
|
+
/**
|
|
225
|
+
* Generate token to download recording
|
|
226
|
+
* @param params
|
|
227
|
+
* @returns Promise<GetDownloadTokenRes>
|
|
228
|
+
*/
|
|
229
|
+
getRecordingDownloadToken(params: GetDownloadTokenReq): Promise<GetDownloadTokenRes>;
|
|
230
|
+
/**
|
|
231
|
+
* Update recording metadata info
|
|
232
|
+
* @param params
|
|
233
|
+
* @returns Promise<UpdateRecordingMetadataRes>
|
|
234
|
+
*/
|
|
235
|
+
updateRecordingMetadata(params: UpdateRecordingMetadataReq): Promise<UpdateRecordingMetadataRes>;
|
|
236
|
+
/**
|
|
237
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
238
|
+
* @param params
|
|
239
|
+
* @returns Promise<CommonResponseSchema>
|
|
240
|
+
*/
|
|
241
|
+
mergeRecordings(params: MergeRecordingsReq): Promise<CommonResponse>;
|
|
242
|
+
/**
|
|
243
|
+
* Get recording details
|
|
244
|
+
* @param params
|
|
245
|
+
* @returns Promise<RecordingInfoRes>
|
|
246
|
+
*/
|
|
247
|
+
getRecordingInfo(params: RecordingInfoReq): Promise<RecordingInfoRes>;
|
|
248
|
+
/**
|
|
249
|
+
* To get JS & CSS files to build interface
|
|
250
|
+
* @returns Promise<GetClientFilesRes>
|
|
251
|
+
*/
|
|
252
|
+
getClientFiles(): Promise<GetClientFilesRes>;
|
|
253
|
+
}
|
|
1
254
|
export { create as createRequest } from '@bufbuild/protobuf';
|
|
2
255
|
export * from 'plugnmeet-protocol-js';
|
|
3
|
-
export { PlugNmeet } from './PlugNmeet';
|
|
4
256
|
|
|
5
257
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"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","sources":["src/src/ApiTransport.ts","src/src/PlugNmeetAPI.ts","src/src/PlugNmeet.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,"export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
var $cDXzb$bufbuildprotobuf = require("@bufbuild/protobuf");
|
|
2
2
|
var $cDXzb$plugnmeetprotocoljs = require("plugnmeet-protocol-js");
|
|
3
|
+
var $cDXzb$fs = require("fs");
|
|
4
|
+
var $cDXzb$formdata = require("form-data");
|
|
3
5
|
var $cDXzb$axios = require("axios");
|
|
4
6
|
var $cDXzb$crypto = require("crypto");
|
|
5
7
|
|
|
@@ -37,6 +39,10 @@ $parcel$export(module.exports, "PlugNmeet", () => $8e30a24c4952589a$export$1402d
|
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
40
46
|
class $3437a6ece6919767$export$5a82ec1641dd9681 {
|
|
41
47
|
constructor(apiEndPointURL, apiKey, apiSecret){
|
|
42
48
|
this.prepareHeader = (body)=>{
|
|
@@ -70,6 +76,38 @@ class $3437a6ece6919767$export$5a82ec1641dd9681 {
|
|
|
70
76
|
return output;
|
|
71
77
|
}
|
|
72
78
|
};
|
|
79
|
+
this.sendMultipartRequest = async (path, roomId, formData)=>{
|
|
80
|
+
const output = {
|
|
81
|
+
status: false,
|
|
82
|
+
response: undefined
|
|
83
|
+
};
|
|
84
|
+
const headers = {
|
|
85
|
+
'Room-Id': roomId,
|
|
86
|
+
...this.prepareHeader(roomId),
|
|
87
|
+
...formData.getHeaders()
|
|
88
|
+
};
|
|
89
|
+
try {
|
|
90
|
+
const res = await this.axios.post(path, formData, {
|
|
91
|
+
headers: headers,
|
|
92
|
+
// Return the raw response string, preventing axios from decoding it.
|
|
93
|
+
// The protobuf `fromJson` method will handle the parsing.
|
|
94
|
+
transformResponse: [
|
|
95
|
+
(data)=>data
|
|
96
|
+
]
|
|
97
|
+
});
|
|
98
|
+
output.status = true;
|
|
99
|
+
output.response = res.data;
|
|
100
|
+
return output;
|
|
101
|
+
} catch (error) {
|
|
102
|
+
output.response = error.message;
|
|
103
|
+
if (error.response) try {
|
|
104
|
+
const decode = (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema), error.response.data);
|
|
105
|
+
output.response = decode.msg;
|
|
106
|
+
// oxlint-disable-next-line
|
|
107
|
+
} catch (e) {}
|
|
108
|
+
return output;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
73
111
|
this.apiKey = apiKey;
|
|
74
112
|
this.apiSecret = apiSecret;
|
|
75
113
|
this.axios = (0, ($parcel$interopDefault($cDXzb$axios))).create({
|
|
@@ -188,6 +226,47 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
188
226
|
return (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.RoomEndResSchema), res.response);
|
|
189
227
|
}
|
|
190
228
|
/**
|
|
229
|
+
* Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.
|
|
230
|
+
* @param params
|
|
231
|
+
* @returns Promise<CommonResponse>
|
|
232
|
+
*/ async broadcastToRoom(params) {
|
|
233
|
+
const body = (0, $cDXzb$bufbuildprotobuf.create)((0, $cDXzb$plugnmeetprotocoljs.BroadcastToRoomReqSchema), params);
|
|
234
|
+
const res = await this.apiTransport.sendRequest('/room/broadcastToRoom', (0, $cDXzb$bufbuildprotobuf.toJsonString)((0, $cDXzb$plugnmeetprotocoljs.BroadcastToRoomReqSchema), body));
|
|
235
|
+
const output = (0, $cDXzb$bufbuildprotobuf.create)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema));
|
|
236
|
+
if (!res.status) {
|
|
237
|
+
output.msg = res.response;
|
|
238
|
+
return output;
|
|
239
|
+
}
|
|
240
|
+
return (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Upload a file to be used on the whiteboard.
|
|
244
|
+
* @param params
|
|
245
|
+
* @returns Promise<CommonResponse>
|
|
246
|
+
*/ async uploadWhiteboardFile(params) {
|
|
247
|
+
const output = (0, $cDXzb$bufbuildprotobuf.create)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema), {
|
|
248
|
+
statusCode: (0, $cDXzb$plugnmeetprotocoljs.StatusCode).INVALID_PARAMETERS
|
|
249
|
+
});
|
|
250
|
+
const formData = new (0, ($parcel$interopDefault($cDXzb$formdata)))();
|
|
251
|
+
if (params.filePath) {
|
|
252
|
+
if (!(0, $cDXzb$fs.existsSync)(params.filePath)) {
|
|
253
|
+
output.msg = "The provided 'filePath' is not a valid file path.";
|
|
254
|
+
return output;
|
|
255
|
+
}
|
|
256
|
+
formData.append('document', (0, $cDXzb$fs.createReadStream)(params.filePath));
|
|
257
|
+
} else if (params.document_link) formData.append('document_link', params.document_link);
|
|
258
|
+
else {
|
|
259
|
+
output.msg = 'Either filePath or document_link is required';
|
|
260
|
+
return output;
|
|
261
|
+
}
|
|
262
|
+
const res = await this.apiTransport.sendMultipartRequest('/room/uploadWhiteboardFile', params.roomId, formData);
|
|
263
|
+
if (!res.status) {
|
|
264
|
+
output.msg = res.response;
|
|
265
|
+
return output;
|
|
266
|
+
}
|
|
267
|
+
return (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
191
270
|
* Fetch artifacts
|
|
192
271
|
* @param params
|
|
193
272
|
* @returns Promise<FetchArtifactsRes>
|
|
@@ -300,6 +379,20 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
300
379
|
return (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.UpdateRecordingMetadataResSchema), res.response);
|
|
301
380
|
}
|
|
302
381
|
/**
|
|
382
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
383
|
+
* @param params
|
|
384
|
+
* @returns Promise<CommonResponseSchema>
|
|
385
|
+
*/ async mergeRecordings(params) {
|
|
386
|
+
const body = (0, $cDXzb$bufbuildprotobuf.create)((0, $cDXzb$plugnmeetprotocoljs.MergeRecordingsReqSchema), params);
|
|
387
|
+
const res = await this.apiTransport.sendRequest('/recording/mergeRecordings', (0, $cDXzb$bufbuildprotobuf.toJsonString)((0, $cDXzb$plugnmeetprotocoljs.MergeRecordingsReqSchema), body));
|
|
388
|
+
const output = (0, $cDXzb$bufbuildprotobuf.create)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema));
|
|
389
|
+
if (!res.status) {
|
|
390
|
+
output.msg = res.response;
|
|
391
|
+
return output;
|
|
392
|
+
}
|
|
393
|
+
return (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
303
396
|
* Get recording details
|
|
304
397
|
* @param params
|
|
305
398
|
* @returns Promise<RecordingInfoRes>
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport {\n CreateRoomReq,\n CreateRoomRes,\n GenerateTokenReq,\n GenerateTokenRes,\n IsRoomActiveReq,\n IsRoomActiveRes,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoRes,\n GetActiveRoomsInfoRes,\n FetchPastRoomsReq,\n FetchPastRoomsRes,\n RoomEndReq,\n RoomEndRes,\n FetchArtifactsReq,\n FetchArtifactsRes,\n DeleteArtifactReq,\n DeleteArtifactRes,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenRes,\n ArtifactInfoReq,\n ArtifactInfoRes,\n FetchRecordingsReq,\n FetchRecordingsRes,\n DeleteRecordingReq,\n DeleteRecordingRes,\n GetDownloadTokenReq,\n GetDownloadTokenRes,\n RecordingInfoReq,\n RecordingInfoRes,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataRes,\n GetClientFilesRes,\n CreateRoomReqSchema,\n CreateRoomResSchema,\n GenerateTokenReqSchema,\n GenerateTokenResSchema,\n IsRoomActiveReqSchema,\n IsRoomActiveResSchema,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoResSchema,\n FetchPastRoomsReqSchema,\n FetchPastRoomsResSchema,\n RoomEndReqSchema,\n RoomEndResSchema,\n FetchArtifactsReqSchema,\n FetchArtifactsResSchema,\n DeleteArtifactReqSchema,\n DeleteArtifactResSchema,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenResSchema,\n ArtifactInfoReqSchema,\n ArtifactInfoResSchema,\n FetchRecordingsReqSchema,\n FetchRecordingsResSchema,\n DeleteRecordingReqSchema,\n DeleteRecordingResSchema,\n GetDownloadTokenReqSchema,\n GetDownloadTokenResSchema,\n RecordingInfoReqSchema,\n RecordingInfoResSchema,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataResSchema,\n GetClientFilesResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { createReadStream, existsSync } from 'fs';\nimport FormData from 'form-data';\nimport {\n ArtifactInfoReq,\n ArtifactInfoReqSchema,\n ArtifactInfoRes,\n ArtifactInfoResSchema,\n BroadcastToRoomReq,\n BroadcastToRoomReqSchema,\n CommonResponse,\n CommonResponseSchema,\n CreateRoomReq,\n CreateRoomReqSchema,\n CreateRoomRes,\n CreateRoomResSchema,\n DeleteArtifactReq,\n DeleteArtifactReqSchema,\n DeleteArtifactRes,\n DeleteArtifactResSchema,\n DeleteRecordingReq,\n DeleteRecordingReqSchema,\n DeleteRecordingRes,\n DeleteRecordingResSchema,\n FetchArtifactsReq,\n FetchArtifactsReqSchema,\n FetchArtifactsRes,\n FetchArtifactsResSchema,\n FetchPastRoomsReq,\n FetchPastRoomsReqSchema,\n FetchPastRoomsRes,\n FetchPastRoomsResSchema,\n FetchRecordingsReq,\n FetchRecordingsReqSchema,\n FetchRecordingsRes,\n FetchRecordingsResSchema,\n GenerateTokenReq,\n GenerateTokenReqSchema,\n GenerateTokenRes,\n GenerateTokenResSchema,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoRes,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoRes,\n GetActiveRoomsInfoResSchema,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenRes,\n GetArtifactDownloadTokenResSchema,\n GetClientFilesRes,\n GetClientFilesResSchema,\n GetDownloadTokenReq,\n GetDownloadTokenReqSchema,\n GetDownloadTokenRes,\n GetDownloadTokenResSchema,\n IsRoomActiveReq,\n IsRoomActiveReqSchema,\n IsRoomActiveRes,\n IsRoomActiveResSchema,\n MergeRecordingsReq,\n MergeRecordingsReqSchema,\n RecordingInfoReq,\n RecordingInfoReqSchema,\n RecordingInfoRes,\n RecordingInfoResSchema,\n RoomEndReq,\n RoomEndReqSchema,\n RoomEndRes,\n RoomEndResSchema,\n StatusCode,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataRes,\n UpdateRecordingMetadataResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI, UploadWhiteboardFileReq } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async broadcastToRoom(\n params: BroadcastToRoomReq,\n ): Promise<CommonResponse> {\n const body = create(BroadcastToRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/broadcastToRoom',\n toJsonString(BroadcastToRoomReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Upload a file to be used on the whiteboard.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async uploadWhiteboardFile(\n params: UploadWhiteboardFileReq,\n ): Promise<CommonResponse> {\n const output = create(CommonResponseSchema, {\n statusCode: StatusCode.INVALID_PARAMETERS,\n });\n const formData = new FormData();\n if (params.filePath) {\n if (!existsSync(params.filePath)) {\n output.msg = \"The provided 'filePath' is not a valid file path.\";\n return output;\n }\n formData.append('document', createReadStream(params.filePath));\n } else if (params.document_link) {\n formData.append('document_link', params.document_link);\n } else {\n output.msg = 'Either filePath or document_link is required';\n return output;\n }\n\n const res = await this.apiTransport.sendMultipartRequest(\n '/room/uploadWhiteboardFile',\n params.roomId,\n formData,\n );\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Merge multiple parts of a session's recording into a single new recording.\n * @param params\n * @returns Promise<CommonResponseSchema>\n */\n public async mergeRecordings(\n params: MergeRecordingsReq,\n ): Promise<CommonResponse> {\n const body = create(MergeRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/mergeRecordings',\n toJsonString(MergeRecordingsReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\nimport FormData from 'form-data';\nimport { fromJsonString } from '@bufbuild/protobuf';\nimport { CommonResponseSchema } from 'plugnmeet-protocol-js';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string): Record<string, string> => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n\n public sendMultipartRequest = async (\n path: string,\n roomId: string,\n formData: FormData,\n ) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = {\n 'Room-Id': roomId,\n ...this.prepareHeader(roomId),\n ...formData.getHeaders(),\n };\n\n try {\n const res = await this.axios.post(path, formData, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n try {\n const decode = fromJsonString(\n CommonResponseSchema,\n error.response.data,\n );\n output.response = decode.msg;\n // oxlint-disable-next-line\n } catch (e) {}\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
|
package/dist/index.mjs.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {create as $149c1bd638913645$re_export$createRequest, toJsonString as $hgUW1$toJsonString, fromJsonString as $hgUW1$fromJsonString} from "@bufbuild/protobuf";
|
|
2
2
|
import * as $hgUW1$plugnmeetprotocoljs from "plugnmeet-protocol-js";
|
|
3
|
+
import {existsSync as $hgUW1$existsSync, createReadStream as $hgUW1$createReadStream} from "fs";
|
|
4
|
+
import $hgUW1$formdata from "form-data";
|
|
3
5
|
import $hgUW1$axios from "axios";
|
|
4
6
|
import {createHmac as $hgUW1$createHmac} from "crypto";
|
|
5
7
|
|
|
@@ -9,6 +11,10 @@ import {createHmac as $hgUW1$createHmac} from "crypto";
|
|
|
9
11
|
|
|
10
12
|
|
|
11
13
|
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
12
18
|
class $e666bfa8019d90ff$export$5a82ec1641dd9681 {
|
|
13
19
|
constructor(apiEndPointURL, apiKey, apiSecret){
|
|
14
20
|
this.prepareHeader = (body)=>{
|
|
@@ -42,6 +48,38 @@ class $e666bfa8019d90ff$export$5a82ec1641dd9681 {
|
|
|
42
48
|
return output;
|
|
43
49
|
}
|
|
44
50
|
};
|
|
51
|
+
this.sendMultipartRequest = async (path, roomId, formData)=>{
|
|
52
|
+
const output = {
|
|
53
|
+
status: false,
|
|
54
|
+
response: undefined
|
|
55
|
+
};
|
|
56
|
+
const headers = {
|
|
57
|
+
'Room-Id': roomId,
|
|
58
|
+
...this.prepareHeader(roomId),
|
|
59
|
+
...formData.getHeaders()
|
|
60
|
+
};
|
|
61
|
+
try {
|
|
62
|
+
const res = await this.axios.post(path, formData, {
|
|
63
|
+
headers: headers,
|
|
64
|
+
// Return the raw response string, preventing axios from decoding it.
|
|
65
|
+
// The protobuf `fromJson` method will handle the parsing.
|
|
66
|
+
transformResponse: [
|
|
67
|
+
(data)=>data
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
output.status = true;
|
|
71
|
+
output.response = res.data;
|
|
72
|
+
return output;
|
|
73
|
+
} catch (error) {
|
|
74
|
+
output.response = error.message;
|
|
75
|
+
if (error.response) try {
|
|
76
|
+
const decode = (0, $hgUW1$fromJsonString)((0, $hgUW1$CommonResponseSchema), error.response.data);
|
|
77
|
+
output.response = decode.msg;
|
|
78
|
+
// oxlint-disable-next-line
|
|
79
|
+
} catch (e) {}
|
|
80
|
+
return output;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
45
83
|
this.apiKey = apiKey;
|
|
46
84
|
this.apiSecret = apiSecret;
|
|
47
85
|
this.axios = (0, $hgUW1$axios).create({
|
|
@@ -160,6 +198,47 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
160
198
|
return (0, $hgUW1$fromJsonString)((0, $hgUW1$RoomEndResSchema), res.response);
|
|
161
199
|
}
|
|
162
200
|
/**
|
|
201
|
+
* Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.
|
|
202
|
+
* @param params
|
|
203
|
+
* @returns Promise<CommonResponse>
|
|
204
|
+
*/ async broadcastToRoom(params) {
|
|
205
|
+
const body = (0, $149c1bd638913645$re_export$createRequest)((0, $hgUW1$BroadcastToRoomReqSchema), params);
|
|
206
|
+
const res = await this.apiTransport.sendRequest('/room/broadcastToRoom', (0, $hgUW1$toJsonString)((0, $hgUW1$BroadcastToRoomReqSchema), body));
|
|
207
|
+
const output = (0, $149c1bd638913645$re_export$createRequest)((0, $hgUW1$CommonResponseSchema));
|
|
208
|
+
if (!res.status) {
|
|
209
|
+
output.msg = res.response;
|
|
210
|
+
return output;
|
|
211
|
+
}
|
|
212
|
+
return (0, $hgUW1$fromJsonString)((0, $hgUW1$CommonResponseSchema), res.response);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Upload a file to be used on the whiteboard.
|
|
216
|
+
* @param params
|
|
217
|
+
* @returns Promise<CommonResponse>
|
|
218
|
+
*/ async uploadWhiteboardFile(params) {
|
|
219
|
+
const output = (0, $149c1bd638913645$re_export$createRequest)((0, $hgUW1$CommonResponseSchema), {
|
|
220
|
+
statusCode: (0, $hgUW1$StatusCode).INVALID_PARAMETERS
|
|
221
|
+
});
|
|
222
|
+
const formData = new (0, $hgUW1$formdata)();
|
|
223
|
+
if (params.filePath) {
|
|
224
|
+
if (!(0, $hgUW1$existsSync)(params.filePath)) {
|
|
225
|
+
output.msg = "The provided 'filePath' is not a valid file path.";
|
|
226
|
+
return output;
|
|
227
|
+
}
|
|
228
|
+
formData.append('document', (0, $hgUW1$createReadStream)(params.filePath));
|
|
229
|
+
} else if (params.document_link) formData.append('document_link', params.document_link);
|
|
230
|
+
else {
|
|
231
|
+
output.msg = 'Either filePath or document_link is required';
|
|
232
|
+
return output;
|
|
233
|
+
}
|
|
234
|
+
const res = await this.apiTransport.sendMultipartRequest('/room/uploadWhiteboardFile', params.roomId, formData);
|
|
235
|
+
if (!res.status) {
|
|
236
|
+
output.msg = res.response;
|
|
237
|
+
return output;
|
|
238
|
+
}
|
|
239
|
+
return (0, $hgUW1$fromJsonString)((0, $hgUW1$CommonResponseSchema), res.response);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
163
242
|
* Fetch artifacts
|
|
164
243
|
* @param params
|
|
165
244
|
* @returns Promise<FetchArtifactsRes>
|
|
@@ -272,6 +351,20 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
272
351
|
return (0, $hgUW1$fromJsonString)((0, $hgUW1$UpdateRecordingMetadataResSchema), res.response);
|
|
273
352
|
}
|
|
274
353
|
/**
|
|
354
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
355
|
+
* @param params
|
|
356
|
+
* @returns Promise<CommonResponseSchema>
|
|
357
|
+
*/ async mergeRecordings(params) {
|
|
358
|
+
const body = (0, $149c1bd638913645$re_export$createRequest)((0, $hgUW1$MergeRecordingsReqSchema), params);
|
|
359
|
+
const res = await this.apiTransport.sendRequest('/recording/mergeRecordings', (0, $hgUW1$toJsonString)((0, $hgUW1$MergeRecordingsReqSchema), body));
|
|
360
|
+
const output = (0, $149c1bd638913645$re_export$createRequest)((0, $hgUW1$CommonResponseSchema));
|
|
361
|
+
if (!res.status) {
|
|
362
|
+
output.msg = res.response;
|
|
363
|
+
return output;
|
|
364
|
+
}
|
|
365
|
+
return (0, $hgUW1$fromJsonString)((0, $hgUW1$CommonResponseSchema), res.response);
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
275
368
|
* Get recording details
|
|
276
369
|
* @param params
|
|
277
370
|
* @returns Promise<RecordingInfoRes>
|
package/dist/index.mjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport {\n CreateRoomReq,\n CreateRoomRes,\n GenerateTokenReq,\n GenerateTokenRes,\n IsRoomActiveReq,\n IsRoomActiveRes,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoRes,\n GetActiveRoomsInfoRes,\n FetchPastRoomsReq,\n FetchPastRoomsRes,\n RoomEndReq,\n RoomEndRes,\n FetchArtifactsReq,\n FetchArtifactsRes,\n DeleteArtifactReq,\n DeleteArtifactRes,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenRes,\n ArtifactInfoReq,\n ArtifactInfoRes,\n FetchRecordingsReq,\n FetchRecordingsRes,\n DeleteRecordingReq,\n DeleteRecordingRes,\n GetDownloadTokenReq,\n GetDownloadTokenRes,\n RecordingInfoReq,\n RecordingInfoRes,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataRes,\n GetClientFilesRes,\n CreateRoomReqSchema,\n CreateRoomResSchema,\n GenerateTokenReqSchema,\n GenerateTokenResSchema,\n IsRoomActiveReqSchema,\n IsRoomActiveResSchema,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoResSchema,\n FetchPastRoomsReqSchema,\n FetchPastRoomsResSchema,\n RoomEndReqSchema,\n RoomEndResSchema,\n FetchArtifactsReqSchema,\n FetchArtifactsResSchema,\n DeleteArtifactReqSchema,\n DeleteArtifactResSchema,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenResSchema,\n ArtifactInfoReqSchema,\n ArtifactInfoResSchema,\n FetchRecordingsReqSchema,\n FetchRecordingsResSchema,\n DeleteRecordingReqSchema,\n DeleteRecordingResSchema,\n GetDownloadTokenReqSchema,\n GetDownloadTokenResSchema,\n RecordingInfoReqSchema,\n RecordingInfoResSchema,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataResSchema,\n GetClientFilesResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.mjs.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { createReadStream, existsSync } from 'fs';\nimport FormData from 'form-data';\nimport {\n ArtifactInfoReq,\n ArtifactInfoReqSchema,\n ArtifactInfoRes,\n ArtifactInfoResSchema,\n BroadcastToRoomReq,\n BroadcastToRoomReqSchema,\n CommonResponse,\n CommonResponseSchema,\n CreateRoomReq,\n CreateRoomReqSchema,\n CreateRoomRes,\n CreateRoomResSchema,\n DeleteArtifactReq,\n DeleteArtifactReqSchema,\n DeleteArtifactRes,\n DeleteArtifactResSchema,\n DeleteRecordingReq,\n DeleteRecordingReqSchema,\n DeleteRecordingRes,\n DeleteRecordingResSchema,\n FetchArtifactsReq,\n FetchArtifactsReqSchema,\n FetchArtifactsRes,\n FetchArtifactsResSchema,\n FetchPastRoomsReq,\n FetchPastRoomsReqSchema,\n FetchPastRoomsRes,\n FetchPastRoomsResSchema,\n FetchRecordingsReq,\n FetchRecordingsReqSchema,\n FetchRecordingsRes,\n FetchRecordingsResSchema,\n GenerateTokenReq,\n GenerateTokenReqSchema,\n GenerateTokenRes,\n GenerateTokenResSchema,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoRes,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoRes,\n GetActiveRoomsInfoResSchema,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenRes,\n GetArtifactDownloadTokenResSchema,\n GetClientFilesRes,\n GetClientFilesResSchema,\n GetDownloadTokenReq,\n GetDownloadTokenReqSchema,\n GetDownloadTokenRes,\n GetDownloadTokenResSchema,\n IsRoomActiveReq,\n IsRoomActiveReqSchema,\n IsRoomActiveRes,\n IsRoomActiveResSchema,\n MergeRecordingsReq,\n MergeRecordingsReqSchema,\n RecordingInfoReq,\n RecordingInfoReqSchema,\n RecordingInfoRes,\n RecordingInfoResSchema,\n RoomEndReq,\n RoomEndReqSchema,\n RoomEndRes,\n RoomEndResSchema,\n StatusCode,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataRes,\n UpdateRecordingMetadataResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI, UploadWhiteboardFileReq } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async broadcastToRoom(\n params: BroadcastToRoomReq,\n ): Promise<CommonResponse> {\n const body = create(BroadcastToRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/broadcastToRoom',\n toJsonString(BroadcastToRoomReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Upload a file to be used on the whiteboard.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async uploadWhiteboardFile(\n params: UploadWhiteboardFileReq,\n ): Promise<CommonResponse> {\n const output = create(CommonResponseSchema, {\n statusCode: StatusCode.INVALID_PARAMETERS,\n });\n const formData = new FormData();\n if (params.filePath) {\n if (!existsSync(params.filePath)) {\n output.msg = \"The provided 'filePath' is not a valid file path.\";\n return output;\n }\n formData.append('document', createReadStream(params.filePath));\n } else if (params.document_link) {\n formData.append('document_link', params.document_link);\n } else {\n output.msg = 'Either filePath or document_link is required';\n return output;\n }\n\n const res = await this.apiTransport.sendMultipartRequest(\n '/room/uploadWhiteboardFile',\n params.roomId,\n formData,\n );\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Merge multiple parts of a session's recording into a single new recording.\n * @param params\n * @returns Promise<CommonResponseSchema>\n */\n public async mergeRecordings(\n params: MergeRecordingsReq,\n ): Promise<CommonResponse> {\n const body = create(MergeRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/mergeRecordings',\n toJsonString(MergeRecordingsReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\nimport FormData from 'form-data';\nimport { fromJsonString } from '@bufbuild/protobuf';\nimport { CommonResponseSchema } from 'plugnmeet-protocol-js';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string): Record<string, string> => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n\n public sendMultipartRequest = async (\n path: string,\n roomId: string,\n formData: FormData,\n ) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = {\n 'Room-Id': roomId,\n ...this.prepareHeader(roomId),\n ...formData.getHeaders(),\n };\n\n try {\n const res = await this.axios.post(path, formData, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n try {\n const decode = fromJsonString(\n CommonResponseSchema,\n error.response.data,\n );\n output.response = decode.msg;\n // oxlint-disable-next-line\n } catch (e) {}\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.mjs.js.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plugnmeet-sdk-js",
|
|
3
|
-
"version": "2.1.3-
|
|
3
|
+
"version": "2.1.3-10",
|
|
4
4
|
"description": "plugNmeet JS SDK",
|
|
5
5
|
"author": "Jibon L. Costa",
|
|
6
6
|
"license": "MIT",
|
|
@@ -23,16 +23,17 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@bufbuild/protobuf": "2.
|
|
27
|
-
"axios": "1.
|
|
28
|
-
"
|
|
26
|
+
"@bufbuild/protobuf": "2.12.0",
|
|
27
|
+
"axios": "1.16.1",
|
|
28
|
+
"form-data": "4.0.5",
|
|
29
|
+
"plugnmeet-protocol-js": "1.2.2-32"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
32
|
"@parcel/packager-ts": "2.16.4",
|
|
32
33
|
"@parcel/transformer-typescript-types": "2.16.4",
|
|
33
34
|
"@prettier/plugin-oxc": "0.1.4",
|
|
34
|
-
"@types/node": "25.
|
|
35
|
-
"oxlint": "1.
|
|
35
|
+
"@types/node": "25.9.1",
|
|
36
|
+
"oxlint": "1.66.0",
|
|
36
37
|
"parcel": "2.16.4",
|
|
37
38
|
"prettier": "3.8.3",
|
|
38
39
|
"typedoc": "0.28.19",
|