plugnmeet-sdk-js 1.3.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,7 +70,7 @@ class $e71a992b229cccd4$export$5a82ec1641dd9681 {
70
70
  this.apiSecret = apiSecret;
71
71
  const url = new URL(apiEndPointURL);
72
72
  let port = url.protocol === "https:" ? 443 : 80;
73
- this.isSecure = (url.protocol === "https:") ?? false;
73
+ this.isSecure = url.protocol === "https:" ? true : false;
74
74
  // use port if supplied with url
75
75
  if (url.port) port = Number(url.port);
76
76
  this.mainOptions = {
@@ -105,7 +105,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
105
105
  return {
106
106
  status: output.response.status,
107
107
  msg: output.response.msg,
108
- roomInfo: output.response.roomInfo
108
+ room_info: output.response.room_info
109
109
  };
110
110
  }
111
111
  /**
@@ -136,6 +136,7 @@ class $405dcbf07186a1ff$export$1402da7f2870faee {
136
136
  };
137
137
  return {
138
138
  status: output.response.status,
139
+ is_active: output.response.is_active,
139
140
  msg: output.response.msg
140
141
  };
141
142
  }
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ?? false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.cjs.js.map"}
1
+ {"mappings":"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","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room_info: output.response.room_info,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n is_active: output.response.is_active,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ? true : false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.cjs.js.map"}
package/dist/PlugNmeet.js CHANGED
@@ -67,7 +67,7 @@ class $3437a6ece6919767$export$5a82ec1641dd9681 {
67
67
  this.apiSecret = apiSecret;
68
68
  const url = new URL(apiEndPointURL);
69
69
  let port = url.protocol === "https:" ? 443 : 80;
70
- this.isSecure = (url.protocol === "https:") ?? false;
70
+ this.isSecure = url.protocol === "https:" ? true : false;
71
71
  // use port if supplied with url
72
72
  if (url.port) port = Number(url.port);
73
73
  this.mainOptions = {
@@ -102,7 +102,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
102
102
  return {
103
103
  status: output.response.status,
104
104
  msg: output.response.msg,
105
- roomInfo: output.response.roomInfo
105
+ room_info: output.response.room_info
106
106
  };
107
107
  }
108
108
  /**
@@ -133,6 +133,7 @@ class $8e30a24c4952589a$export$1402da7f2870faee {
133
133
  };
134
134
  return {
135
135
  status: output.response.status,
136
+ is_active: output.response.is_active,
136
137
  msg: output.response.msg
137
138
  };
138
139
  }
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ?? false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.js.map","sourceRoot":"../"}
1
+ {"mappings":"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","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room_info: output.response.room_info,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n is_active: output.response.is_active,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ? true : false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.js.map","sourceRoot":"../"}
@@ -60,7 +60,7 @@ class $e666bfa8019d90ff$export$5a82ec1641dd9681 {
60
60
  this.apiSecret = apiSecret;
61
61
  const url = new URL(apiEndPointURL);
62
62
  let port = url.protocol === "https:" ? 443 : 80;
63
- this.isSecure = (url.protocol === "https:") ?? false;
63
+ this.isSecure = url.protocol === "https:" ? true : false;
64
64
  // use port if supplied with url
65
65
  if (url.port) port = Number(url.port);
66
66
  this.mainOptions = {
@@ -95,7 +95,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
95
95
  return {
96
96
  status: output.response.status,
97
97
  msg: output.response.msg,
98
- roomInfo: output.response.roomInfo
98
+ room_info: output.response.room_info
99
99
  };
100
100
  }
101
101
  /**
@@ -126,6 +126,7 @@ class $cdaf723153ba18be$export$1402da7f2870faee {
126
126
  };
127
127
  return {
128
128
  status: output.response.status,
129
+ is_active: output.response.is_active,
129
130
  msg: output.response.msg
130
131
  };
131
132
  }
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ?? false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.mjs.js.map"}
1
+ {"mappings":";;;;;;;;;;ACSO,MAAM;IAQX,YAAY,cAAsB,EAAE,MAAc,EAAE,SAAiB,CAAE;aAH/D,WAAW;aACX,cAA8B,CAAC;aAwB/B,gBAAgB,CAAC;YACvB,MAAM,YAAY,CAAA,GAAA,iBAAS,EAAE,UAAU,IAAI,CAAC,SAAS,EAClD,MAAM,CAAC,MACP,MAAM,CAAC;YAEV,OAAO;gBACL,gBAAgB;gBAChB,WAAW,IAAI,CAAC,MAAM;gBACtB,kBAAkB;YACpB;QACF;aAEO,cAAc,OAAO,MAAc;YACxC,OAAO,IAAI,QAAqB,CAAC;gBAC/B,MAAM,SAAsB;oBAC1B,QAAQ;oBACR,UAAU;gBACZ;gBAEA,MAAM,QAAQ,KAAK,SAAS,CAAC;gBAE7B,MAAM,UAAU;oBAAE,GAAG,IAAI,CAAC,WAAW;gBAAC;gBACtC,QAAQ,IAAI,IAAI;gBAChB,QAAQ,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;gBAErC,MAAM,MAAM,AAAC,CAAA,IAAI,CAAC,QAAQ,GAAG,CAAA,GAAA,YAAI,IAAI,CAAA,GAAA,WAAG,CAAA,EAAG,OAAO,CAAC,SAAS,CAAC;oBAC3D,MAAM,OAA0B,EAAE;oBAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAU,KAAK,IAAI,CAAC;oBAEpC,IAAI,EAAE,CAAC,OAAO;wBACZ,MAAM,YAAY,iCAAO,MAAM,CAAC,MAAM,QAAQ;wBAE9C,IAAI;4BACF,OAAO,MAAM,GAAG;4BAChB,OAAO,QAAQ,GAAG,KAAK,KAAK,CAAC;wBAC/B,EAAE,OAAO,OAAO;4BACd,OAAO,MAAM,GAAG;4BAChB,OAAO,QAAQ,GAAG;wBACpB;wBAEA,QAAQ;oBACV;gBACF;gBAEA,IAAI,EAAE,CAAC,SAAS,CAAC;oBACf,OAAO,QAAQ,GAAG,MAAM,OAAO;oBAC/B,QAAQ;gBACV;gBAEA,IAAI,KAAK,CAAC;gBACV,IAAI,GAAG;YACT;QACF;QAzEE,IAAI,CAAC,cAAc,GAAG;QACtB,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,SAAS,GAAG;QAEjB,MAAM,MAAM,IAAI,IAAI;QACpB,IAAI,OAAO,IAAI,QAAQ,KAAK,WAAW,MAAM;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,KAAK,WAAW,OAAO;QAEnD,gCAAgC;QAChC,IAAI,IAAI,IAAI,EACV,OAAO,OAAO,IAAI,IAAI;QAGxB,IAAI,CAAC,WAAW,GAAG;YACjB,UAAU,IAAI,QAAQ;YACtB,MAAM,IAAI,QAAQ;YAClB,QAAQ;kBACR;QACF;IACF;AAuDF;;;ADnDO,MAAM;IAIX;;;;GAIC,GACD,YAAY,SAAiB,EAAE,MAAc,EAAE,SAAiB,CAAE;aARxD,cAAc;QAStB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA,GAAA,yCAAW,EACjC,YAAY,IAAI,CAAC,WAAW,EAC5B,QACA;IAEJ;IAEA;;;;GAIC,GACD,MAAa,WACX,MAAwB,EACK;QAC7B,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB;QACnE,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,WAAW,OAAO,QAAQ,CAAC,SAAS;QACtC;IACF;IAEA;;;;GAIC,GACD,MAAa,aACX,MAAuB,EACK;QAC5B,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,sBACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,OAAO,OAAO,QAAQ,CAAC,KAAK;QAC9B;IACF;IAEA;;;;GAIC,GACD,MAAa,aACX,MAA0B,EACK;QAC/B,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,sBACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,WAAW,OAAO,QAAQ,CAAC,SAAS;YACpC,KAAK,OAAO,QAAQ,CAAC,GAAG;QAC1B;IACF;IAEA;;;;GAIC,GACD,MAAa,kBACX,MAA4B,EACK;QACjC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,2BACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,MAAM,OAAO,QAAQ,CAAC,IAAI;QAC5B;IACF;IAEA;;;GAGC,GACD,MAAa,qBAAuD;QAClE,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,4BACA,CAAC;QAEH,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,OAAO,OAAO,QAAQ,CAAC,KAAK;QAC9B;IACF;IAEA;;;;GAIC,GACD,MAAa,mBACX,MAAgC,EACC;QACjC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,wBACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,QAAQ,OAAO,QAAQ,CAAC,MAAM;QAChC;IACF;IAEA;;;;GAIC,GACD,MAAa,QAAQ,MAAqB,EAA4B;QACpE,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,iBAAiB;QACpE,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;QAC1B;IACF;IAEA;;;;GAIC,GACD,MAAa,eACX,MAA4B,EACK;QACjC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,oBACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,QAAQ,OAAO,QAAQ,CAAC,MAAM;QAChC;IACF;IAEA;;;;GAIC,GACD,MAAa,gBACX,MAA6B,EACK;QAClC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,qBACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;QAC1B;IACF;IAEA;;;;GAIC,GACD,MAAa,0BACX,MAAoC,EACK;QACzC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,+BACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,OAAO,OAAO,QAAQ,CAAC,KAAK;QAC9B;IACF;IAEA;;;;GAIC,GACD,MAAa,gBACX,MAA6B,EACK;QAClC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,oBACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,QAAQ,OAAO,QAAQ,CAAC,MAAM;QAChC;IACF;IAEA;;;;GAIC,GACD,MAAa,iBACX,MAA8B,EACK;QACnC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,qBACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;QAC1B;IACF;IAEA;;;;GAIC,GACD,MAAa,0BACX,MAAoC,EACK;QACzC,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAChD,+BACA;QAEF,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,OAAO,OAAO,QAAQ,CAAC,KAAK;QAC9B;IACF;IAEA;;;GAGC,GACD,MAAa,iBAA+C;QAC1D,MAAM,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,CAAC;QACvE,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;YACL,QAAQ;YACR,KAAK,OAAO,QAAQ;QACtB;QAGF,OAAO;YACL,QAAQ,OAAO,QAAQ,CAAC,MAAM;YAC9B,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,KAAK,OAAO,QAAQ,CAAC,GAAG;YACxB,IAAI,OAAO,QAAQ,CAAC,EAAE;QACxB;IACF;AACF","sources":["src/PlugNmeet.ts","src/ApiTransport.ts"],"sourcesContent":["import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room_info: output.response.room_info,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n is_active: output.response.is_active,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n","import http from 'http';\nimport https, { RequestOptions } from 'https';\nimport { createHmac } from 'crypto';\n\nexport type APIResponse = {\n status: boolean;\n response: any;\n};\n\nexport class ApiTransport {\n protected apiEndPointURL: string;\n protected apiKey: string;\n protected apiSecret: string;\n\n private isSecure = false;\n private mainOptions: RequestOptions = {};\n\n constructor(apiEndPointURL: string, apiKey: string, apiSecret: string) {\n this.apiEndPointURL = apiEndPointURL;\n this.apiKey = apiKey;\n this.apiSecret = apiSecret;\n\n const url = new URL(apiEndPointURL);\n let port = url.protocol === 'https:' ? 443 : 80;\n this.isSecure = url.protocol === 'https:' ? true : false;\n\n // use port if supplied with url\n if (url.port) {\n port = Number(url.port);\n }\n\n this.mainOptions = {\n hostname: url.hostname,\n path: url.pathname,\n method: 'POST',\n port,\n };\n }\n\n private prepareHeader = (body: string) => {\n const signature = createHmac('sha256', this.apiSecret)\n .update(body)\n .digest('hex');\n\n return {\n 'Content-Type': 'application/json',\n 'API-KEY': this.apiKey,\n 'HASH-SIGNATURE': signature,\n };\n };\n\n public sendRequest = async (path: string, body: any) => {\n return new Promise<APIResponse>((resolve) => {\n const output: APIResponse = {\n status: false,\n response: undefined,\n };\n\n const chunk = JSON.stringify(body);\n\n const options = { ...this.mainOptions };\n options.path += path;\n options.headers = this.prepareHeader(chunk);\n\n const req = (this.isSecure ? https : http).request(options, (res) => {\n const body: Array<Uint8Array> = [];\n res.on('data', (chunk) => body.push(chunk));\n\n res.on('end', () => {\n const resString = Buffer.concat(body).toString();\n\n try {\n output.status = true;\n output.response = JSON.parse(resString);\n } catch (error) {\n output.status = false;\n output.response = error;\n }\n\n resolve(output);\n });\n });\n\n req.on('error', (error) => {\n output.response = error.message;\n resolve(output);\n });\n\n req.write(chunk);\n req.end();\n });\n };\n}\n"],"names":[],"version":3,"file":"PlugNmeet.mjs.js.map"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,37 @@
1
+ type ActiveRoomInfoParams = {
2
+ room_id: string;
3
+ };
4
+ type ActiveRoomInfoResponse = {
5
+ status: boolean;
6
+ msg: string;
7
+ room?: Room;
8
+ };
9
+ type Room = {
10
+ room_info: ActiveRoomInfo;
11
+ participants_info: Array<ParticipantInfo>;
12
+ };
13
+ type ActiveRoomInfo = {
14
+ room_title: string;
15
+ room_id: string;
16
+ sid: string;
17
+ joined_participants: number;
18
+ is_running: boolean;
19
+ is_recording: boolean;
20
+ is_active_rtmp: boolean;
21
+ webhook_url: string;
22
+ creation_time: number;
23
+ metadata: string;
24
+ };
25
+ type ParticipantInfo = {
26
+ sid: string;
27
+ identity: string;
28
+ state: string;
29
+ metadata: string;
30
+ joined_at: number;
31
+ name: string;
32
+ version: number;
33
+ permission: any;
34
+ };
1
35
  type CreateRoomParams = {
2
36
  room_id: string;
3
37
  max_participants?: number;
@@ -11,6 +45,8 @@ type RooMetadata = {
11
45
  logout_url?: string;
12
46
  room_features: RoomFeaturesParams;
13
47
  default_lock_settings?: LockSettingsParams;
48
+ copyright_conf?: CopyrightConf;
49
+ extra_data?: string;
14
50
  };
15
51
  type RoomFeaturesParams = {
16
52
  allow_webcams: boolean;
@@ -20,6 +56,11 @@ type RoomFeaturesParams = {
20
56
  admin_only_webcams: boolean;
21
57
  allow_view_other_webcams: boolean;
22
58
  allow_view_other_users_list: boolean;
59
+ room_duration: number;
60
+ enable_analytics: boolean;
61
+ allow_virtual_bg: boolean;
62
+ allow_raise_hand: boolean;
63
+ auto_gen_user_id?: boolean;
23
64
  recording_features: RecordingFeaturesParams;
24
65
  chat_features: ChatFeaturesParams;
25
66
  shared_note_pad_features?: SharedNotePadFeaturesParams;
@@ -49,6 +90,7 @@ type SharedNotePadFeaturesParams = {
49
90
  };
50
91
  type WhiteboardFeaturesParams = {
51
92
  allowed_whiteboard: boolean;
93
+ preload_file?: string;
52
94
  };
53
95
  type ExternalMediaPlayerFeatures = {
54
96
  allowed_external_media_player: boolean;
@@ -72,6 +114,8 @@ type SpeechToTextTranslationFeatures = {
72
114
  };
73
115
  type EndToEndEncryptionFeatures = {
74
116
  is_enabled: boolean;
117
+ included_chat_messages?: boolean;
118
+ included_whiteboard?: boolean;
75
119
  };
76
120
  type LockSettingsParams = {
77
121
  lock_microphone?: boolean;
@@ -83,20 +127,14 @@ type LockSettingsParams = {
83
127
  lock_chat_send_message?: boolean;
84
128
  lock_chat_file_share?: boolean;
85
129
  };
130
+ type CopyrightConf = {
131
+ display: boolean;
132
+ text: string;
133
+ };
86
134
  type CreateRoomResponse = {
87
135
  status: boolean;
88
136
  msg: string;
89
- roomInfo?: CreateRoomResponseRoomInfo;
90
- };
91
- type CreateRoomResponseRoomInfo = {
92
- sid: string;
93
- name: string;
94
- max_participants: number;
95
- empty_timeout: number;
96
- creation_time: number;
97
- turn_password: string;
98
- enabled_codecs: Array<any>;
99
- metadata: string;
137
+ room_info?: ActiveRoomInfo;
100
138
  };
101
139
  type JoinTokenParams = {
102
140
  room_id: string;
@@ -111,6 +149,10 @@ type JoinTokenUserInfo = {
111
149
  };
112
150
  type JoinTokenUserMetadata = {
113
151
  profile_pic?: string;
152
+ record_webcam?: boolean;
153
+ preferred_lang?: string;
154
+ ex_user_id?: string;
155
+ extra_data?: string;
114
156
  lock_settings?: LockSettingsParams;
115
157
  };
116
158
  type JoinTokenResponse = {
@@ -123,42 +165,9 @@ type IsRoomActiveParams = {
123
165
  };
124
166
  type IsRoomActiveResponse = {
125
167
  status: boolean;
168
+ is_active?: boolean;
126
169
  msg: string;
127
170
  };
128
- type ActiveRoomInfoParams = {
129
- room_id: string;
130
- };
131
- type ActiveRoomInfoResponse = {
132
- status: boolean;
133
- msg: string;
134
- room?: Room;
135
- };
136
- type Room = {
137
- room_info: ActiveRoomInfo;
138
- participants_info: Array<ParticipantInfo>;
139
- };
140
- type ActiveRoomInfo = {
141
- room_title: string;
142
- room_id: string;
143
- sid: string;
144
- joined_participants: number;
145
- is_running: boolean;
146
- is_recording: boolean;
147
- is_active_rtmp: boolean;
148
- webhook_url: string;
149
- creation_time: number;
150
- metadata: string;
151
- };
152
- type ParticipantInfo = {
153
- sid: string;
154
- identity: string;
155
- state: string;
156
- metadata: string;
157
- joined_at: number;
158
- name: string;
159
- version: number;
160
- permission: any;
161
- };
162
171
  type ActiveRoomsInfoResponse = {
163
172
  status: boolean;
164
173
  msg: string;
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/src/ApiTransport.ts","src/src/types/createRoom.ts","src/src/types/joinToken.ts","src/src/types/isRoomActive.ts","src/src/types/activeRoomInfo.ts","src/src/types/activeRoomsInfo.ts","src/src/types/endRoom.ts","src/src/types/fetchRecordings.ts","src/src/types/deleteRecordings.ts","src/src/types/recordingDownloadToken.ts","src/src/types/clientFiles.ts","src/src/types/fetchPastRoomsInfo.ts","src/src/types/fetchAnalytics.ts","src/src/types/deleteAnalytics.ts","src/src/types/analyticsDownloadToken.ts","src/src/types/PlugNmeetAPI.ts","src/src/PlugNmeet.ts","src/PlugNmeet.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n roomInfo: output.response.roomInfo,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":"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","sources":["src/src/ApiTransport.ts","src/src/types/activeRoomInfo.ts","src/src/types/createRoom.ts","src/src/types/joinToken.ts","src/src/types/isRoomActive.ts","src/src/types/activeRoomsInfo.ts","src/src/types/endRoom.ts","src/src/types/fetchRecordings.ts","src/src/types/deleteRecordings.ts","src/src/types/recordingDownloadToken.ts","src/src/types/clientFiles.ts","src/src/types/fetchPastRoomsInfo.ts","src/src/types/fetchAnalytics.ts","src/src/types/deleteAnalytics.ts","src/src/types/analyticsDownloadToken.ts","src/src/types/PlugNmeetAPI.ts","src/src/PlugNmeet.ts","src/PlugNmeet.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { ApiTransport } from './ApiTransport';\nimport { CreateRoomParams, CreateRoomResponse } from './types/createRoom';\nimport { JoinTokenParams, JoinTokenResponse } from './types/joinToken';\nimport { IsRoomActiveParams, IsRoomActiveResponse } from './types/isRoomActive';\nimport {\n ActiveRoomInfoParams,\n ActiveRoomInfoResponse,\n} from './types/activeRoomInfo';\nimport { ActiveRoomsInfoResponse } from './types/activeRoomsInfo';\nimport { EndRoomParams, EndRoomResponse } from './types/endRoom';\nimport {\n FetchRecordingsParams,\n FetchRecordingsResponse,\n} from './types/fetchRecordings';\nimport {\n DeleteRecordingsParams,\n DeleteRecordingsResponse,\n} from './types/deleteRecordings';\nimport {\n RecordingDownloadTokenParams,\n RecordingDownloadTokenResponse,\n} from './types/recordingDownloadToken';\nimport { ClientFilesResponse } from './types/clientFiles';\nimport {\n FetchRoomsInfoResponse,\n FetchPastRoomsInfoParams,\n} from './types/fetchPastRoomsInfo';\nimport {\n FetchAnalyticsParams,\n FetchAnalyticsResponse,\n} from './types/fetchAnalytics';\nimport {\n DeleteAnalyticsParams,\n DeleteAnalyticsResponse,\n} from './types/deleteAnalytics';\nimport {\n AnalyticsDownloadTokenParams,\n AnalyticsDownloadTokenResponse,\n} from './types/analyticsDownloadToken';\nimport { PlugNmeetAPI } from './types/PlugNmeetAPI';\n\nexport class PlugNmeet implements PlugNmeetAPI {\n protected defaultPath = '/auth';\n private apiTransport: ApiTransport;\n\n /**\n * @param serverUrl plugNmeet server URL\n * @param apiKey plugNmeet API_Key\n * @param apiSecret plugNmeet API_Secret\n */\n constructor(serverUrl: string, apiKey: string, apiSecret: string) {\n this.apiTransport = new ApiTransport(\n serverUrl + this.defaultPath,\n apiKey,\n apiSecret,\n );\n }\n\n /**\n * Create new room\n * @param params\n * @returns Promise<CreateRoomResponse>\n */\n public async createRoom(\n params: CreateRoomParams,\n ): Promise<CreateRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/create', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room_info: output.response.room_info,\n };\n }\n\n /**\n * Generate join token\n * @param params\n * @returns Promise<JoinTokenResponse>\n */\n public async getJoinToken(\n params: JoinTokenParams,\n ): Promise<JoinTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getJoinToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * If room is active or not\n * @param params\n * @returns Promise<IsRoomActiveResponse>\n */\n public async isRoomActive(\n params: IsRoomActiveParams,\n ): Promise<IsRoomActiveResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/isRoomActive',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n is_active: output.response.is_active,\n msg: output.response.msg,\n };\n }\n\n /**\n * Get active room information\n * @param params\n * @returns Promise<ActiveRoomInfoResponse>\n */\n public async getActiveRoomInfo(\n params: ActiveRoomInfoParams,\n ): Promise<ActiveRoomInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomInfo',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n room: output.response.room,\n };\n }\n\n /**\n * Get all active rooms\n * @returns Promise<ActiveRoomsInfoResponse>\n */\n public async getActiveRoomsInfo(): Promise<ActiveRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/getActiveRoomsInfo',\n {},\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n rooms: output.response.rooms,\n };\n }\n\n /**\n * Fetch info about past rooms\n * @param params\n * @returns Promise<FetchRoomsInfoResponse>\n */\n public async fetchPastRoomsInfo(\n params: FetchPastRoomsInfoParams,\n ): Promise<FetchRoomsInfoResponse> {\n const output = await this.apiTransport.sendRequest(\n '/room/fetchPastRooms',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * End active room\n * @param params\n * @returns Promise<EndRoomResponse>\n */\n public async endRoom(params: EndRoomParams): Promise<EndRoomResponse> {\n const output = await this.apiTransport.sendRequest('/room/endRoom', params);\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Fetch analytics\n * @param params\n * @returns Promise<FetchAnalyticsResponse>\n */\n public async fetchAnalytics(\n params: FetchAnalyticsParams,\n ): Promise<FetchAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete analytics\n * @param params\n * @returns Promise<DeleteAnalyticsResponse>\n */\n public async deleteAnalytics(\n params: DeleteAnalyticsParams,\n ): Promise<DeleteAnalyticsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<AnalyticsDownloadTokenResponse>\n */\n public async getAnalyticsDownloadToken(\n params: AnalyticsDownloadTokenParams,\n ): Promise<AnalyticsDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/analytics/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * Fetch recordings\n * @param params\n * @returns Promise<FetchRecordingsResponse>\n */\n public async fetchRecordings(\n params: FetchRecordingsParams,\n ): Promise<FetchRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/fetch',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n result: output.response.result,\n };\n }\n\n /**\n * Delete recording\n * @param params\n * @returns Promise<DeleteRecordingsResponse>\n */\n public async deleteRecordings(\n params: DeleteRecordingsParams,\n ): Promise<DeleteRecordingsResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/delete',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n };\n }\n\n /**\n * Generate token to download recording\n * @param params\n * @returns Promise<RecordingDownloadTokenResponse>\n */\n public async getRecordingDownloadToken(\n params: RecordingDownloadTokenParams,\n ): Promise<RecordingDownloadTokenResponse> {\n const output = await this.apiTransport.sendRequest(\n '/recording/getDownloadToken',\n params,\n );\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n token: output.response.token,\n };\n }\n\n /**\n * To get JS & CSS files to build interface\n * @returns Promise<ClientFilesResponse>\n */\n public async getClientFiles(): Promise<ClientFilesResponse> {\n const output = await this.apiTransport.sendRequest('/getClientFiles', {});\n if (!output.status) {\n return {\n status: false,\n msg: output.response,\n };\n }\n\n return {\n status: output.response.status,\n msg: output.response.msg,\n css: output.response.css,\n js: output.response.js,\n };\n }\n}\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plugnmeet-sdk-js",
3
- "version": "1.3.1",
3
+ "version": "1.4.1",
4
4
  "description": "plugNmeet JS SDK",
5
5
  "author": "Jibon L. Costa",
6
6
  "license": "MIT",
@@ -15,6 +15,7 @@
15
15
  "README.md"
16
16
  ],
17
17
  "scripts": {
18
+ "preinstall": "npx only-allow pnpm",
18
19
  "start": "rm -rf ./dist && concurrently -c \"red,green\" --kill-others \"tsc --watch -p . --outDir ./dist && esw -w --fix ./src/**/*.{ts,js}\"",
19
20
  "build": "rm -rf ./dist && parcel build",
20
21
  "lint": "prettier --write \"./src/**/*.{ts,js}\" && eslint --fix ./src/**/*.{ts,js}",
@@ -29,19 +30,19 @@
29
30
  }
30
31
  },
31
32
  "devDependencies": {
32
- "@parcel/packager-ts": "2.10.2",
33
- "@parcel/transformer-typescript-types": "2.10.2",
34
- "@types/node": "20.9.0",
35
- "@typescript-eslint/eslint-plugin": "6.10.0",
36
- "@typescript-eslint/parser": "6.10.0",
37
- "concurrently": "8.2.2",
38
- "eslint": "8.53.0",
39
- "eslint-config-prettier": "9.0.0",
40
- "eslint-plugin-prettier": "5.0.1",
33
+ "@parcel/packager-ts": "2.12.0",
34
+ "@parcel/transformer-typescript-types": "2.12.0",
35
+ "@types/node": "22.7.1",
36
+ "@typescript-eslint/eslint-plugin": "8.7.0",
37
+ "@typescript-eslint/parser": "8.7.0",
38
+ "concurrently": "9.0.1",
39
+ "eslint": "8.57.1",
40
+ "eslint-config-prettier": "9.1.0",
41
+ "eslint-plugin-prettier": "5.2.1",
41
42
  "eslint-watch": "8.0.0",
42
- "parcel": "2.10.2",
43
- "prettier": "3.0.3",
44
- "typedoc": "0.25.3",
45
- "typescript": "5.2.2"
43
+ "parcel": "2.12.0",
44
+ "prettier": "3.3.3",
45
+ "typedoc": "0.26.7",
46
+ "typescript": "5.6.2"
46
47
  }
47
48
  }