plugnmeet-sdk-js 1.2.6 → 1.3.1

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/PlugNmeet.js CHANGED
@@ -2,9 +2,11 @@ var $d6kgz$http = require("http");
2
2
  var $d6kgz$https = require("https");
3
3
  var $d6kgz$crypto = require("crypto");
4
4
 
5
+
5
6
  function $parcel$export(e, n, v, s) {
6
7
  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
7
8
  }
9
+
8
10
  function $parcel$interopDefault(a) {
9
11
  return a && a.__esModule ? a.default : a;
10
12
  }
@@ -14,9 +16,52 @@ $parcel$export(module.exports, "PlugNmeet", () => $8e30a24c4952589a$export$1402d
14
16
 
15
17
 
16
18
  class $3437a6ece6919767$export$5a82ec1641dd9681 {
17
- isSecure = false;
18
- mainOptions = {};
19
19
  constructor(apiEndPointURL, apiKey, apiSecret){
20
+ this.isSecure = false;
21
+ this.mainOptions = {};
22
+ this.prepareHeader = (body)=>{
23
+ const signature = (0, $d6kgz$crypto.createHmac)("sha256", this.apiSecret).update(body).digest("hex");
24
+ return {
25
+ "Content-Type": "application/json",
26
+ "API-KEY": this.apiKey,
27
+ "HASH-SIGNATURE": signature
28
+ };
29
+ };
30
+ this.sendRequest = async (path, body)=>{
31
+ return new Promise((resolve)=>{
32
+ const output = {
33
+ status: false,
34
+ response: undefined
35
+ };
36
+ const chunk = JSON.stringify(body);
37
+ const options = {
38
+ ...this.mainOptions
39
+ };
40
+ options.path += path;
41
+ options.headers = this.prepareHeader(chunk);
42
+ const req = (this.isSecure ? (0, ($parcel$interopDefault($d6kgz$https))) : (0, ($parcel$interopDefault($d6kgz$http)))).request(options, (res)=>{
43
+ const body = [];
44
+ res.on("data", (chunk)=>body.push(chunk));
45
+ res.on("end", ()=>{
46
+ const resString = Buffer.concat(body).toString();
47
+ try {
48
+ output.status = true;
49
+ output.response = JSON.parse(resString);
50
+ } catch (error) {
51
+ output.status = false;
52
+ output.response = error;
53
+ }
54
+ resolve(output);
55
+ });
56
+ });
57
+ req.on("error", (error)=>{
58
+ output.response = error.message;
59
+ resolve(output);
60
+ });
61
+ req.write(chunk);
62
+ req.end();
63
+ });
64
+ };
20
65
  this.apiEndPointURL = apiEndPointURL;
21
66
  this.apiKey = apiKey;
22
67
  this.apiSecret = apiSecret;
@@ -32,65 +77,21 @@ class $3437a6ece6919767$export$5a82ec1641dd9681 {
32
77
  port: port
33
78
  };
34
79
  }
35
- prepareHeader = (body)=>{
36
- const signature = (0, $d6kgz$crypto.createHmac)("sha256", this.apiSecret).update(body).digest("hex");
37
- const headers = {
38
- "Content-Type": "application/json",
39
- "API-KEY": this.apiKey,
40
- "HASH-SIGNATURE": signature
41
- };
42
- return headers;
43
- };
44
- sendRequest = async (path, body)=>{
45
- return new Promise((resolve)=>{
46
- const output = {
47
- status: false,
48
- response: undefined
49
- };
50
- const chunk = JSON.stringify(body);
51
- const options = {
52
- ...this.mainOptions
53
- };
54
- options.path += path;
55
- options.headers = this.prepareHeader(chunk);
56
- const req = (this.isSecure ? (0, ($parcel$interopDefault($d6kgz$https))) : (0, ($parcel$interopDefault($d6kgz$http)))).request(options, (res)=>{
57
- const body = [];
58
- res.on("data", (chunk)=>body.push(chunk));
59
- res.on("end", ()=>{
60
- const resString = Buffer.concat(body).toString();
61
- try {
62
- output.status = true;
63
- output.response = JSON.parse(resString);
64
- } catch (error) {
65
- output.status = false;
66
- output.response = error;
67
- }
68
- resolve(output);
69
- });
70
- });
71
- req.on("error", (error)=>{
72
- output.response = error.message;
73
- resolve(output);
74
- });
75
- req.write(chunk);
76
- req.end();
77
- });
78
- };
79
80
  }
80
81
 
81
82
 
82
83
  class $8e30a24c4952589a$export$1402da7f2870faee {
83
- defaultPath = "/auth";
84
84
  /**
85
85
  * @param serverUrl plugNmeet server URL
86
86
  * @param apiKey plugNmeet API_Key
87
87
  * @param apiSecret plugNmeet API_Secret
88
88
  */ constructor(serverUrl, apiKey, apiSecret){
89
+ this.defaultPath = "/auth";
89
90
  this.apiTransport = new (0, $3437a6ece6919767$export$5a82ec1641dd9681)(serverUrl + this.defaultPath, apiKey, apiSecret);
90
91
  }
91
92
  /**
92
93
  * Create new room
93
- * @param params: CreateRoomParams
94
+ * @param params
94
95
  * @returns Promise<CreateRoomResponse>
95
96
  */ async createRoom(params) {
96
97
  const output = await this.apiTransport.sendRequest("/room/create", params);
@@ -106,7 +107,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
106
107
  }
107
108
  /**
108
109
  * Generate join token
109
- * @param params: JoinTokenParams
110
+ * @param params
110
111
  * @returns Promise<JoinTokenResponse>
111
112
  */ async getJoinToken(params) {
112
113
  const output = await this.apiTransport.sendRequest("/room/getJoinToken", params);
@@ -122,7 +123,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
122
123
  }
123
124
  /**
124
125
  * If room is active or not
125
- * @param params: IsRoomActiveParams
126
+ * @param params
126
127
  * @returns Promise<IsRoomActiveResponse>
127
128
  */ async isRoomActive(params) {
128
129
  const output = await this.apiTransport.sendRequest("/room/isRoomActive", params);
@@ -137,7 +138,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
137
138
  }
138
139
  /**
139
140
  * Get active room information
140
- * @param params: ActiveRoomInfoParams
141
+ * @param params
141
142
  * @returns Promise<ActiveRoomInfoResponse>
142
143
  */ async getActiveRoomInfo(params) {
143
144
  const output = await this.apiTransport.sendRequest("/room/getActiveRoomInfo", params);
@@ -167,8 +168,24 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
167
168
  };
168
169
  }
169
170
  /**
171
+ * Fetch info about past rooms
172
+ * @param params
173
+ * @returns Promise<FetchRoomsInfoResponse>
174
+ */ async fetchPastRoomsInfo(params) {
175
+ const output = await this.apiTransport.sendRequest("/room/fetchPastRooms", params);
176
+ if (!output.status) return {
177
+ status: false,
178
+ msg: output.response
179
+ };
180
+ return {
181
+ status: output.response.status,
182
+ msg: output.response.msg,
183
+ result: output.response.result
184
+ };
185
+ }
186
+ /**
170
187
  * End active room
171
- * @param params: EndRoomParams
188
+ * @param params
172
189
  * @returns Promise<EndRoomResponse>
173
190
  */ async endRoom(params) {
174
191
  const output = await this.apiTransport.sendRequest("/room/endRoom", params);
@@ -182,8 +199,55 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
182
199
  };
183
200
  }
184
201
  /**
202
+ * Fetch analytics
203
+ * @param params
204
+ * @returns Promise<FetchAnalyticsResponse>
205
+ */ async fetchAnalytics(params) {
206
+ const output = await this.apiTransport.sendRequest("/analytics/fetch", params);
207
+ if (!output.status) return {
208
+ status: false,
209
+ msg: output.response
210
+ };
211
+ return {
212
+ status: output.response.status,
213
+ msg: output.response.msg,
214
+ result: output.response.result
215
+ };
216
+ }
217
+ /**
218
+ * Delete analytics
219
+ * @param params
220
+ * @returns Promise<DeleteAnalyticsResponse>
221
+ */ async deleteAnalytics(params) {
222
+ const output = await this.apiTransport.sendRequest("/analytics/delete", params);
223
+ if (!output.status) return {
224
+ status: false,
225
+ msg: output.response
226
+ };
227
+ return {
228
+ status: output.response.status,
229
+ msg: output.response.msg
230
+ };
231
+ }
232
+ /**
233
+ * Generate token to download recording
234
+ * @param params
235
+ * @returns Promise<AnalyticsDownloadTokenResponse>
236
+ */ async getAnalyticsDownloadToken(params) {
237
+ const output = await this.apiTransport.sendRequest("/analytics/getDownloadToken", params);
238
+ if (!output.status) return {
239
+ status: false,
240
+ msg: output.response
241
+ };
242
+ return {
243
+ status: output.response.status,
244
+ msg: output.response.msg,
245
+ token: output.response.token
246
+ };
247
+ }
248
+ /**
185
249
  * Fetch recordings
186
- * @param params: FetchRecordingsParams
250
+ * @param params
187
251
  * @returns Promise<FetchRecordingsResponse>
188
252
  */ async fetchRecordings(params) {
189
253
  const output = await this.apiTransport.sendRequest("/recording/fetch", params);
@@ -199,7 +263,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
199
263
  }
200
264
  /**
201
265
  * Delete recording
202
- * @param params: DeleteRecordingsParams
266
+ * @param params
203
267
  * @returns Promise<DeleteRecordingsResponse>
204
268
  */ async deleteRecordings(params) {
205
269
  const output = await this.apiTransport.sendRequest("/recording/delete", params);
@@ -213,9 +277,11 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
213
277
  };
214
278
  }
215
279
  /**
216
- * @returns Promise<ClientFilesResponse>
217
- */ async getClientFiles() {
218
- const output = await this.apiTransport.sendRequest("/getClientFiles", {});
280
+ * Generate token to download recording
281
+ * @param params
282
+ * @returns Promise<RecordingDownloadTokenResponse>
283
+ */ async getRecordingDownloadToken(params) {
284
+ const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
219
285
  if (!output.status) return {
220
286
  status: false,
221
287
  msg: output.response
@@ -223,16 +289,14 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
223
289
  return {
224
290
  status: output.response.status,
225
291
  msg: output.response.msg,
226
- css: output.response.css,
227
- js: output.response.js
292
+ token: output.response.token
228
293
  };
229
294
  }
230
295
  /**
231
- * Generate token to download recording
232
- * @param params: RecordingDownloadTokenParams
233
- * @returns Promise<RecordingDownloadTokenResponse>
234
- */ async getRecordingDownloadToken(params) {
235
- const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
296
+ * To get JS & CSS files to build interface
297
+ * @returns Promise<ClientFilesResponse>
298
+ */ async getClientFiles() {
299
+ const output = await this.apiTransport.sendRequest("/getClientFiles", {});
236
300
  if (!output.status) return {
237
301
  status: false,
238
302
  msg: output.response
@@ -240,7 +304,8 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
240
304
  return {
241
305
  status: output.response.status,
242
306
  msg: output.response.msg,
243
- token: output.response.token
307
+ css: output.response.css,
308
+ js: output.response.js
244
309
  };
245
310
  }
246
311
  }
@@ -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.js.map","sourceRoot":"../"}
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 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.js.map","sourceRoot":"../"}
@@ -9,9 +9,52 @@ import {createHmac as $gvjLo$createHmac} from "crypto";
9
9
 
10
10
  var $e666bfa8019d90ff$require$Buffer = $gvjLo$Buffer;
11
11
  class $e666bfa8019d90ff$export$5a82ec1641dd9681 {
12
- isSecure = false;
13
- mainOptions = {};
14
12
  constructor(apiEndPointURL, apiKey, apiSecret){
13
+ this.isSecure = false;
14
+ this.mainOptions = {};
15
+ this.prepareHeader = (body)=>{
16
+ const signature = (0, $gvjLo$createHmac)("sha256", this.apiSecret).update(body).digest("hex");
17
+ return {
18
+ "Content-Type": "application/json",
19
+ "API-KEY": this.apiKey,
20
+ "HASH-SIGNATURE": signature
21
+ };
22
+ };
23
+ this.sendRequest = async (path, body)=>{
24
+ return new Promise((resolve)=>{
25
+ const output = {
26
+ status: false,
27
+ response: undefined
28
+ };
29
+ const chunk = JSON.stringify(body);
30
+ const options = {
31
+ ...this.mainOptions
32
+ };
33
+ options.path += path;
34
+ options.headers = this.prepareHeader(chunk);
35
+ const req = (this.isSecure ? (0, $gvjLo$https) : (0, $gvjLo$http)).request(options, (res)=>{
36
+ const body = [];
37
+ res.on("data", (chunk)=>body.push(chunk));
38
+ res.on("end", ()=>{
39
+ const resString = $e666bfa8019d90ff$require$Buffer.concat(body).toString();
40
+ try {
41
+ output.status = true;
42
+ output.response = JSON.parse(resString);
43
+ } catch (error) {
44
+ output.status = false;
45
+ output.response = error;
46
+ }
47
+ resolve(output);
48
+ });
49
+ });
50
+ req.on("error", (error)=>{
51
+ output.response = error.message;
52
+ resolve(output);
53
+ });
54
+ req.write(chunk);
55
+ req.end();
56
+ });
57
+ };
15
58
  this.apiEndPointURL = apiEndPointURL;
16
59
  this.apiKey = apiKey;
17
60
  this.apiSecret = apiSecret;
@@ -27,65 +70,21 @@ class $e666bfa8019d90ff$export$5a82ec1641dd9681 {
27
70
  port: port
28
71
  };
29
72
  }
30
- prepareHeader = (body)=>{
31
- const signature = (0, $gvjLo$createHmac)("sha256", this.apiSecret).update(body).digest("hex");
32
- const headers = {
33
- "Content-Type": "application/json",
34
- "API-KEY": this.apiKey,
35
- "HASH-SIGNATURE": signature
36
- };
37
- return headers;
38
- };
39
- sendRequest = async (path, body)=>{
40
- return new Promise((resolve)=>{
41
- const output = {
42
- status: false,
43
- response: undefined
44
- };
45
- const chunk = JSON.stringify(body);
46
- const options = {
47
- ...this.mainOptions
48
- };
49
- options.path += path;
50
- options.headers = this.prepareHeader(chunk);
51
- const req = (this.isSecure ? (0, $gvjLo$https) : (0, $gvjLo$http)).request(options, (res)=>{
52
- const body = [];
53
- res.on("data", (chunk)=>body.push(chunk));
54
- res.on("end", ()=>{
55
- const resString = $e666bfa8019d90ff$require$Buffer.concat(body).toString();
56
- try {
57
- output.status = true;
58
- output.response = JSON.parse(resString);
59
- } catch (error) {
60
- output.status = false;
61
- output.response = error;
62
- }
63
- resolve(output);
64
- });
65
- });
66
- req.on("error", (error)=>{
67
- output.response = error.message;
68
- resolve(output);
69
- });
70
- req.write(chunk);
71
- req.end();
72
- });
73
- };
74
73
  }
75
74
 
76
75
 
77
76
  class $cdaf723153ba18be$export$1402da7f2870faee {
78
- defaultPath = "/auth";
79
77
  /**
80
78
  * @param serverUrl plugNmeet server URL
81
79
  * @param apiKey plugNmeet API_Key
82
80
  * @param apiSecret plugNmeet API_Secret
83
81
  */ constructor(serverUrl, apiKey, apiSecret){
82
+ this.defaultPath = "/auth";
84
83
  this.apiTransport = new (0, $e666bfa8019d90ff$export$5a82ec1641dd9681)(serverUrl + this.defaultPath, apiKey, apiSecret);
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);
@@ -132,7 +131,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
132
131
  }
133
132
  /**
134
133
  * Get active room information
135
- * @param params: ActiveRoomInfoParams
134
+ * @param params
136
135
  * @returns Promise<ActiveRoomInfoResponse>
137
136
  */ async getActiveRoomInfo(params) {
138
137
  const output = await this.apiTransport.sendRequest("/room/getActiveRoomInfo", params);
@@ -162,8 +161,24 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
162
161
  };
163
162
  }
164
163
  /**
164
+ * Fetch info about past rooms
165
+ * @param params
166
+ * @returns Promise<FetchRoomsInfoResponse>
167
+ */ async fetchPastRoomsInfo(params) {
168
+ const output = await this.apiTransport.sendRequest("/room/fetchPastRooms", params);
169
+ if (!output.status) return {
170
+ status: false,
171
+ msg: output.response
172
+ };
173
+ return {
174
+ status: output.response.status,
175
+ msg: output.response.msg,
176
+ result: output.response.result
177
+ };
178
+ }
179
+ /**
165
180
  * End active room
166
- * @param params: EndRoomParams
181
+ * @param params
167
182
  * @returns Promise<EndRoomResponse>
168
183
  */ async endRoom(params) {
169
184
  const output = await this.apiTransport.sendRequest("/room/endRoom", params);
@@ -177,8 +192,55 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
177
192
  };
178
193
  }
179
194
  /**
195
+ * Fetch analytics
196
+ * @param params
197
+ * @returns Promise<FetchAnalyticsResponse>
198
+ */ async fetchAnalytics(params) {
199
+ const output = await this.apiTransport.sendRequest("/analytics/fetch", params);
200
+ if (!output.status) return {
201
+ status: false,
202
+ msg: output.response
203
+ };
204
+ return {
205
+ status: output.response.status,
206
+ msg: output.response.msg,
207
+ result: output.response.result
208
+ };
209
+ }
210
+ /**
211
+ * Delete analytics
212
+ * @param params
213
+ * @returns Promise<DeleteAnalyticsResponse>
214
+ */ async deleteAnalytics(params) {
215
+ const output = await this.apiTransport.sendRequest("/analytics/delete", params);
216
+ if (!output.status) return {
217
+ status: false,
218
+ msg: output.response
219
+ };
220
+ return {
221
+ status: output.response.status,
222
+ msg: output.response.msg
223
+ };
224
+ }
225
+ /**
226
+ * Generate token to download recording
227
+ * @param params
228
+ * @returns Promise<AnalyticsDownloadTokenResponse>
229
+ */ async getAnalyticsDownloadToken(params) {
230
+ const output = await this.apiTransport.sendRequest("/analytics/getDownloadToken", params);
231
+ if (!output.status) return {
232
+ status: false,
233
+ msg: output.response
234
+ };
235
+ return {
236
+ status: output.response.status,
237
+ msg: output.response.msg,
238
+ token: output.response.token
239
+ };
240
+ }
241
+ /**
180
242
  * Fetch recordings
181
- * @param params: FetchRecordingsParams
243
+ * @param params
182
244
  * @returns Promise<FetchRecordingsResponse>
183
245
  */ async fetchRecordings(params) {
184
246
  const output = await this.apiTransport.sendRequest("/recording/fetch", params);
@@ -194,7 +256,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
194
256
  }
195
257
  /**
196
258
  * Delete recording
197
- * @param params: DeleteRecordingsParams
259
+ * @param params
198
260
  * @returns Promise<DeleteRecordingsResponse>
199
261
  */ async deleteRecordings(params) {
200
262
  const output = await this.apiTransport.sendRequest("/recording/delete", params);
@@ -208,9 +270,11 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
208
270
  };
209
271
  }
210
272
  /**
211
- * @returns Promise<ClientFilesResponse>
212
- */ async getClientFiles() {
213
- const output = await this.apiTransport.sendRequest("/getClientFiles", {});
273
+ * Generate token to download recording
274
+ * @param params
275
+ * @returns Promise<RecordingDownloadTokenResponse>
276
+ */ async getRecordingDownloadToken(params) {
277
+ const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
214
278
  if (!output.status) return {
215
279
  status: false,
216
280
  msg: output.response
@@ -218,16 +282,14 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
218
282
  return {
219
283
  status: output.response.status,
220
284
  msg: output.response.msg,
221
- css: output.response.css,
222
- js: output.response.js
285
+ token: output.response.token
223
286
  };
224
287
  }
225
288
  /**
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);
289
+ * To get JS & CSS files to build interface
290
+ * @returns Promise<ClientFilesResponse>
291
+ */ async getClientFiles() {
292
+ const output = await this.apiTransport.sendRequest("/getClientFiles", {});
231
293
  if (!output.status) return {
232
294
  status: false,
233
295
  msg: output.response
@@ -235,11 +297,12 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
235
297
  return {
236
298
  status: output.response.status,
237
299
  msg: output.response.msg,
238
- token: output.response.token
300
+ css: output.response.css,
301
+ js: output.response.js
239
302
  };
240
303
  }
241
304
  }
242
305
 
243
306
 
244
307
  export {$cdaf723153ba18be$export$1402da7f2870faee as PlugNmeet};
245
- //# sourceMappingURL=PlugNmeet.mjs.map
308
+ //# sourceMappingURL=PlugNmeet.mjs.js.map