plugnmeet-sdk-js 1.2.4 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PlugNmeet.cjs → PlugNmeet.cjs.js} +79 -75
- package/dist/PlugNmeet.cjs.js.map +1 -0
- package/dist/PlugNmeet.js +77 -73
- package/dist/PlugNmeet.js.map +1 -1
- package/dist/{PlugNmeet.mjs → PlugNmeet.mjs.js} +79 -75
- package/dist/PlugNmeet.mjs.js.map +1 -0
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/package.json +14 -14
- package/dist/PlugNmeet.cjs.map +0 -1
- package/dist/PlugNmeet.mjs.map +0 -1
|
@@ -15,84 +15,88 @@ $parcel$export(module.exports, "PlugNmeet", () => $405dcbf07186a1ff$export$1402d
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var $
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const $
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
output.status = false;
|
|
66
|
-
output.response = error;
|
|
67
|
-
}
|
|
68
|
-
resolve(output);
|
|
18
|
+
var $e71a992b229cccd4$require$Buffer = $jMCoD$buffer.Buffer;
|
|
19
|
+
class $e71a992b229cccd4$export$5a82ec1641dd9681 {
|
|
20
|
+
constructor(apiEndPointURL, apiKey, apiSecret){
|
|
21
|
+
this.isSecure = false;
|
|
22
|
+
this.mainOptions = {};
|
|
23
|
+
this.prepareHeader = (body)=>{
|
|
24
|
+
const signature = (0, $jMCoD$crypto.createHmac)("sha256", this.apiSecret).update(body).digest("hex");
|
|
25
|
+
const headers = {
|
|
26
|
+
"Content-Type": "application/json",
|
|
27
|
+
"API-KEY": this.apiKey,
|
|
28
|
+
"HASH-SIGNATURE": signature
|
|
29
|
+
};
|
|
30
|
+
return headers;
|
|
31
|
+
};
|
|
32
|
+
this.sendRequest = async (path, body)=>{
|
|
33
|
+
return new Promise((resolve)=>{
|
|
34
|
+
const output = {
|
|
35
|
+
status: false,
|
|
36
|
+
response: undefined
|
|
37
|
+
};
|
|
38
|
+
const chunk = JSON.stringify(body);
|
|
39
|
+
const options = {
|
|
40
|
+
...this.mainOptions
|
|
41
|
+
};
|
|
42
|
+
options.path += path;
|
|
43
|
+
options.headers = this.prepareHeader(chunk);
|
|
44
|
+
const req = (this.isSecure ? (0, ($parcel$interopDefault($jMCoD$https))) : (0, ($parcel$interopDefault($jMCoD$http)))).request(options, (res)=>{
|
|
45
|
+
const body = [];
|
|
46
|
+
res.on("data", (chunk)=>body.push(chunk));
|
|
47
|
+
res.on("end", ()=>{
|
|
48
|
+
const resString = $e71a992b229cccd4$require$Buffer.concat(body).toString();
|
|
49
|
+
try {
|
|
50
|
+
output.status = true;
|
|
51
|
+
output.response = JSON.parse(resString);
|
|
52
|
+
} catch (error) {
|
|
53
|
+
output.status = false;
|
|
54
|
+
output.response = error;
|
|
55
|
+
}
|
|
56
|
+
resolve(output);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
req.on("error", (error)=>{
|
|
60
|
+
output.response = error.message;
|
|
61
|
+
resolve(output);
|
|
62
|
+
});
|
|
63
|
+
req.write(chunk);
|
|
64
|
+
req.end();
|
|
69
65
|
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
66
|
+
};
|
|
67
|
+
this.apiEndPointURL = apiEndPointURL;
|
|
68
|
+
this.apiKey = apiKey;
|
|
69
|
+
this.apiSecret = apiSecret;
|
|
70
|
+
const url = new URL(apiEndPointURL);
|
|
71
|
+
let port = url.protocol === "https:" ? 443 : 80;
|
|
72
|
+
this.isSecure = (url.protocol === "https:") ?? false;
|
|
73
|
+
// use port if supplied with url
|
|
74
|
+
if (url.port) port = Number(url.port);
|
|
75
|
+
this.mainOptions = {
|
|
76
|
+
hostname: url.hostname,
|
|
77
|
+
path: url.pathname,
|
|
78
|
+
method: "POST",
|
|
79
|
+
port: port
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
79
83
|
|
|
80
84
|
|
|
81
85
|
class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
82
|
-
defaultPath = "/auth";
|
|
83
86
|
/**
|
|
84
87
|
* @param serverUrl plugNmeet server URL
|
|
85
88
|
* @param apiKey plugNmeet API_Key
|
|
86
89
|
* @param apiSecret plugNmeet API_Secret
|
|
87
90
|
*/ constructor(serverUrl, apiKey, apiSecret){
|
|
88
|
-
|
|
91
|
+
this.defaultPath = "/auth";
|
|
92
|
+
this.apiTransport = new (0, $e71a992b229cccd4$export$5a82ec1641dd9681)(serverUrl + this.defaultPath, apiKey, apiSecret);
|
|
89
93
|
}
|
|
90
94
|
/**
|
|
91
95
|
* Create new room
|
|
92
96
|
* @param params: CreateRoomParams
|
|
93
97
|
* @returns Promise<CreateRoomResponse>
|
|
94
98
|
*/ async createRoom(params) {
|
|
95
|
-
const output = await (
|
|
99
|
+
const output = await this.apiTransport.sendRequest("/room/create", params);
|
|
96
100
|
if (!output.status) return {
|
|
97
101
|
status: false,
|
|
98
102
|
msg: output.response
|
|
@@ -108,7 +112,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
108
112
|
* @param params: JoinTokenParams
|
|
109
113
|
* @returns Promise<JoinTokenResponse>
|
|
110
114
|
*/ async getJoinToken(params) {
|
|
111
|
-
const output = await (
|
|
115
|
+
const output = await this.apiTransport.sendRequest("/room/getJoinToken", params);
|
|
112
116
|
if (!output.status) return {
|
|
113
117
|
status: false,
|
|
114
118
|
msg: output.response
|
|
@@ -124,7 +128,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
124
128
|
* @param params: IsRoomActiveParams
|
|
125
129
|
* @returns Promise<IsRoomActiveResponse>
|
|
126
130
|
*/ async isRoomActive(params) {
|
|
127
|
-
const output = await (
|
|
131
|
+
const output = await this.apiTransport.sendRequest("/room/isRoomActive", params);
|
|
128
132
|
if (!output.status) return {
|
|
129
133
|
status: false,
|
|
130
134
|
msg: output.response
|
|
@@ -139,7 +143,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
139
143
|
* @param params: ActiveRoomInfoParams
|
|
140
144
|
* @returns Promise<ActiveRoomInfoResponse>
|
|
141
145
|
*/ async getActiveRoomInfo(params) {
|
|
142
|
-
const output = await (
|
|
146
|
+
const output = await this.apiTransport.sendRequest("/room/getActiveRoomInfo", params);
|
|
143
147
|
if (!output.status) return {
|
|
144
148
|
status: false,
|
|
145
149
|
msg: output.response
|
|
@@ -154,7 +158,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
154
158
|
* Get all active rooms
|
|
155
159
|
* @returns Promise<ActiveRoomsInfoResponse>
|
|
156
160
|
*/ async getActiveRoomsInfo() {
|
|
157
|
-
const output = await (
|
|
161
|
+
const output = await this.apiTransport.sendRequest("/room/getActiveRoomsInfo", {});
|
|
158
162
|
if (!output.status) return {
|
|
159
163
|
status: false,
|
|
160
164
|
msg: output.response
|
|
@@ -170,7 +174,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
170
174
|
* @param params: EndRoomParams
|
|
171
175
|
* @returns Promise<EndRoomResponse>
|
|
172
176
|
*/ async endRoom(params) {
|
|
173
|
-
const output = await (
|
|
177
|
+
const output = await this.apiTransport.sendRequest("/room/endRoom", params);
|
|
174
178
|
if (!output.status) return {
|
|
175
179
|
status: false,
|
|
176
180
|
msg: output.response
|
|
@@ -185,7 +189,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
185
189
|
* @param params: FetchRecordingsParams
|
|
186
190
|
* @returns Promise<FetchRecordingsResponse>
|
|
187
191
|
*/ async fetchRecordings(params) {
|
|
188
|
-
const output = await (
|
|
192
|
+
const output = await this.apiTransport.sendRequest("/recording/fetch", params);
|
|
189
193
|
if (!output.status) return {
|
|
190
194
|
status: false,
|
|
191
195
|
msg: output.response
|
|
@@ -201,7 +205,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
201
205
|
* @param params: DeleteRecordingsParams
|
|
202
206
|
* @returns Promise<DeleteRecordingsResponse>
|
|
203
207
|
*/ async deleteRecordings(params) {
|
|
204
|
-
const output = await (
|
|
208
|
+
const output = await this.apiTransport.sendRequest("/recording/delete", params);
|
|
205
209
|
if (!output.status) return {
|
|
206
210
|
status: false,
|
|
207
211
|
msg: output.response
|
|
@@ -212,9 +216,9 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
212
216
|
};
|
|
213
217
|
}
|
|
214
218
|
/**
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const output = await (
|
|
219
|
+
* @returns Promise<ClientFilesResponse>
|
|
220
|
+
*/ async getClientFiles() {
|
|
221
|
+
const output = await this.apiTransport.sendRequest("/getClientFiles", {});
|
|
218
222
|
if (!output.status) return {
|
|
219
223
|
status: false,
|
|
220
224
|
msg: output.response
|
|
@@ -231,7 +235,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
231
235
|
* @param params: RecordingDownloadTokenParams
|
|
232
236
|
* @returns Promise<RecordingDownloadTokenResponse>
|
|
233
237
|
*/ async getRecordingDownloadToken(params) {
|
|
234
|
-
const output = await (
|
|
238
|
+
const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
|
|
235
239
|
if (!output.status) return {
|
|
236
240
|
status: false,
|
|
237
241
|
msg: output.response
|
|
@@ -245,4 +249,4 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
|
|
|
245
249
|
}
|
|
246
250
|
|
|
247
251
|
|
|
248
|
-
//# sourceMappingURL=PlugNmeet.cjs.map
|
|
252
|
+
//# sourceMappingURL=PlugNmeet.cjs.js.map
|
|
@@ -0,0 +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.cjs.js.map"}
|
package/dist/PlugNmeet.js
CHANGED
|
@@ -13,83 +13,87 @@ $parcel$export(module.exports, "PlugNmeet", () => $8e30a24c4952589a$export$1402d
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const $
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
output.status = false;
|
|
63
|
-
output.response = error;
|
|
64
|
-
}
|
|
65
|
-
resolve(output);
|
|
16
|
+
class $3437a6ece6919767$export$5a82ec1641dd9681 {
|
|
17
|
+
constructor(apiEndPointURL, apiKey, apiSecret){
|
|
18
|
+
this.isSecure = false;
|
|
19
|
+
this.mainOptions = {};
|
|
20
|
+
this.prepareHeader = (body)=>{
|
|
21
|
+
const signature = (0, $d6kgz$crypto.createHmac)("sha256", this.apiSecret).update(body).digest("hex");
|
|
22
|
+
const headers = {
|
|
23
|
+
"Content-Type": "application/json",
|
|
24
|
+
"API-KEY": this.apiKey,
|
|
25
|
+
"HASH-SIGNATURE": signature
|
|
26
|
+
};
|
|
27
|
+
return headers;
|
|
28
|
+
};
|
|
29
|
+
this.sendRequest = async (path, body)=>{
|
|
30
|
+
return new Promise((resolve)=>{
|
|
31
|
+
const output = {
|
|
32
|
+
status: false,
|
|
33
|
+
response: undefined
|
|
34
|
+
};
|
|
35
|
+
const chunk = JSON.stringify(body);
|
|
36
|
+
const options = {
|
|
37
|
+
...this.mainOptions
|
|
38
|
+
};
|
|
39
|
+
options.path += path;
|
|
40
|
+
options.headers = this.prepareHeader(chunk);
|
|
41
|
+
const req = (this.isSecure ? (0, ($parcel$interopDefault($d6kgz$https))) : (0, ($parcel$interopDefault($d6kgz$http)))).request(options, (res)=>{
|
|
42
|
+
const body = [];
|
|
43
|
+
res.on("data", (chunk)=>body.push(chunk));
|
|
44
|
+
res.on("end", ()=>{
|
|
45
|
+
const resString = Buffer.concat(body).toString();
|
|
46
|
+
try {
|
|
47
|
+
output.status = true;
|
|
48
|
+
output.response = JSON.parse(resString);
|
|
49
|
+
} catch (error) {
|
|
50
|
+
output.status = false;
|
|
51
|
+
output.response = error;
|
|
52
|
+
}
|
|
53
|
+
resolve(output);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
req.on("error", (error)=>{
|
|
57
|
+
output.response = error.message;
|
|
58
|
+
resolve(output);
|
|
59
|
+
});
|
|
60
|
+
req.write(chunk);
|
|
61
|
+
req.end();
|
|
66
62
|
});
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
};
|
|
64
|
+
this.apiEndPointURL = apiEndPointURL;
|
|
65
|
+
this.apiKey = apiKey;
|
|
66
|
+
this.apiSecret = apiSecret;
|
|
67
|
+
const url = new URL(apiEndPointURL);
|
|
68
|
+
let port = url.protocol === "https:" ? 443 : 80;
|
|
69
|
+
this.isSecure = (url.protocol === "https:") ?? false;
|
|
70
|
+
// use port if supplied with url
|
|
71
|
+
if (url.port) port = Number(url.port);
|
|
72
|
+
this.mainOptions = {
|
|
73
|
+
hostname: url.hostname,
|
|
74
|
+
path: url.pathname,
|
|
75
|
+
method: "POST",
|
|
76
|
+
port: port
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
76
80
|
|
|
77
81
|
|
|
78
82
|
class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
79
|
-
defaultPath = "/auth";
|
|
80
83
|
/**
|
|
81
84
|
* @param serverUrl plugNmeet server URL
|
|
82
85
|
* @param apiKey plugNmeet API_Key
|
|
83
86
|
* @param apiSecret plugNmeet API_Secret
|
|
84
87
|
*/ constructor(serverUrl, apiKey, apiSecret){
|
|
85
|
-
|
|
88
|
+
this.defaultPath = "/auth";
|
|
89
|
+
this.apiTransport = new (0, $3437a6ece6919767$export$5a82ec1641dd9681)(serverUrl + this.defaultPath, apiKey, apiSecret);
|
|
86
90
|
}
|
|
87
91
|
/**
|
|
88
92
|
* Create new room
|
|
89
93
|
* @param params: CreateRoomParams
|
|
90
94
|
* @returns Promise<CreateRoomResponse>
|
|
91
95
|
*/ async createRoom(params) {
|
|
92
|
-
const output = await (
|
|
96
|
+
const output = await this.apiTransport.sendRequest("/room/create", params);
|
|
93
97
|
if (!output.status) return {
|
|
94
98
|
status: false,
|
|
95
99
|
msg: output.response
|
|
@@ -105,7 +109,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
105
109
|
* @param params: JoinTokenParams
|
|
106
110
|
* @returns Promise<JoinTokenResponse>
|
|
107
111
|
*/ async getJoinToken(params) {
|
|
108
|
-
const output = await (
|
|
112
|
+
const output = await this.apiTransport.sendRequest("/room/getJoinToken", params);
|
|
109
113
|
if (!output.status) return {
|
|
110
114
|
status: false,
|
|
111
115
|
msg: output.response
|
|
@@ -121,7 +125,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
121
125
|
* @param params: IsRoomActiveParams
|
|
122
126
|
* @returns Promise<IsRoomActiveResponse>
|
|
123
127
|
*/ async isRoomActive(params) {
|
|
124
|
-
const output = await (
|
|
128
|
+
const output = await this.apiTransport.sendRequest("/room/isRoomActive", params);
|
|
125
129
|
if (!output.status) return {
|
|
126
130
|
status: false,
|
|
127
131
|
msg: output.response
|
|
@@ -136,7 +140,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
136
140
|
* @param params: ActiveRoomInfoParams
|
|
137
141
|
* @returns Promise<ActiveRoomInfoResponse>
|
|
138
142
|
*/ async getActiveRoomInfo(params) {
|
|
139
|
-
const output = await (
|
|
143
|
+
const output = await this.apiTransport.sendRequest("/room/getActiveRoomInfo", params);
|
|
140
144
|
if (!output.status) return {
|
|
141
145
|
status: false,
|
|
142
146
|
msg: output.response
|
|
@@ -151,7 +155,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
151
155
|
* Get all active rooms
|
|
152
156
|
* @returns Promise<ActiveRoomsInfoResponse>
|
|
153
157
|
*/ async getActiveRoomsInfo() {
|
|
154
|
-
const output = await (
|
|
158
|
+
const output = await this.apiTransport.sendRequest("/room/getActiveRoomsInfo", {});
|
|
155
159
|
if (!output.status) return {
|
|
156
160
|
status: false,
|
|
157
161
|
msg: output.response
|
|
@@ -167,7 +171,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
167
171
|
* @param params: EndRoomParams
|
|
168
172
|
* @returns Promise<EndRoomResponse>
|
|
169
173
|
*/ async endRoom(params) {
|
|
170
|
-
const output = await (
|
|
174
|
+
const output = await this.apiTransport.sendRequest("/room/endRoom", params);
|
|
171
175
|
if (!output.status) return {
|
|
172
176
|
status: false,
|
|
173
177
|
msg: output.response
|
|
@@ -182,7 +186,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
182
186
|
* @param params: FetchRecordingsParams
|
|
183
187
|
* @returns Promise<FetchRecordingsResponse>
|
|
184
188
|
*/ async fetchRecordings(params) {
|
|
185
|
-
const output = await (
|
|
189
|
+
const output = await this.apiTransport.sendRequest("/recording/fetch", params);
|
|
186
190
|
if (!output.status) return {
|
|
187
191
|
status: false,
|
|
188
192
|
msg: output.response
|
|
@@ -198,7 +202,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
198
202
|
* @param params: DeleteRecordingsParams
|
|
199
203
|
* @returns Promise<DeleteRecordingsResponse>
|
|
200
204
|
*/ async deleteRecordings(params) {
|
|
201
|
-
const output = await (
|
|
205
|
+
const output = await this.apiTransport.sendRequest("/recording/delete", params);
|
|
202
206
|
if (!output.status) return {
|
|
203
207
|
status: false,
|
|
204
208
|
msg: output.response
|
|
@@ -209,9 +213,9 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
209
213
|
};
|
|
210
214
|
}
|
|
211
215
|
/**
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const output = await (
|
|
216
|
+
* @returns Promise<ClientFilesResponse>
|
|
217
|
+
*/ async getClientFiles() {
|
|
218
|
+
const output = await this.apiTransport.sendRequest("/getClientFiles", {});
|
|
215
219
|
if (!output.status) return {
|
|
216
220
|
status: false,
|
|
217
221
|
msg: output.response
|
|
@@ -228,7 +232,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
|
|
|
228
232
|
* @param params: RecordingDownloadTokenParams
|
|
229
233
|
* @returns Promise<RecordingDownloadTokenResponse>
|
|
230
234
|
*/ async getRecordingDownloadToken(params) {
|
|
231
|
-
const output = await (
|
|
235
|
+
const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
|
|
232
236
|
if (!output.status) return {
|
|
233
237
|
status: false,
|
|
234
238
|
msg: output.response
|
package/dist/PlugNmeet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/PlugNmeet.ts","src/api.ts"],"sourcesContent":["import { prepareAPI, sendRequest } from './api';\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\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 prepareAPI(serverUrl + this.defaultPath, apiKey, apiSecret);\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 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 sendRequest('/room/getJoinToken', 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 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 sendRequest('/room/isRoomActive', 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 * 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 sendRequest('/room/getActiveRoomInfo', 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 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 sendRequest('/room/getActiveRoomsInfo', {});\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 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 sendRequest('/recording/fetch', 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 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 sendRequest('/recording/delete', 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 * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await 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 sendRequest('/recording/getDownloadToken', 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 token: output.response.token,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nlet mainOptions: RequestOptions,\n isSecure = true, _apiKey = \"\", _apiSecret = \"\";\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport const prepareAPI = (\n apiEndPointURL: string,\n apiKey: string,\n apiSecret: string,\n) => {\n _apiKey = apiKey;\n _apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n 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 mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n};\n\nconst prepareHeader = (body: string) => {\n const signature = createHmac('sha256', _apiSecret)\n .update(body)\n .digest('hex');\n\n const headers = {\n 'Content-Type': 'application/json',\n 'API-KEY': _apiKey,\n 'HASH-SIGNATURE': signature,\n };\n\n return headers;\n};\n\nexport const 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 = { ...mainOptions };\n options.path += path;\n options.headers = prepareHeader(chunk);\n\n const req = (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"],"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';\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":"../"}
|
|
@@ -7,84 +7,88 @@ import {createHmac as $gvjLo$createHmac} from "crypto";
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var $
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const $
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
output.status = false;
|
|
58
|
-
output.response = error;
|
|
59
|
-
}
|
|
60
|
-
resolve(output);
|
|
10
|
+
var $e666bfa8019d90ff$require$Buffer = $gvjLo$Buffer;
|
|
11
|
+
class $e666bfa8019d90ff$export$5a82ec1641dd9681 {
|
|
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
|
+
const headers = {
|
|
18
|
+
"Content-Type": "application/json",
|
|
19
|
+
"API-KEY": this.apiKey,
|
|
20
|
+
"HASH-SIGNATURE": signature
|
|
21
|
+
};
|
|
22
|
+
return headers;
|
|
23
|
+
};
|
|
24
|
+
this.sendRequest = async (path, body)=>{
|
|
25
|
+
return new Promise((resolve)=>{
|
|
26
|
+
const output = {
|
|
27
|
+
status: false,
|
|
28
|
+
response: undefined
|
|
29
|
+
};
|
|
30
|
+
const chunk = JSON.stringify(body);
|
|
31
|
+
const options = {
|
|
32
|
+
...this.mainOptions
|
|
33
|
+
};
|
|
34
|
+
options.path += path;
|
|
35
|
+
options.headers = this.prepareHeader(chunk);
|
|
36
|
+
const req = (this.isSecure ? (0, $gvjLo$https) : (0, $gvjLo$http)).request(options, (res)=>{
|
|
37
|
+
const body = [];
|
|
38
|
+
res.on("data", (chunk)=>body.push(chunk));
|
|
39
|
+
res.on("end", ()=>{
|
|
40
|
+
const resString = $e666bfa8019d90ff$require$Buffer.concat(body).toString();
|
|
41
|
+
try {
|
|
42
|
+
output.status = true;
|
|
43
|
+
output.response = JSON.parse(resString);
|
|
44
|
+
} catch (error) {
|
|
45
|
+
output.status = false;
|
|
46
|
+
output.response = error;
|
|
47
|
+
}
|
|
48
|
+
resolve(output);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
req.on("error", (error)=>{
|
|
52
|
+
output.response = error.message;
|
|
53
|
+
resolve(output);
|
|
54
|
+
});
|
|
55
|
+
req.write(chunk);
|
|
56
|
+
req.end();
|
|
61
57
|
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
};
|
|
59
|
+
this.apiEndPointURL = apiEndPointURL;
|
|
60
|
+
this.apiKey = apiKey;
|
|
61
|
+
this.apiSecret = apiSecret;
|
|
62
|
+
const url = new URL(apiEndPointURL);
|
|
63
|
+
let port = url.protocol === "https:" ? 443 : 80;
|
|
64
|
+
this.isSecure = (url.protocol === "https:") ?? false;
|
|
65
|
+
// use port if supplied with url
|
|
66
|
+
if (url.port) port = Number(url.port);
|
|
67
|
+
this.mainOptions = {
|
|
68
|
+
hostname: url.hostname,
|
|
69
|
+
path: url.pathname,
|
|
70
|
+
method: "POST",
|
|
71
|
+
port: port
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
71
75
|
|
|
72
76
|
|
|
73
77
|
class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
74
|
-
defaultPath = "/auth";
|
|
75
78
|
/**
|
|
76
79
|
* @param serverUrl plugNmeet server URL
|
|
77
80
|
* @param apiKey plugNmeet API_Key
|
|
78
81
|
* @param apiSecret plugNmeet API_Secret
|
|
79
82
|
*/ constructor(serverUrl, apiKey, apiSecret){
|
|
80
|
-
|
|
83
|
+
this.defaultPath = "/auth";
|
|
84
|
+
this.apiTransport = new (0, $e666bfa8019d90ff$export$5a82ec1641dd9681)(serverUrl + this.defaultPath, apiKey, apiSecret);
|
|
81
85
|
}
|
|
82
86
|
/**
|
|
83
87
|
* Create new room
|
|
84
88
|
* @param params: CreateRoomParams
|
|
85
89
|
* @returns Promise<CreateRoomResponse>
|
|
86
90
|
*/ async createRoom(params) {
|
|
87
|
-
const output = await (
|
|
91
|
+
const output = await this.apiTransport.sendRequest("/room/create", params);
|
|
88
92
|
if (!output.status) return {
|
|
89
93
|
status: false,
|
|
90
94
|
msg: output.response
|
|
@@ -100,7 +104,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
100
104
|
* @param params: JoinTokenParams
|
|
101
105
|
* @returns Promise<JoinTokenResponse>
|
|
102
106
|
*/ async getJoinToken(params) {
|
|
103
|
-
const output = await (
|
|
107
|
+
const output = await this.apiTransport.sendRequest("/room/getJoinToken", params);
|
|
104
108
|
if (!output.status) return {
|
|
105
109
|
status: false,
|
|
106
110
|
msg: output.response
|
|
@@ -116,7 +120,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
116
120
|
* @param params: IsRoomActiveParams
|
|
117
121
|
* @returns Promise<IsRoomActiveResponse>
|
|
118
122
|
*/ async isRoomActive(params) {
|
|
119
|
-
const output = await (
|
|
123
|
+
const output = await this.apiTransport.sendRequest("/room/isRoomActive", params);
|
|
120
124
|
if (!output.status) return {
|
|
121
125
|
status: false,
|
|
122
126
|
msg: output.response
|
|
@@ -131,7 +135,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
131
135
|
* @param params: ActiveRoomInfoParams
|
|
132
136
|
* @returns Promise<ActiveRoomInfoResponse>
|
|
133
137
|
*/ async getActiveRoomInfo(params) {
|
|
134
|
-
const output = await (
|
|
138
|
+
const output = await this.apiTransport.sendRequest("/room/getActiveRoomInfo", params);
|
|
135
139
|
if (!output.status) return {
|
|
136
140
|
status: false,
|
|
137
141
|
msg: output.response
|
|
@@ -146,7 +150,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
146
150
|
* Get all active rooms
|
|
147
151
|
* @returns Promise<ActiveRoomsInfoResponse>
|
|
148
152
|
*/ async getActiveRoomsInfo() {
|
|
149
|
-
const output = await (
|
|
153
|
+
const output = await this.apiTransport.sendRequest("/room/getActiveRoomsInfo", {});
|
|
150
154
|
if (!output.status) return {
|
|
151
155
|
status: false,
|
|
152
156
|
msg: output.response
|
|
@@ -162,7 +166,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
162
166
|
* @param params: EndRoomParams
|
|
163
167
|
* @returns Promise<EndRoomResponse>
|
|
164
168
|
*/ async endRoom(params) {
|
|
165
|
-
const output = await (
|
|
169
|
+
const output = await this.apiTransport.sendRequest("/room/endRoom", params);
|
|
166
170
|
if (!output.status) return {
|
|
167
171
|
status: false,
|
|
168
172
|
msg: output.response
|
|
@@ -177,7 +181,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
177
181
|
* @param params: FetchRecordingsParams
|
|
178
182
|
* @returns Promise<FetchRecordingsResponse>
|
|
179
183
|
*/ async fetchRecordings(params) {
|
|
180
|
-
const output = await (
|
|
184
|
+
const output = await this.apiTransport.sendRequest("/recording/fetch", params);
|
|
181
185
|
if (!output.status) return {
|
|
182
186
|
status: false,
|
|
183
187
|
msg: output.response
|
|
@@ -193,7 +197,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
193
197
|
* @param params: DeleteRecordingsParams
|
|
194
198
|
* @returns Promise<DeleteRecordingsResponse>
|
|
195
199
|
*/ async deleteRecordings(params) {
|
|
196
|
-
const output = await (
|
|
200
|
+
const output = await this.apiTransport.sendRequest("/recording/delete", params);
|
|
197
201
|
if (!output.status) return {
|
|
198
202
|
status: false,
|
|
199
203
|
msg: output.response
|
|
@@ -204,9 +208,9 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
204
208
|
};
|
|
205
209
|
}
|
|
206
210
|
/**
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
const output = await (
|
|
211
|
+
* @returns Promise<ClientFilesResponse>
|
|
212
|
+
*/ async getClientFiles() {
|
|
213
|
+
const output = await this.apiTransport.sendRequest("/getClientFiles", {});
|
|
210
214
|
if (!output.status) return {
|
|
211
215
|
status: false,
|
|
212
216
|
msg: output.response
|
|
@@ -223,7 +227,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
223
227
|
* @param params: RecordingDownloadTokenParams
|
|
224
228
|
* @returns Promise<RecordingDownloadTokenResponse>
|
|
225
229
|
*/ async getRecordingDownloadToken(params) {
|
|
226
|
-
const output = await (
|
|
230
|
+
const output = await this.apiTransport.sendRequest("/recording/getDownloadToken", params);
|
|
227
231
|
if (!output.status) return {
|
|
228
232
|
status: false,
|
|
229
233
|
msg: output.response
|
|
@@ -238,4 +242,4 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
|
|
|
238
242
|
|
|
239
243
|
|
|
240
244
|
export {$cdaf723153ba18be$export$1402da7f2870faee as PlugNmeet};
|
|
241
|
-
//# sourceMappingURL=PlugNmeet.mjs.map
|
|
245
|
+
//# sourceMappingURL=PlugNmeet.mjs.js.map
|
|
@@ -0,0 +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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ type RoomFeaturesParams = {
|
|
|
29
29
|
breakout_room_features?: BreakoutRoomFeatures;
|
|
30
30
|
display_external_link_features?: DisplayExternalLinkFeatures;
|
|
31
31
|
ingress_features?: IngressFeatures;
|
|
32
|
+
speech_to_text_translation_features?: SpeechToTextTranslationFeatures;
|
|
33
|
+
end_to_end_encryption_features?: EndToEndEncryptionFeatures;
|
|
32
34
|
};
|
|
33
35
|
type RecordingFeaturesParams = {
|
|
34
36
|
is_allow: boolean;
|
|
@@ -64,6 +66,13 @@ type DisplayExternalLinkFeatures = {
|
|
|
64
66
|
type IngressFeatures = {
|
|
65
67
|
is_allow: boolean;
|
|
66
68
|
};
|
|
69
|
+
type SpeechToTextTranslationFeatures = {
|
|
70
|
+
is_allow: boolean;
|
|
71
|
+
is_allow_translation: boolean;
|
|
72
|
+
};
|
|
73
|
+
type EndToEndEncryptionFeatures = {
|
|
74
|
+
is_enabled: boolean;
|
|
75
|
+
};
|
|
67
76
|
type LockSettingsParams = {
|
|
68
77
|
lock_microphone?: boolean;
|
|
69
78
|
lock_webcam?: boolean;
|
|
@@ -266,8 +275,8 @@ export class PlugNmeet {
|
|
|
266
275
|
*/
|
|
267
276
|
deleteRecordings(params: DeleteRecordingsParams): Promise<DeleteRecordingsResponse>;
|
|
268
277
|
/**
|
|
269
|
-
|
|
270
|
-
|
|
278
|
+
* @returns Promise<ClientFilesResponse>
|
|
279
|
+
*/
|
|
271
280
|
getClientFiles(): Promise<ClientFilesResponse>;
|
|
272
281
|
/**
|
|
273
282
|
* Generate token to download recording
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/src/api.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 { prepareAPI, sendRequest } from './api';\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\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 prepareAPI(serverUrl + this.defaultPath, apiKey, apiSecret);\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 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 sendRequest('/room/getJoinToken', 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 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 sendRequest('/room/isRoomActive', 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 * 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 sendRequest('/room/getActiveRoomInfo', 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 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 sendRequest('/room/getActiveRoomsInfo', {});\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 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 sendRequest('/recording/fetch', 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 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 sendRequest('/recording/delete', 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 * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await 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 sendRequest('/recording/getDownloadToken', 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 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/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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plugnmeet-sdk-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "plugNmeet JS SDK",
|
|
5
5
|
"author": "Jibon L. Costa",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "https://github.com/mynaparrot/plugNmeet-sdk-js",
|
|
8
8
|
"source": "src/PlugNmeet.ts",
|
|
9
|
-
"main": "dist/PlugNmeet.cjs",
|
|
10
|
-
"module": "dist/PlugNmeet.mjs",
|
|
9
|
+
"main": "dist/PlugNmeet.cjs.js",
|
|
10
|
+
"module": "dist/PlugNmeet.mjs.js",
|
|
11
11
|
"types": "dist/index.d.ts",
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
@@ -28,19 +28,19 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@parcel/packager-ts": "^2.
|
|
32
|
-
"@parcel/transformer-typescript-types": "^2.
|
|
33
|
-
"@types/node": "^
|
|
34
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
35
|
-
"@typescript-eslint/parser": "5.
|
|
36
|
-
"concurrently": "8.0
|
|
37
|
-
"eslint": "8.
|
|
31
|
+
"@parcel/packager-ts": "^2.9.2",
|
|
32
|
+
"@parcel/transformer-typescript-types": "^2.9.2",
|
|
33
|
+
"@types/node": "^20.3.1",
|
|
34
|
+
"@typescript-eslint/eslint-plugin": "5.59.11",
|
|
35
|
+
"@typescript-eslint/parser": "5.59.11",
|
|
36
|
+
"concurrently": "8.2.0",
|
|
37
|
+
"eslint": "8.42.0",
|
|
38
38
|
"eslint-config-prettier": "8.8.0",
|
|
39
39
|
"eslint-plugin-prettier": "4.2.1",
|
|
40
40
|
"eslint-watch": "8.0.0",
|
|
41
|
-
"parcel": "^2.
|
|
42
|
-
"prettier": "2.8.
|
|
43
|
-
"typedoc": "0.24.
|
|
44
|
-
"typescript": "5.
|
|
41
|
+
"parcel": "^2.9.2",
|
|
42
|
+
"prettier": "2.8.8",
|
|
43
|
+
"typedoc": "0.24.8",
|
|
44
|
+
"typescript": "5.1.3"
|
|
45
45
|
}
|
|
46
46
|
}
|
package/dist/PlugNmeet.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/PlugNmeet.ts","src/api.ts"],"sourcesContent":["import { prepareAPI, sendRequest } from './api';\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\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 prepareAPI(serverUrl + this.defaultPath, apiKey, apiSecret);\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 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 sendRequest('/room/getJoinToken', 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 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 sendRequest('/room/isRoomActive', 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 * 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 sendRequest('/room/getActiveRoomInfo', 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 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 sendRequest('/room/getActiveRoomsInfo', {});\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 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 sendRequest('/recording/fetch', 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 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 sendRequest('/recording/delete', 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 * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await 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 sendRequest('/recording/getDownloadToken', 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 token: output.response.token,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nlet mainOptions: RequestOptions,\n isSecure = true, _apiKey = \"\", _apiSecret = \"\";\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport const prepareAPI = (\n apiEndPointURL: string,\n apiKey: string,\n apiSecret: string,\n) => {\n _apiKey = apiKey;\n _apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n 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 mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n};\n\nconst prepareHeader = (body: string) => {\n const signature = createHmac('sha256', _apiSecret)\n .update(body)\n .digest('hex');\n\n const headers = {\n 'Content-Type': 'application/json',\n 'API-KEY': _apiKey,\n 'HASH-SIGNATURE': signature,\n };\n\n return headers;\n};\n\nexport const 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 = { ...mainOptions };\n options.path += path;\n options.headers = prepareHeader(chunk);\n\n const req = (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"],"names":[],"version":3,"file":"PlugNmeet.cjs.map"}
|
package/dist/PlugNmeet.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/PlugNmeet.ts","src/api.ts"],"sourcesContent":["import { prepareAPI, sendRequest } from './api';\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\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 prepareAPI(serverUrl + this.defaultPath, apiKey, apiSecret);\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 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 sendRequest('/room/getJoinToken', 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 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 sendRequest('/room/isRoomActive', 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 * 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 sendRequest('/room/getActiveRoomInfo', 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 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 sendRequest('/room/getActiveRoomsInfo', {});\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 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 sendRequest('/recording/fetch', 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 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 sendRequest('/recording/delete', 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 * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await 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 sendRequest('/recording/getDownloadToken', 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 token: output.response.token,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nlet mainOptions: RequestOptions,\n isSecure = true, _apiKey = \"\", _apiSecret = \"\";\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport const prepareAPI = (\n apiEndPointURL: string,\n apiKey: string,\n apiSecret: string,\n) => {\n _apiKey = apiKey;\n _apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n 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 mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n};\n\nconst prepareHeader = (body: string) => {\n const signature = createHmac('sha256', _apiSecret)\n .update(body)\n .digest('hex');\n\n const headers = {\n 'Content-Type': 'application/json',\n 'API-KEY': _apiKey,\n 'HASH-SIGNATURE': signature,\n };\n\n return headers;\n};\n\nexport const 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 = { ...mainOptions };\n options.path += path;\n options.headers = prepareHeader(chunk);\n\n const req = (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"],"names":[],"version":3,"file":"PlugNmeet.mjs.map"}
|