plugnmeet-sdk-js 2.1.3-4 → 2.1.3-5
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 +79 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +31 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.js +79 -0
- package/dist/index.mjs.js.map +1 -1
- package/package.json +6 -5
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>
|
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 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 * 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,4 +1,9 @@
|
|
|
1
|
-
import { CreateRoomReq, CreateRoomRes,
|
|
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, RecordingInfoReq, RecordingInfoRes, RoomEndReq, RoomEndRes, UpdateRecordingMetadataReq, UpdateRecordingMetadataRes } from "plugnmeet-protocol-js";
|
|
2
|
+
interface UploadWhiteboardFileReq {
|
|
3
|
+
roomId: string;
|
|
4
|
+
filePath?: string;
|
|
5
|
+
document_link?: string;
|
|
6
|
+
}
|
|
2
7
|
interface PlugNmeetAPI {
|
|
3
8
|
/**
|
|
4
9
|
* Create new room
|
|
@@ -41,6 +46,18 @@ interface PlugNmeetAPI {
|
|
|
41
46
|
* @returns Promise<RoomEndRes>
|
|
42
47
|
*/
|
|
43
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>;
|
|
44
61
|
/**
|
|
45
62
|
* Fetch artifacts
|
|
46
63
|
* @param params
|
|
@@ -56,7 +73,7 @@ interface PlugNmeetAPI {
|
|
|
56
73
|
/**
|
|
57
74
|
* Generate token to download Artifact
|
|
58
75
|
* @param params
|
|
59
|
-
* @returns Promise<
|
|
76
|
+
* @returns Promise<GetArtifactDownloadTokenRes>
|
|
60
77
|
*/
|
|
61
78
|
getArtifactDownloadToken(params: GetArtifactDownloadTokenReq): Promise<GetArtifactDownloadTokenRes>;
|
|
62
79
|
/**
|
|
@@ -150,6 +167,18 @@ export class PlugNmeet implements PlugNmeetAPI {
|
|
|
150
167
|
* @returns Promise<RoomEndRes>
|
|
151
168
|
*/
|
|
152
169
|
endRoom(params: RoomEndReq): Promise<RoomEndRes>;
|
|
170
|
+
/**
|
|
171
|
+
* Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.
|
|
172
|
+
* @param params
|
|
173
|
+
* @returns Promise<CommonResponse>
|
|
174
|
+
*/
|
|
175
|
+
broadcastToRoom(params: BroadcastToRoomReq): Promise<CommonResponse>;
|
|
176
|
+
/**
|
|
177
|
+
* Upload a file to be used on the whiteboard.
|
|
178
|
+
* @param params
|
|
179
|
+
* @returns Promise<CommonResponse>
|
|
180
|
+
*/
|
|
181
|
+
uploadWhiteboardFile(params: UploadWhiteboardFileReq): Promise<CommonResponse>;
|
|
153
182
|
/**
|
|
154
183
|
* Fetch artifacts
|
|
155
184
|
* @param params
|
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>
|
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 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 * 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>
|
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 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 * 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-5",
|
|
4
4
|
"description": "plugNmeet JS SDK",
|
|
5
5
|
"author": "Jibon L. Costa",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,15 +24,16 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@bufbuild/protobuf": "2.12.0",
|
|
27
|
-
"axios": "1.16.
|
|
28
|
-
"
|
|
27
|
+
"axios": "1.16.1",
|
|
28
|
+
"form-data": "4.0.5",
|
|
29
|
+
"plugnmeet-protocol-js": "1.2.2-25"
|
|
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",
|