plugnmeet-sdk-js 2.1.3-8 → 2.2.0
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 +14 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.js +14 -0
- package/dist/index.mjs.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs.js
CHANGED
|
@@ -379,6 +379,20 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
379
379
|
return (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.UpdateRecordingMetadataResSchema), res.response);
|
|
380
380
|
}
|
|
381
381
|
/**
|
|
382
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
383
|
+
* @param params
|
|
384
|
+
* @returns Promise<CommonResponseSchema>
|
|
385
|
+
*/ async mergeRecordings(params) {
|
|
386
|
+
const body = (0, $8zHUo$bufbuildprotobuf.create)((0, $8zHUo$plugnmeetprotocoljs.MergeRecordingsReqSchema), params);
|
|
387
|
+
const res = await this.apiTransport.sendRequest('/recording/mergeRecordings', (0, $8zHUo$bufbuildprotobuf.toJsonString)((0, $8zHUo$plugnmeetprotocoljs.MergeRecordingsReqSchema), body));
|
|
388
|
+
const output = (0, $8zHUo$bufbuildprotobuf.create)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema));
|
|
389
|
+
if (!res.status) {
|
|
390
|
+
output.msg = res.response;
|
|
391
|
+
return output;
|
|
392
|
+
}
|
|
393
|
+
return (0, $8zHUo$bufbuildprotobuf.fromJsonString)((0, $8zHUo$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
382
396
|
* Get recording details
|
|
383
397
|
* @param params
|
|
384
398
|
* @returns Promise<RecordingInfoRes>
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { 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"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { createReadStream, existsSync } from 'fs';\nimport FormData from 'form-data';\nimport {\n ArtifactInfoReq,\n ArtifactInfoReqSchema,\n ArtifactInfoRes,\n ArtifactInfoResSchema,\n BroadcastToRoomReq,\n BroadcastToRoomReqSchema,\n CommonResponse,\n CommonResponseSchema,\n CreateRoomReq,\n CreateRoomReqSchema,\n CreateRoomRes,\n CreateRoomResSchema,\n DeleteArtifactReq,\n DeleteArtifactReqSchema,\n DeleteArtifactRes,\n DeleteArtifactResSchema,\n DeleteRecordingReq,\n DeleteRecordingReqSchema,\n DeleteRecordingRes,\n DeleteRecordingResSchema,\n FetchArtifactsReq,\n FetchArtifactsReqSchema,\n FetchArtifactsRes,\n FetchArtifactsResSchema,\n FetchPastRoomsReq,\n FetchPastRoomsReqSchema,\n FetchPastRoomsRes,\n FetchPastRoomsResSchema,\n FetchRecordingsReq,\n FetchRecordingsReqSchema,\n FetchRecordingsRes,\n FetchRecordingsResSchema,\n GenerateTokenReq,\n GenerateTokenReqSchema,\n GenerateTokenRes,\n GenerateTokenResSchema,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoRes,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoRes,\n GetActiveRoomsInfoResSchema,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenRes,\n GetArtifactDownloadTokenResSchema,\n GetClientFilesRes,\n GetClientFilesResSchema,\n GetDownloadTokenReq,\n GetDownloadTokenReqSchema,\n GetDownloadTokenRes,\n GetDownloadTokenResSchema,\n IsRoomActiveReq,\n IsRoomActiveReqSchema,\n IsRoomActiveRes,\n IsRoomActiveResSchema,\n MergeRecordingsReq,\n MergeRecordingsReqSchema,\n RecordingInfoReq,\n RecordingInfoReqSchema,\n RecordingInfoRes,\n RecordingInfoResSchema,\n RoomEndReq,\n RoomEndReqSchema,\n RoomEndRes,\n RoomEndResSchema,\n StatusCode,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataRes,\n UpdateRecordingMetadataResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI, UploadWhiteboardFileReq } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async broadcastToRoom(\n params: BroadcastToRoomReq,\n ): Promise<CommonResponse> {\n const body = create(BroadcastToRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/broadcastToRoom',\n toJsonString(BroadcastToRoomReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Upload a file to be used on the whiteboard.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async uploadWhiteboardFile(\n params: UploadWhiteboardFileReq,\n ): Promise<CommonResponse> {\n const output = create(CommonResponseSchema, {\n statusCode: StatusCode.INVALID_PARAMETERS,\n });\n const formData = new FormData();\n if (params.filePath) {\n if (!existsSync(params.filePath)) {\n output.msg = \"The provided 'filePath' is not a valid file path.\";\n return output;\n }\n formData.append('document', createReadStream(params.filePath));\n } else if (params.document_link) {\n formData.append('document_link', params.document_link);\n } else {\n output.msg = 'Either filePath or document_link is required';\n return output;\n }\n\n const res = await this.apiTransport.sendMultipartRequest(\n '/room/uploadWhiteboardFile',\n params.roomId,\n formData,\n );\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Merge multiple parts of a session's recording into a single new recording.\n * @param params\n * @returns Promise<CommonResponseSchema>\n */\n public async mergeRecordings(\n params: MergeRecordingsReq,\n ): Promise<CommonResponse> {\n const body = create(MergeRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/mergeRecordings',\n toJsonString(MergeRecordingsReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\nimport FormData from 'form-data';\nimport { fromJsonString } from '@bufbuild/protobuf';\nimport { CommonResponseSchema } from 'plugnmeet-protocol-js';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string): Record<string, string> => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n\n public sendMultipartRequest = async (\n path: string,\n roomId: string,\n formData: FormData,\n ) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = {\n 'Room-Id': roomId,\n ...this.prepareHeader(roomId),\n ...formData.getHeaders(),\n };\n\n try {\n const res = await this.axios.post(path, formData, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n try {\n const decode = fromJsonString(\n CommonResponseSchema,\n error.response.data,\n );\n output.response = decode.msg;\n // oxlint-disable-next-line\n } catch (e) {}\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.cjs.js.map"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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";
|
|
1
|
+
import { ArtifactInfoReq, ArtifactInfoRes, BroadcastToRoomReq, CommonResponse, CreateRoomReq, CreateRoomRes, DeleteArtifactReq, DeleteArtifactRes, DeleteRecordingReq, DeleteRecordingRes, FetchArtifactsReq, FetchArtifactsRes, FetchPastRoomsReq, FetchPastRoomsRes, FetchRecordingsReq, FetchRecordingsRes, GenerateTokenReq, GenerateTokenRes, GetActiveRoomInfoReq, GetActiveRoomInfoRes, GetActiveRoomsInfoRes, GetArtifactDownloadTokenReq, GetArtifactDownloadTokenRes, GetClientFilesRes, GetDownloadTokenReq, GetDownloadTokenRes, IsRoomActiveReq, IsRoomActiveRes, MergeRecordingsReq, RecordingInfoReq, RecordingInfoRes, RoomEndReq, RoomEndRes, UpdateRecordingMetadataReq, UpdateRecordingMetadataRes } from "plugnmeet-protocol-js";
|
|
2
2
|
interface UploadWhiteboardFileReq {
|
|
3
3
|
roomId: string;
|
|
4
4
|
filePath?: string;
|
|
@@ -106,6 +106,12 @@ interface PlugNmeetAPI {
|
|
|
106
106
|
* @returns Promise<UpdateRecordingMetadataRes>
|
|
107
107
|
*/
|
|
108
108
|
updateRecordingMetadata(params: UpdateRecordingMetadataReq): Promise<UpdateRecordingMetadataRes>;
|
|
109
|
+
/**
|
|
110
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
111
|
+
* @param params
|
|
112
|
+
* @returns Promise<CommonResponse>
|
|
113
|
+
*/
|
|
114
|
+
mergeRecordings(params: MergeRecordingsReq): Promise<CommonResponse>;
|
|
109
115
|
/**
|
|
110
116
|
* Get recording details
|
|
111
117
|
* @param params
|
|
@@ -227,6 +233,12 @@ export class PlugNmeet implements PlugNmeetAPI {
|
|
|
227
233
|
* @returns Promise<UpdateRecordingMetadataRes>
|
|
228
234
|
*/
|
|
229
235
|
updateRecordingMetadata(params: UpdateRecordingMetadataReq): Promise<UpdateRecordingMetadataRes>;
|
|
236
|
+
/**
|
|
237
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
238
|
+
* @param params
|
|
239
|
+
* @returns Promise<CommonResponseSchema>
|
|
240
|
+
*/
|
|
241
|
+
mergeRecordings(params: MergeRecordingsReq): Promise<CommonResponse>;
|
|
230
242
|
/**
|
|
231
243
|
* Get recording details
|
|
232
244
|
* @param params
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";
|
|
1
|
+
{"mappings":";ACsCA;IACE,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;IACE;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClE;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAChE;;;;OAIG;IACH,iBAAiB,CACf,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrD;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1E;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACrE;;;;OAIG;IACH,oBAAoB,CAClB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtE;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtE;;;;OAIG;IACH,wBAAwB,CACtB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACnE;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzE;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1E;;;;OAIG;IACH,yBAAyB,CACvB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC;;;;OAIG;IACH,uBAAuB,CACrB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACrE;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC9C;AC9FD,sBAAuB,YAAW,YAAY;IAC5C,SAAS,CAAC,WAAW,SAAW;IAGhC;;;;OAIG;gBACS,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAQhE;;;;OAIG;IACU,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBtE;;;;OAIG;IACU,YAAY,CACvB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAgB5B;;;;OAIG;IACU,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAgB5E;;;;OAIG;IACU,iBAAiB,CAC5B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAgBhC;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAejE;;;;OAIG;IACU,kBAAkB,CAC7B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAgB7B;;;;OAIG;IACU,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB7D;;;;OAIG;IACU,eAAe,CAC1B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,cAAc,CAAC;IAgB1B;;;;OAIG;IACU,oBAAoB,CAC/B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAgC1B;;;;OAIG;IACU,cAAc,CACzB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAgB7B;;;;OAIG;IACU,cAAc,CACzB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAgB7B;;;;OAIG;IACU,wBAAwB,CACnC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;IAgBvC;;;;OAIG;IACU,eAAe,CAC1B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,CAAC;IAgB3B;;;;OAIG;IACU,eAAe,CAC1B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;;;OAIG;IACU,gBAAgB,CAC3B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;;;OAIG;IACU,yBAAyB,CACpC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAgB/B;;;;OAIG;IACU,uBAAuB,CAClC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAgBtC;;;;OAIG;IACU,eAAe,CAC1B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,cAAc,CAAC;IAgB1B;;;;OAIG;IACU,gBAAgB,CAC3B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAgB5B;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAW1D;AC3iBD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7D,cAAc,uBAAuB,CAAC","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
|
@@ -379,6 +379,20 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
379
379
|
return (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.UpdateRecordingMetadataResSchema), res.response);
|
|
380
380
|
}
|
|
381
381
|
/**
|
|
382
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
383
|
+
* @param params
|
|
384
|
+
* @returns Promise<CommonResponseSchema>
|
|
385
|
+
*/ async mergeRecordings(params) {
|
|
386
|
+
const body = (0, $cDXzb$bufbuildprotobuf.create)((0, $cDXzb$plugnmeetprotocoljs.MergeRecordingsReqSchema), params);
|
|
387
|
+
const res = await this.apiTransport.sendRequest('/recording/mergeRecordings', (0, $cDXzb$bufbuildprotobuf.toJsonString)((0, $cDXzb$plugnmeetprotocoljs.MergeRecordingsReqSchema), body));
|
|
388
|
+
const output = (0, $cDXzb$bufbuildprotobuf.create)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema));
|
|
389
|
+
if (!res.status) {
|
|
390
|
+
output.msg = res.response;
|
|
391
|
+
return output;
|
|
392
|
+
}
|
|
393
|
+
return (0, $cDXzb$bufbuildprotobuf.fromJsonString)((0, $cDXzb$plugnmeetprotocoljs.CommonResponseSchema), res.response);
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
382
396
|
* Get recording details
|
|
383
397
|
* @param params
|
|
384
398
|
* @returns Promise<RecordingInfoRes>
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { 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":"../"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { createReadStream, existsSync } from 'fs';\nimport FormData from 'form-data';\nimport {\n ArtifactInfoReq,\n ArtifactInfoReqSchema,\n ArtifactInfoRes,\n ArtifactInfoResSchema,\n BroadcastToRoomReq,\n BroadcastToRoomReqSchema,\n CommonResponse,\n CommonResponseSchema,\n CreateRoomReq,\n CreateRoomReqSchema,\n CreateRoomRes,\n CreateRoomResSchema,\n DeleteArtifactReq,\n DeleteArtifactReqSchema,\n DeleteArtifactRes,\n DeleteArtifactResSchema,\n DeleteRecordingReq,\n DeleteRecordingReqSchema,\n DeleteRecordingRes,\n DeleteRecordingResSchema,\n FetchArtifactsReq,\n FetchArtifactsReqSchema,\n FetchArtifactsRes,\n FetchArtifactsResSchema,\n FetchPastRoomsReq,\n FetchPastRoomsReqSchema,\n FetchPastRoomsRes,\n FetchPastRoomsResSchema,\n FetchRecordingsReq,\n FetchRecordingsReqSchema,\n FetchRecordingsRes,\n FetchRecordingsResSchema,\n GenerateTokenReq,\n GenerateTokenReqSchema,\n GenerateTokenRes,\n GenerateTokenResSchema,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoRes,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoRes,\n GetActiveRoomsInfoResSchema,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenRes,\n GetArtifactDownloadTokenResSchema,\n GetClientFilesRes,\n GetClientFilesResSchema,\n GetDownloadTokenReq,\n GetDownloadTokenReqSchema,\n GetDownloadTokenRes,\n GetDownloadTokenResSchema,\n IsRoomActiveReq,\n IsRoomActiveReqSchema,\n IsRoomActiveRes,\n IsRoomActiveResSchema,\n MergeRecordingsReq,\n MergeRecordingsReqSchema,\n RecordingInfoReq,\n RecordingInfoReqSchema,\n RecordingInfoRes,\n RecordingInfoResSchema,\n RoomEndReq,\n RoomEndReqSchema,\n RoomEndRes,\n RoomEndResSchema,\n StatusCode,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataRes,\n UpdateRecordingMetadataResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI, UploadWhiteboardFileReq } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async broadcastToRoom(\n params: BroadcastToRoomReq,\n ): Promise<CommonResponse> {\n const body = create(BroadcastToRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/broadcastToRoom',\n toJsonString(BroadcastToRoomReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Upload a file to be used on the whiteboard.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async uploadWhiteboardFile(\n params: UploadWhiteboardFileReq,\n ): Promise<CommonResponse> {\n const output = create(CommonResponseSchema, {\n statusCode: StatusCode.INVALID_PARAMETERS,\n });\n const formData = new FormData();\n if (params.filePath) {\n if (!existsSync(params.filePath)) {\n output.msg = \"The provided 'filePath' is not a valid file path.\";\n return output;\n }\n formData.append('document', createReadStream(params.filePath));\n } else if (params.document_link) {\n formData.append('document_link', params.document_link);\n } else {\n output.msg = 'Either filePath or document_link is required';\n return output;\n }\n\n const res = await this.apiTransport.sendMultipartRequest(\n '/room/uploadWhiteboardFile',\n params.roomId,\n formData,\n );\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Merge multiple parts of a session's recording into a single new recording.\n * @param params\n * @returns Promise<CommonResponseSchema>\n */\n public async mergeRecordings(\n params: MergeRecordingsReq,\n ): Promise<CommonResponse> {\n const body = create(MergeRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/mergeRecordings',\n toJsonString(MergeRecordingsReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\nimport FormData from 'form-data';\nimport { fromJsonString } from '@bufbuild/protobuf';\nimport { CommonResponseSchema } from 'plugnmeet-protocol-js';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string): Record<string, string> => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n\n public sendMultipartRequest = async (\n path: string,\n roomId: string,\n formData: FormData,\n ) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = {\n 'Room-Id': roomId,\n ...this.prepareHeader(roomId),\n ...formData.getHeaders(),\n };\n\n try {\n const res = await this.axios.post(path, formData, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n try {\n const decode = fromJsonString(\n CommonResponseSchema,\n error.response.data,\n );\n output.response = decode.msg;\n // oxlint-disable-next-line\n } catch (e) {}\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
|
package/dist/index.mjs.js
CHANGED
|
@@ -351,6 +351,20 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
351
351
|
return (0, $hgUW1$fromJsonString)((0, $hgUW1$UpdateRecordingMetadataResSchema), res.response);
|
|
352
352
|
}
|
|
353
353
|
/**
|
|
354
|
+
* Merge multiple parts of a session's recording into a single new recording.
|
|
355
|
+
* @param params
|
|
356
|
+
* @returns Promise<CommonResponseSchema>
|
|
357
|
+
*/ async mergeRecordings(params) {
|
|
358
|
+
const body = (0, $149c1bd638913645$re_export$createRequest)((0, $hgUW1$MergeRecordingsReqSchema), params);
|
|
359
|
+
const res = await this.apiTransport.sendRequest('/recording/mergeRecordings', (0, $hgUW1$toJsonString)((0, $hgUW1$MergeRecordingsReqSchema), body));
|
|
360
|
+
const output = (0, $149c1bd638913645$re_export$createRequest)((0, $hgUW1$CommonResponseSchema));
|
|
361
|
+
if (!res.status) {
|
|
362
|
+
output.msg = res.response;
|
|
363
|
+
return output;
|
|
364
|
+
}
|
|
365
|
+
return (0, $hgUW1$fromJsonString)((0, $hgUW1$CommonResponseSchema), res.response);
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
354
368
|
* Get recording details
|
|
355
369
|
* @param params
|
|
356
370
|
* @returns Promise<RecordingInfoRes>
|
package/dist/index.mjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { 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"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["export { create as createRequest } from '@bufbuild/protobuf';\nexport * from 'plugnmeet-protocol-js';\n\nexport { PlugNmeet } from './PlugNmeet';\n","import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';\nimport { createReadStream, existsSync } from 'fs';\nimport FormData from 'form-data';\nimport {\n ArtifactInfoReq,\n ArtifactInfoReqSchema,\n ArtifactInfoRes,\n ArtifactInfoResSchema,\n BroadcastToRoomReq,\n BroadcastToRoomReqSchema,\n CommonResponse,\n CommonResponseSchema,\n CreateRoomReq,\n CreateRoomReqSchema,\n CreateRoomRes,\n CreateRoomResSchema,\n DeleteArtifactReq,\n DeleteArtifactReqSchema,\n DeleteArtifactRes,\n DeleteArtifactResSchema,\n DeleteRecordingReq,\n DeleteRecordingReqSchema,\n DeleteRecordingRes,\n DeleteRecordingResSchema,\n FetchArtifactsReq,\n FetchArtifactsReqSchema,\n FetchArtifactsRes,\n FetchArtifactsResSchema,\n FetchPastRoomsReq,\n FetchPastRoomsReqSchema,\n FetchPastRoomsRes,\n FetchPastRoomsResSchema,\n FetchRecordingsReq,\n FetchRecordingsReqSchema,\n FetchRecordingsRes,\n FetchRecordingsResSchema,\n GenerateTokenReq,\n GenerateTokenReqSchema,\n GenerateTokenRes,\n GenerateTokenResSchema,\n GetActiveRoomInfoReq,\n GetActiveRoomInfoReqSchema,\n GetActiveRoomInfoRes,\n GetActiveRoomInfoResSchema,\n GetActiveRoomsInfoRes,\n GetActiveRoomsInfoResSchema,\n GetArtifactDownloadTokenReq,\n GetArtifactDownloadTokenReqSchema,\n GetArtifactDownloadTokenRes,\n GetArtifactDownloadTokenResSchema,\n GetClientFilesRes,\n GetClientFilesResSchema,\n GetDownloadTokenReq,\n GetDownloadTokenReqSchema,\n GetDownloadTokenRes,\n GetDownloadTokenResSchema,\n IsRoomActiveReq,\n IsRoomActiveReqSchema,\n IsRoomActiveRes,\n IsRoomActiveResSchema,\n MergeRecordingsReq,\n MergeRecordingsReqSchema,\n RecordingInfoReq,\n RecordingInfoReqSchema,\n RecordingInfoRes,\n RecordingInfoResSchema,\n RoomEndReq,\n RoomEndReqSchema,\n RoomEndRes,\n RoomEndResSchema,\n StatusCode,\n UpdateRecordingMetadataReq,\n UpdateRecordingMetadataReqSchema,\n UpdateRecordingMetadataRes,\n UpdateRecordingMetadataResSchema,\n} from 'plugnmeet-protocol-js';\n\nimport { ApiTransport } from './ApiTransport';\nimport { PlugNmeetAPI, UploadWhiteboardFileReq } from './PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomRes>\n */\n public async createRoom(params: CreateRoomReq): Promise<CreateRoomRes> {\n const body = create(CreateRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/create',\n toJsonString(CreateRoomReqSchema, body),\n );\n const output = create(CreateRoomResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CreateRoomResSchema, res.response);\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<GenerateTokenRes>\n */\n public async getJoinToken(\n params: GenerateTokenReq,\n ): Promise<GenerateTokenRes> {\n const body = create(GenerateTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n toJsonString(GenerateTokenReqSchema, body),\n );\n const output = create(GenerateTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GenerateTokenResSchema, res.response);\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveRes>\n */\n public async isRoomActive(params: IsRoomActiveReq): Promise<IsRoomActiveRes> {\n const body = create(IsRoomActiveReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n toJsonString(IsRoomActiveReqSchema, body),\n );\n const output = create(IsRoomActiveResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(IsRoomActiveResSchema, res.response);\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<GetActiveRoomInfoRes>\n */\n public async getActiveRoomInfo(\n params: GetActiveRoomInfoReq,\n ): Promise<GetActiveRoomInfoRes> {\n const body = create(GetActiveRoomInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n toJsonString(GetActiveRoomInfoReqSchema, body),\n );\n const output = create(GetActiveRoomInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomInfoResSchema, res.response);\n }\n\n /**\n * Get all active rooms\n * @returns Promise<GetActiveRoomsInfoRes>\n */\n public async getActiveRoomsInfo(): Promise<GetActiveRoomsInfoRes> {\n const res = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n '{}',\n );\n const output = create(GetActiveRoomsInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetActiveRoomsInfoResSchema, res.response);\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchPastRoomsRes>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsReq,\n ): Promise<FetchPastRoomsRes> {\n const body = create(FetchPastRoomsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n toJsonString(FetchPastRoomsReqSchema, body),\n );\n const output = create(FetchPastRoomsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchPastRoomsResSchema, res.response);\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<RoomEndRes>\n */\n public async endRoom(params: RoomEndReq): Promise<RoomEndRes> {\n const body = create(RoomEndReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/endRoom',\n toJsonString(RoomEndReqSchema, body),\n );\n const output = create(RoomEndResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RoomEndResSchema, res.response);\n }\n\n /**\n * Broadcast messages or notifications directly into an active Plug-N-Meet session in real-time.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async broadcastToRoom(\n params: BroadcastToRoomReq,\n ): Promise<CommonResponse> {\n const body = create(BroadcastToRoomReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/room/broadcastToRoom',\n toJsonString(BroadcastToRoomReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Upload a file to be used on the whiteboard.\n * @param params\n * @returns Promise<CommonResponse>\n */\n public async uploadWhiteboardFile(\n params: UploadWhiteboardFileReq,\n ): Promise<CommonResponse> {\n const output = create(CommonResponseSchema, {\n statusCode: StatusCode.INVALID_PARAMETERS,\n });\n const formData = new FormData();\n if (params.filePath) {\n if (!existsSync(params.filePath)) {\n output.msg = \"The provided 'filePath' is not a valid file path.\";\n return output;\n }\n formData.append('document', createReadStream(params.filePath));\n } else if (params.document_link) {\n formData.append('document_link', params.document_link);\n } else {\n output.msg = 'Either filePath or document_link is required';\n return output;\n }\n\n const res = await this.apiTransport.sendMultipartRequest(\n '/room/uploadWhiteboardFile',\n params.roomId,\n formData,\n );\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Fetch artifacts\n * @param params\n * @returns Promise<FetchArtifactsRes>\n */\n public async fetchArtifacts(\n params: FetchArtifactsReq,\n ): Promise<FetchArtifactsRes> {\n const body = create(FetchArtifactsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/fetch',\n toJsonString(FetchArtifactsReqSchema, body),\n );\n const output = create(FetchArtifactsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchArtifactsResSchema, res.response);\n }\n\n /**\n * Delete artifact\n * @param params\n * @returns Promise<DeleteArtifactRes>\n */\n public async deleteArtifact(\n params: DeleteArtifactReq,\n ): Promise<DeleteArtifactRes> {\n const body = create(DeleteArtifactReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/delete',\n toJsonString(DeleteArtifactReqSchema, body),\n );\n const output = create(DeleteArtifactResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteArtifactResSchema, res.response);\n }\n\n /**\n * Generate token to download Artifact\n * @param params\n * @returns Promise<GetArtifactDownloadTokenRes>\n */\n public async getArtifactDownloadToken(\n params: GetArtifactDownloadTokenReq,\n ): Promise<GetArtifactDownloadTokenRes> {\n const body = create(GetArtifactDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/getDownloadToken',\n toJsonString(GetArtifactDownloadTokenReqSchema, body),\n );\n const output = create(GetArtifactDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetArtifactDownloadTokenResSchema, res.response);\n }\n\n /**\n * Get Artifact details\n * @param params\n * @returns Promise<ArtifactInfoRes>\n */\n public async getArtifactInfo(\n params: ArtifactInfoReq,\n ): Promise<ArtifactInfoRes> {\n const body = create(ArtifactInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/artifact/info',\n toJsonString(ArtifactInfoReqSchema, body),\n );\n const output = create(ArtifactInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(ArtifactInfoResSchema, res.response);\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsRes>\n */\n public async fetchRecordings(\n params: FetchRecordingsReq,\n ): Promise<FetchRecordingsRes> {\n const body = create(FetchRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/fetch',\n toJsonString(FetchRecordingsReqSchema, body),\n );\n const output = create(FetchRecordingsResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(FetchRecordingsResSchema, res.response);\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingRes>\n */\n public async deleteRecordings(\n params: DeleteRecordingReq,\n ): Promise<DeleteRecordingRes> {\n const body = create(DeleteRecordingReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/delete',\n toJsonString(DeleteRecordingReqSchema, body),\n );\n const output = create(DeleteRecordingResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(DeleteRecordingResSchema, res.response);\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<GetDownloadTokenRes>\n */\n public async getRecordingDownloadToken(\n params: GetDownloadTokenReq,\n ): Promise<GetDownloadTokenRes> {\n const body = create(GetDownloadTokenReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n toJsonString(GetDownloadTokenReqSchema, body),\n );\n const output = create(GetDownloadTokenResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetDownloadTokenResSchema, res.response);\n }\n\n /**\n * Update recording metadata info\n * @param params\n * @returns Promise<UpdateRecordingMetadataRes>\n */\n public async updateRecordingMetadata(\n params: UpdateRecordingMetadataReq,\n ): Promise<UpdateRecordingMetadataRes> {\n const body = create(UpdateRecordingMetadataReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/updateMetadata',\n toJsonString(UpdateRecordingMetadataReqSchema, body),\n );\n const output = create(UpdateRecordingMetadataResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(UpdateRecordingMetadataResSchema, res.response);\n }\n\n /**\n * Merge multiple parts of a session's recording into a single new recording.\n * @param params\n * @returns Promise<CommonResponseSchema>\n */\n public async mergeRecordings(\n params: MergeRecordingsReq,\n ): Promise<CommonResponse> {\n const body = create(MergeRecordingsReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/mergeRecordings',\n toJsonString(MergeRecordingsReqSchema, body),\n );\n const output = create(CommonResponseSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(CommonResponseSchema, res.response);\n }\n\n /**\n * Get recording details\n * @param params\n * @returns Promise<RecordingInfoRes>\n */\n public async getRecordingInfo(\n params: RecordingInfoReq,\n ): Promise<RecordingInfoRes> {\n const body = create(RecordingInfoReqSchema, params);\n const res = await this.apiTransport.sendRequest(\n '/recording/info',\n toJsonString(RecordingInfoReqSchema, body),\n );\n const output = create(RecordingInfoResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(RecordingInfoResSchema, res.response);\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<GetClientFilesRes>\n */\n public async getClientFiles(): Promise<GetClientFilesRes> {\n const res = await this.apiTransport.sendRequest('/getClientFiles', '{}');\n const output = create(GetClientFilesResSchema);\n\n if (!res.status) {\n output.msg = res.response;\n return output;\n }\n\n return fromJsonString(GetClientFilesResSchema, res.response);\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { createHmac } from 'crypto';\nimport FormData from 'form-data';\nimport { fromJsonString } from '@bufbuild/protobuf';\nimport { CommonResponseSchema } from 'plugnmeet-protocol-js';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n private readonly apiKey: string;\n private readonly apiSecret: string;\n private axios: AxiosInstance;\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n this.axios = axios.create({\n baseURL: apiEndPointURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n\n private prepareHeader = (body: string): Record<string, string> => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: string) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = this.prepareHeader(body);\n\n try {\n const res = await this.axios.post(path, body, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n output.response = error.response.data;\n }\n return output;\n }\n };\n\n public sendMultipartRequest = async (\n path: string,\n roomId: string,\n formData: FormData,\n ) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const headers = {\n 'Room-Id': roomId,\n ...this.prepareHeader(roomId),\n ...formData.getHeaders(),\n };\n\n try {\n const res = await this.axios.post(path, formData, {\n headers,\n // Return the raw response string, preventing axios from decoding it.\n // The protobuf `fromJson` method will handle the parsing.\n transformResponse: [(data) => data],\n });\n output.status = true;\n output.response = res.data;\n return output;\n } catch (error: any) {\n output.response = error.message;\n if (error.response) {\n try {\n const decode = fromJsonString(\n CommonResponseSchema,\n error.response.data,\n );\n output.response = decode.msg;\n // oxlint-disable-next-line\n } catch (e) {}\n }\n return output;\n }\n };\n}\n"],"names":[],"version":3,"file":"index.mjs.js.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plugnmeet-sdk-js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "plugNmeet JS SDK",
|
|
5
5
|
"author": "Jibon L. Costa",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"@bufbuild/protobuf": "2.12.0",
|
|
27
27
|
"axios": "1.16.1",
|
|
28
28
|
"form-data": "4.0.5",
|
|
29
|
-
"plugnmeet-protocol-js": "1.
|
|
29
|
+
"plugnmeet-protocol-js": "1.3.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@parcel/packager-ts": "2.16.4",
|
|
33
33
|
"@parcel/transformer-typescript-types": "2.16.4",
|
|
34
34
|
"@prettier/plugin-oxc": "0.1.4",
|
|
35
35
|
"@types/node": "25.9.1",
|
|
36
|
-
"oxlint": "1.
|
|
36
|
+
"oxlint": "1.67.0",
|
|
37
37
|
"parcel": "2.16.4",
|
|
38
38
|
"prettier": "3.8.3",
|
|
39
39
|
"typedoc": "0.28.19",
|