plugnmeet-sdk-js 1.3.0 → 1.4.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.
@@ -14,12 +14,11 @@ class $e666bfa8019d90ff$export$5a82ec1641dd9681 {
14
14
  this.mainOptions = {};
15
15
  this.prepareHeader = (body)=>{
16
16
  const signature = (0, $gvjLo$createHmac)("sha256", this.apiSecret).update(body).digest("hex");
17
- const headers = {
17
+ return {
18
18
  "Content-Type": "application/json",
19
19
  "API-KEY": this.apiKey,
20
20
  "HASH-SIGNATURE": signature
21
21
  };
22
- return headers;
23
22
  };
24
23
  this.sendRequest = async (path, body)=>{
25
24
  return new Promise((resolve)=>{
@@ -85,7 +84,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
85
84
  }
86
85
  /**
87
86
  * Create new room
88
- * @param params: CreateRoomParams
87
+ * @param params
89
88
  * @returns Promise<CreateRoomResponse>
90
89
  */ async createRoom(params) {
91
90
  const output = await this.apiTransport.sendRequest("/room/create", params);
@@ -101,7 +100,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
101
100
  }
102
101
  /**
103
102
  * Generate join token
104
- * @param params: JoinTokenParams
103
+ * @param params
105
104
  * @returns Promise<JoinTokenResponse>
106
105
  */ async getJoinToken(params) {
107
106
  const output = await this.apiTransport.sendRequest("/room/getJoinToken", params);
@@ -117,7 +116,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
117
116
  }
118
117
  /**
119
118
  * If room is active or not
120
- * @param params: IsRoomActiveParams
119
+ * @param params
121
120
  * @returns Promise<IsRoomActiveResponse>
122
121
  */ async isRoomActive(params) {
123
122
  const output = await this.apiTransport.sendRequest("/room/isRoomActive", params);
@@ -127,12 +126,13 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
127
126
  };
128
127
  return {
129
128
  status: output.response.status,
129
+ is_active: output.response.is_active,
130
130
  msg: output.response.msg
131
131
  };
132
132
  }
133
133
  /**
134
134
  * Get active room information
135
- * @param params: ActiveRoomInfoParams
135
+ * @param params
136
136
  * @returns Promise<ActiveRoomInfoResponse>
137
137
  */ async getActiveRoomInfo(params) {
138
138
  const output = await this.apiTransport.sendRequest("/room/getActiveRoomInfo", params);
@@ -162,8 +162,24 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
162
162
  };
163
163
  }
164
164
  /**
165
+ * Fetch info about past rooms
166
+ * @param params
167
+ * @returns Promise<FetchRoomsInfoResponse>
168
+ */ async fetchPastRoomsInfo(params) {
169
+ const output = await this.apiTransport.sendRequest("/room/fetchPastRooms", params);
170
+ if (!output.status) return {
171
+ status: false,
172
+ msg: output.response
173
+ };
174
+ return {
175
+ status: output.response.status,
176
+ msg: output.response.msg,
177
+ result: output.response.result
178
+ };
179
+ }
180
+ /**
165
181
  * End active room
166
- * @param params: EndRoomParams
182
+ * @param params
167
183
  * @returns Promise<EndRoomResponse>
168
184
  */ async endRoom(params) {
169
185
  const output = await this.apiTransport.sendRequest("/room/endRoom", params);
@@ -177,8 +193,55 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
177
193
  };
178
194
  }
179
195
  /**
196
+ * Fetch analytics
197
+ * @param params
198
+ * @returns Promise<FetchAnalyticsResponse>
199
+ */ async fetchAnalytics(params) {
200
+ const output = await this.apiTransport.sendRequest("/analytics/fetch", params);
201
+ if (!output.status) return {
202
+ status: false,
203
+ msg: output.response
204
+ };
205
+ return {
206
+ status: output.response.status,
207
+ msg: output.response.msg,
208
+ result: output.response.result
209
+ };
210
+ }
211
+ /**
212
+ * Delete analytics
213
+ * @param params
214
+ * @returns Promise<DeleteAnalyticsResponse>
215
+ */ async deleteAnalytics(params) {
216
+ const output = await this.apiTransport.sendRequest("/analytics/delete", params);
217
+ if (!output.status) return {
218
+ status: false,
219
+ msg: output.response
220
+ };
221
+ return {
222
+ status: output.response.status,
223
+ msg: output.response.msg
224
+ };
225
+ }
226
+ /**
227
+ * Generate token to download recording
228
+ * @param params
229
+ * @returns Promise<AnalyticsDownloadTokenResponse>
230
+ */ async getAnalyticsDownloadToken(params) {
231
+ const output = await this.apiTransport.sendRequest("/analytics/getDownloadToken", params);
232
+ if (!output.status) return {
233
+ status: false,
234
+ msg: output.response
235
+ };
236
+ return {
237
+ status: output.response.status,
238
+ msg: output.response.msg,
239
+ token: output.response.token
240
+ };
241
+ }
242
+ /**
180
243
  * Fetch recordings
181
- * @param params: FetchRecordingsParams
244
+ * @param params
182
245
  * @returns Promise<FetchRecordingsResponse>
183
246
  */ async fetchRecordings(params) {
184
247
  const output = await this.apiTransport.sendRequest("/recording/fetch", params);
@@ -194,7 +257,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
194
257
  }
195
258
  /**
196
259
  * Delete recording
197
- * @param params: DeleteRecordingsParams
260
+ * @param params
198
261
  * @returns Promise<DeleteRecordingsResponse>
199
262
  */ async deleteRecordings(params) {
200
263
  const output = await this.apiTransport.sendRequest("/recording/delete", params);
@@ -208,9 +271,11 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
208
271
  };
209
272
  }
210
273
  /**
211
- * @returns Promise<ClientFilesResponse>
212
- */ async getClientFiles() {
213
- const output = await this.apiTransport.sendRequest("/getClientFiles", {});
274
+ * Generate token to download recording
275
+ * @param params
276
+ * @returns Promise<RecordingDownloadTokenResponse>
277
+ */ async getRecordingDownloadToken(params) {
278
+ const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
214
279
  if (!output.status) return {
215
280
  status: false,
216
281
  msg: output.response
@@ -218,16 +283,14 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
218
283
  return {
219
284
  status: output.response.status,
220
285
  msg: output.response.msg,
221
- css: output.response.css,
222
- js: output.response.js
286
+ token: output.response.token
223
287
  };
224
288
  }
225
289
  /**
226
- * Generate token to download recording
227
- * @param params: RecordingDownloadTokenParams
228
- * @returns Promise<RecordingDownloadTokenResponse>
229
- */ async getRecordingDownloadToken(params) {
230
- const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
290
+ * To get JS & CSS files to build interface
291
+ * @returns Promise<ClientFilesResponse>
292
+ */ async getClientFiles() {
293
+ const output = await this.apiTransport.sendRequest("/getClientFiles", {});
231
294
  if (!output.status) return {
232
295
  status: false,
233
296
  msg: output.response
@@ -235,7 +298,8 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
235
298
  return {
236
299
  status: output.response.status,
237
300
  msg: output.response.msg,
238
- token: output.response.token
301
+ css: output.response.css,
302
+ js: output.response.js
239
303
  };
240
304
  }
241
305
  }
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/RecordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\n\nexport class PlugNmeet {\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: CreateRoomParams\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params: JoinTokenParams\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params: IsRoomActiveParams\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params: ActiveRoomInfoParams\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * End active room\n * @param params: EndRoomParams\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch recordings\n * @param params: FetchRecordingsParams\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params: DeleteRecordingsParams\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params: RecordingDownloadTokenParams\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ?? false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n const headers = {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n\n return headers;\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.mjs.js.map"}
1
+ {"mappings":"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","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/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<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n is_active: output.response.is_active,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ?? false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.mjs.js.map"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,8 @@ type RooMetadata = {
11
11
  logout_url?: string;
12
12
  room_features: RoomFeaturesParams;
13
13
  default_lock_settings?: LockSettingsParams;
14
+ copyright_conf?: CopyrightConf;
15
+ extra_data?: string;
14
16
  };
15
17
  type RoomFeaturesParams = {
16
18
  allow_webcams: boolean;
@@ -20,6 +22,10 @@ type RoomFeaturesParams = {
20
22
  admin_only_webcams: boolean;
21
23
  allow_view_other_webcams: boolean;
22
24
  allow_view_other_users_list: boolean;
25
+ room_duration: number;
26
+ enable_analytics: boolean;
27
+ allow_virtual_bg: boolean;
28
+ allow_raise_hand: boolean;
23
29
  recording_features: RecordingFeaturesParams;
24
30
  chat_features: ChatFeaturesParams;
25
31
  shared_note_pad_features?: SharedNotePadFeaturesParams;
@@ -49,6 +55,7 @@ type SharedNotePadFeaturesParams = {
49
55
  };
50
56
  type WhiteboardFeaturesParams = {
51
57
  allowed_whiteboard: boolean;
58
+ preload_file?: string;
52
59
  };
53
60
  type ExternalMediaPlayerFeatures = {
54
61
  allowed_external_media_player: boolean;
@@ -98,6 +105,10 @@ type CreateRoomResponseRoomInfo = {
98
105
  enabled_codecs: Array<any>;
99
106
  metadata: string;
100
107
  };
108
+ type CopyrightConf = {
109
+ display: boolean;
110
+ text: string;
111
+ };
101
112
  type JoinTokenParams = {
102
113
  room_id: string;
103
114
  user_info: JoinTokenUserInfo;
@@ -123,6 +134,7 @@ type IsRoomActiveParams = {
123
134
  };
124
135
  type IsRoomActiveResponse = {
125
136
  status: boolean;
137
+ is_active?: boolean;
126
138
  msg: string;
127
139
  };
128
140
  type ActiveRoomInfoParams = {
@@ -219,7 +231,160 @@ type ClientFilesResponse = {
219
231
  css?: Array<string>;
220
232
  js?: Array<string>;
221
233
  };
222
- export class PlugNmeet {
234
+ type FetchPastRoomsInfoParams = {
235
+ room_ids?: Array<string>;
236
+ from?: number;
237
+ limit?: number;
238
+ order_by?: 'ASC' | 'DESC';
239
+ };
240
+ type FetchRoomsInfoResponse = {
241
+ status: boolean;
242
+ msg: string;
243
+ result?: PastRoomInfoResult;
244
+ };
245
+ type PastRoomInfoResult = {
246
+ total_rooms: number;
247
+ from: number;
248
+ limit: number;
249
+ order_by: string;
250
+ rooms_list: Array<PastRoomInfo>;
251
+ };
252
+ type PastRoomInfo = {
253
+ room_title: string;
254
+ room_id: string;
255
+ room_sid: string;
256
+ joined_participants: number;
257
+ webhook_url: string;
258
+ created: string;
259
+ ended: string;
260
+ analytics_files_id: string;
261
+ };
262
+ type FetchAnalyticsParams = {
263
+ room_ids: Array<string>;
264
+ from?: number;
265
+ limit?: number;
266
+ order_by?: 'ASC' | 'DESC';
267
+ };
268
+ type FetchAnalyticsResponse = {
269
+ status: boolean;
270
+ msg: string;
271
+ result?: FetchAnalyticsResult;
272
+ };
273
+ type FetchAnalyticsResult = {
274
+ total_analytics: number;
275
+ from: number;
276
+ limit: number;
277
+ order_by: string;
278
+ analytics_list: Array<AnalyticsInfo>;
279
+ };
280
+ type AnalyticsInfo = {
281
+ room_id: string;
282
+ file_id: string;
283
+ file_name: string;
284
+ file_size: number;
285
+ creation_time: number;
286
+ room_creation_time: number;
287
+ };
288
+ type DeleteAnalyticsParams = {
289
+ file_id: string;
290
+ };
291
+ type DeleteAnalyticsResponse = {
292
+ status: boolean;
293
+ msg: string;
294
+ };
295
+ type AnalyticsDownloadTokenParams = {
296
+ file_id: string;
297
+ };
298
+ type AnalyticsDownloadTokenResponse = {
299
+ status: boolean;
300
+ msg: string;
301
+ token?: string;
302
+ };
303
+ interface PlugNmeetAPI {
304
+ /**
305
+ * Create new room
306
+ * @param params
307
+ * @returns Promise<CreateRoomResponse>
308
+ */
309
+ createRoom(params: CreateRoomParams): Promise<CreateRoomResponse>;
310
+ /**
311
+ * Generate join token
312
+ * @param params
313
+ * @returns Promise<JoinTokenResponse>
314
+ */
315
+ getJoinToken(params: JoinTokenParams): Promise<JoinTokenResponse>;
316
+ /**
317
+ * If room is active or not
318
+ * @param params
319
+ * @returns Promise<IsRoomActiveResponse>
320
+ */
321
+ isRoomActive(params: IsRoomActiveParams): Promise<IsRoomActiveResponse>;
322
+ /**
323
+ * Get active room information
324
+ * @param params
325
+ * @returns Promise<ActiveRoomInfoResponse>
326
+ */
327
+ getActiveRoomInfo(params: ActiveRoomInfoParams): Promise<ActiveRoomInfoResponse>;
328
+ /**
329
+ * Get all active rooms
330
+ * @returns Promise<ActiveRoomsInfoResponse>
331
+ */
332
+ getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse>;
333
+ /**
334
+ * Fetch info about past rooms
335
+ * @param params
336
+ * @returns Promise<FetchRoomsInfoResponse>
337
+ */
338
+ fetchPastRoomsInfo(params: FetchPastRoomsInfoParams): Promise<FetchRoomsInfoResponse>;
339
+ /**
340
+ * End active room
341
+ * @param params
342
+ * @returns Promise<EndRoomResponse>
343
+ */
344
+ endRoom(params: EndRoomParams): Promise<EndRoomResponse>;
345
+ /**
346
+ * Fetch analytics
347
+ * @param params
348
+ * @returns Promise<FetchAnalyticsResponse>
349
+ */
350
+ fetchAnalytics(params: FetchAnalyticsParams): Promise<FetchAnalyticsResponse>;
351
+ /**
352
+ * Delete analytics
353
+ * @param params
354
+ * @returns Promise<DeleteAnalyticsResponse>
355
+ */
356
+ deleteAnalytics(params: DeleteAnalyticsParams): Promise<DeleteAnalyticsResponse>;
357
+ /**
358
+ * Generate token to download recording
359
+ * @param params
360
+ * @returns Promise<AnalyticsDownloadTokenResponse>
361
+ */
362
+ getAnalyticsDownloadToken(params: AnalyticsDownloadTokenParams): Promise<AnalyticsDownloadTokenResponse>;
363
+ /**
364
+ * Fetch recordings
365
+ * @param params
366
+ * @returns Promise<FetchRecordingsResponse>
367
+ */
368
+ fetchRecordings(params: FetchRecordingsParams): Promise<FetchRecordingsResponse>;
369
+ /**
370
+ * Delete recording
371
+ * @param params
372
+ * @returns Promise<DeleteRecordingsResponse>
373
+ */
374
+ deleteRecordings(params: DeleteRecordingsParams): Promise<DeleteRecordingsResponse>;
375
+ /**
376
+ * Generate token to download recording
377
+ * @param params
378
+ * @returns Promise<RecordingDownloadTokenResponse>
379
+ */
380
+ getRecordingDownloadToken(params: RecordingDownloadTokenParams): Promise<RecordingDownloadTokenResponse>;
381
+ /**
382
+ * To get JS & CSS files to build interface
383
+ * @returns Promise<ClientFilesResponse>
384
+ */
385
+ getClientFiles(): Promise<ClientFilesResponse>;
386
+ }
387
+ export class PlugNmeet implements PlugNmeetAPI {
223
388
  protected defaultPath: string;
224
389
  /**
225
390
  * @param serverUrl plugNmeet server URL
@@ -229,25 +394,25 @@ export class PlugNmeet {
229
394
  constructor(serverUrl: string, apiKey: string, apiSecret: string);
230
395
  /**
231
396
  * Create new room
232
- * @param params: CreateRoomParams
397
+ * @param params
233
398
  * @returns Promise<CreateRoomResponse>
234
399
  */
235
400
  createRoom(params: CreateRoomParams): Promise<CreateRoomResponse>;
236
401
  /**
237
402
  * Generate join token
238
- * @param params: JoinTokenParams
403
+ * @param params
239
404
  * @returns Promise<JoinTokenResponse>
240
405
  */
241
406
  getJoinToken(params: JoinTokenParams): Promise<JoinTokenResponse>;
242
407
  /**
243
408
  * If room is active or not
244
- * @param params: IsRoomActiveParams
409
+ * @param params
245
410
  * @returns Promise<IsRoomActiveResponse>
246
411
  */
247
412
  isRoomActive(params: IsRoomActiveParams): Promise<IsRoomActiveResponse>;
248
413
  /**
249
414
  * Get active room information
250
- * @param params: ActiveRoomInfoParams
415
+ * @param params
251
416
  * @returns Promise<ActiveRoomInfoResponse>
252
417
  */
253
418
  getActiveRoomInfo(params: ActiveRoomInfoParams): Promise<ActiveRoomInfoResponse>;
@@ -256,34 +421,59 @@ export class PlugNmeet {
256
421
  * @returns Promise<ActiveRoomsInfoResponse>
257
422
  */
258
423
  getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse>;
424
+ /**
425
+ * Fetch info about past rooms
426
+ * @param params
427
+ * @returns Promise<FetchRoomsInfoResponse>
428
+ */
429
+ fetchPastRoomsInfo(params: FetchPastRoomsInfoParams): Promise<FetchRoomsInfoResponse>;
259
430
  /**
260
431
  * End active room
261
- * @param params: EndRoomParams
432
+ * @param params
262
433
  * @returns Promise<EndRoomResponse>
263
434
  */
264
435
  endRoom(params: EndRoomParams): Promise<EndRoomResponse>;
436
+ /**
437
+ * Fetch analytics
438
+ * @param params
439
+ * @returns Promise<FetchAnalyticsResponse>
440
+ */
441
+ fetchAnalytics(params: FetchAnalyticsParams): Promise<FetchAnalyticsResponse>;
442
+ /**
443
+ * Delete analytics
444
+ * @param params
445
+ * @returns Promise<DeleteAnalyticsResponse>
446
+ */
447
+ deleteAnalytics(params: DeleteAnalyticsParams): Promise<DeleteAnalyticsResponse>;
448
+ /**
449
+ * Generate token to download recording
450
+ * @param params
451
+ * @returns Promise<AnalyticsDownloadTokenResponse>
452
+ */
453
+ getAnalyticsDownloadToken(params: AnalyticsDownloadTokenParams): Promise<AnalyticsDownloadTokenResponse>;
265
454
  /**
266
455
  * Fetch recordings
267
- * @param params: FetchRecordingsParams
456
+ * @param params
268
457
  * @returns Promise<FetchRecordingsResponse>
269
458
  */
270
459
  fetchRecordings(params: FetchRecordingsParams): Promise<FetchRecordingsResponse>;
271
460
  /**
272
461
  * Delete recording
273
- * @param params: DeleteRecordingsParams
462
+ * @param params
274
463
  * @returns Promise<DeleteRecordingsResponse>
275
464
  */
276
465
  deleteRecordings(params: DeleteRecordingsParams): Promise<DeleteRecordingsResponse>;
277
- /**
278
- * @returns Promise<ClientFilesResponse>
279
- */
280
- getClientFiles(): Promise<ClientFilesResponse>;
281
466
  /**
282
467
  * Generate token to download recording
283
- * @param params: RecordingDownloadTokenParams
468
+ * @param params
284
469
  * @returns Promise<RecordingDownloadTokenResponse>
285
470
  */
286
471
  getRecordingDownloadToken(params: RecordingDownloadTokenParams): Promise<RecordingDownloadTokenResponse>;
472
+ /**
473
+ * To get JS & CSS files to build interface
474
+ * @returns Promise<ClientFilesResponse>
475
+ */
476
+ getClientFiles(): Promise<ClientFilesResponse>;
287
477
  }
288
478
 
289
479
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/src/ApiTransport.ts","src/src/types/createRoom.ts","src/src/types/joinToken.ts","src/src/types/isRoomActive.ts","src/src/types/activeRoomInfo.ts","src/src/types/activeRoomsInfo.ts","src/src/types/endRoom.ts","src/src/types/fetchRecordings.ts","src/src/types/deleteRecordings.ts","src/src/types/RecordingDownloadToken.ts","src/src/types/clientFiles.ts","src/src/PlugNmeet.ts","src/PlugNmeet.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,"import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/RecordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\n\nexport class PlugNmeet {\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: CreateRoomParams\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params: JoinTokenParams\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params: IsRoomActiveParams\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params: ActiveRoomInfoParams\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * End active room\n * @param params: EndRoomParams\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch recordings\n * @param params: FetchRecordingsParams\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params: DeleteRecordingsParams\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params: RecordingDownloadTokenParams\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n}\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":"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","sources":["src/src/ApiTransport.ts","src/src/types/createRoom.ts","src/src/types/joinToken.ts","src/src/types/isRoomActive.ts","src/src/types/activeRoomInfo.ts","src/src/types/activeRoomsInfo.ts","src/src/types/endRoom.ts","src/src/types/fetchRecordings.ts","src/src/types/deleteRecordings.ts","src/src/types/recordingDownloadToken.ts","src/src/types/clientFiles.ts","src/src/types/fetchPastRoomsInfo.ts","src/src/types/fetchAnalytics.ts","src/src/types/deleteAnalytics.ts","src/src/types/analyticsDownloadToken.ts","src/src/types/PlugNmeetAPI.ts","src/src/PlugNmeet.ts","src/PlugNmeet.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/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<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n is_active: output.response.is_active,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n"],"names":[],"version":3,"file":"index.d.ts.map"}