@webex/plugin-meetings 2.14.0 → 2.14.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.
@@ -263,20 +263,16 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
263
263
  method: _constants.HTTP_VERBS.POST,
264
264
  uri: uri,
265
265
  body: body
266
- }).catch(function (err) {
267
- var _err$body, _err$body2;
268
-
269
- throw new MeetingInfoV2AdhocMeetingError((_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.code, (_err$body2 = err.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.message);
270
266
  });
271
267
  }).catch(function (err) {
272
- var _err$body3, _err$body4;
268
+ var _err$body, _err$body2;
273
269
 
274
270
  _metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_FAILURE, {
275
271
  reason: err.message,
276
272
  stack: err.stack
277
273
  });
278
274
 
279
- throw new MeetingInfoV2AdhocMeetingError((_err$body3 = err.body) === null || _err$body3 === void 0 ? void 0 : _err$body3.code, (_err$body4 = err.body) === null || _err$body4 === void 0 ? void 0 : _err$body4.message);
275
+ throw new MeetingInfoV2AdhocMeetingError((_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.code, (_err$body2 = err.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.message);
280
276
  }));
281
277
 
282
278
  case 4:
@@ -369,25 +365,25 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
369
365
  return response;
370
366
  }).catch(function (err) {
371
367
  if ((err === null || err === void 0 ? void 0 : err.statusCode) === 403) {
372
- var _err$body5, _err$body6, _err$body6$data;
368
+ var _err$body3, _err$body4, _err$body4$data;
373
369
 
374
370
  _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_PASSWORD_ERROR, {
375
371
  reason: err.message,
376
372
  stack: err.stack
377
373
  });
378
374
 
379
- throw new MeetingInfoV2PasswordError((_err$body5 = err.body) === null || _err$body5 === void 0 ? void 0 : _err$body5.code, (_err$body6 = err.body) === null || _err$body6 === void 0 ? void 0 : (_err$body6$data = _err$body6.data) === null || _err$body6$data === void 0 ? void 0 : _err$body6$data.meetingInfo);
375
+ throw new MeetingInfoV2PasswordError((_err$body3 = err.body) === null || _err$body3 === void 0 ? void 0 : _err$body3.code, (_err$body4 = err.body) === null || _err$body4 === void 0 ? void 0 : (_err$body4$data = _err$body4.data) === null || _err$body4$data === void 0 ? void 0 : _err$body4$data.meetingInfo);
380
376
  }
381
377
 
382
378
  if ((err === null || err === void 0 ? void 0 : err.statusCode) === 423) {
383
- var _err$body7;
379
+ var _err$body5;
384
380
 
385
381
  _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_CAPTCHA_ERROR, {
386
382
  reason: err.message,
387
383
  stack: err.stack
388
384
  });
389
385
 
390
- throw new MeetingInfoV2CaptchaError((_err$body7 = err.body) === null || _err$body7 === void 0 ? void 0 : _err$body7.code, {
386
+ throw new MeetingInfoV2CaptchaError((_err$body5 = err.body) === null || _err$body5 === void 0 ? void 0 : _err$body5.code, {
391
387
  captchaId: err.body.captchaID,
392
388
  verificationImageURL: err.body.verificationImageURL,
393
389
  verificationAudioURL: err.body.verificationAudioURL,
@@ -1 +1 @@
1
- {"version":3,"names":["PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","MeetingInfoV2PasswordError","wbxAppApiErrorCode","meetingInfo","message","name","sdkMessage","stack","Error","wbxAppApiCode","MeetingInfoV2AdhocMeetingError","MeetingInfoV2CaptchaError","captchaInfo","isPasswordRequired","includes","MeetingInfoV2","webex","destination","type","MeetingInfoUtil","getDestinationType","conversationUrl","meetings","preferredWebexSite","getInvitees","particpants","invitees","forEach","participant","push","email","emailAddress","ciUserUuid","entryUUID","internal","conversation","get","url","includeParticipants","disableTransform","then","body","title","displayName","spaceUrl","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","uri","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ADHOC_MEETING_SUCCESS","request","method","HTTP_VERBS","POST","catch","err","code","ADHOC_MEETING_FAILURE","reason","password","destinationType","_CONVERSATION_URL_","config","experimental","enableAdhocMeetings","createAdhocSpaceMeeting","getRequestBody","options","service","resource","getDirectMeetingInfoURI","directURI","response","FETCH_MEETING_INFO_V1_SUCCESS","statusCode","VERIFY_PASSWORD_ERROR","data","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","FETCH_MEETING_INFO_V1_FAILURE"],"sources":["meeting-info-v2.js"],"sourcesContent":["\nimport {HTTP_VERBS, _CONVERSATION_URL_} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE = 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, meetingInfo, message = PASSWORD_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, message = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, captchaInfo, message = CAPTCHA_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination, type = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n }\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex.internal.conversation.get(\n {url: conversationUrl},\n {includeParticipants: true, disableTransform: true}\n )\n .then((conversation) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items)\n };\n\n const uri = this.webex.meetings.preferredWebexSite ?\n `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant` : '';\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS\n );\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body\n })\n .catch((err) => {\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n })\n .catch((err) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(destination, type = null, password = null, captchaInfo = null) {\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n\n if (destinationType.type === _CONVERSATION_URL_ && this.webex.config.meetings.experimental.enableAdhocMeetings) {\n return this.createAdhocSpaceMeeting(destinationType.destination);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({...destinationType, password, captchaInfo});\n\n const options = {\n method: HTTP_VERBS.POST,\n service: 'webex-appapi-service',\n resource: 'meetingInfo',\n body\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) options.directURI = directURI;\n\n return this.webex.request(options)\n .then((response) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS\n );\n\n return response;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL\n });\n }\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw err;\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","MeetingInfoV2PasswordError","wbxAppApiErrorCode","meetingInfo","message","name","sdkMessage","stack","Error","wbxAppApiCode","MeetingInfoV2AdhocMeetingError","MeetingInfoV2CaptchaError","captchaInfo","isPasswordRequired","includes","MeetingInfoV2","webex","destination","type","MeetingInfoUtil","getDestinationType","conversationUrl","meetings","preferredWebexSite","getInvitees","particpants","invitees","forEach","participant","push","email","emailAddress","ciUserUuid","entryUUID","internal","conversation","get","url","includeParticipants","disableTransform","then","body","title","displayName","spaceUrl","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","uri","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ADHOC_MEETING_SUCCESS","request","method","HTTP_VERBS","POST","catch","err","ADHOC_MEETING_FAILURE","reason","code","password","destinationType","_CONVERSATION_URL_","config","experimental","enableAdhocMeetings","createAdhocSpaceMeeting","getRequestBody","options","service","resource","getDirectMeetingInfoURI","directURI","response","FETCH_MEETING_INFO_V1_SUCCESS","statusCode","VERIFY_PASSWORD_ERROR","data","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","FETCH_MEETING_INFO_V1_FAILURE"],"sources":["meeting-info-v2.js"],"sourcesContent":["\nimport {HTTP_VERBS, _CONVERSATION_URL_} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE = 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, meetingInfo, message = PASSWORD_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, message = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, captchaInfo, message = CAPTCHA_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination, type = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n }\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex.internal.conversation.get(\n {url: conversationUrl},\n {includeParticipants: true, disableTransform: true}\n )\n .then((conversation) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items)\n };\n\n const uri = this.webex.meetings.preferredWebexSite ?\n `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant` : '';\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS\n );\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body\n });\n })\n .catch((err) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(destination, type = null, password = null, captchaInfo = null) {\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n\n if (destinationType.type === _CONVERSATION_URL_ && this.webex.config.meetings.experimental.enableAdhocMeetings) {\n return this.createAdhocSpaceMeeting(destinationType.destination);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({...destinationType, password, captchaInfo});\n\n const options = {\n method: HTTP_VERBS.POST,\n service: 'webex-appapi-service',\n resource: 'meetingInfo',\n body\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) options.directURI = directURI;\n\n return this.webex.request(options)\n .then((response) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS\n );\n\n return response;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL\n });\n }\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw err;\n });\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "2.14.0",
3
+ "version": "2.14.1",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "contributors": [
@@ -24,19 +24,19 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@babel/runtime-corejs2": "^7.14.8",
27
- "@webex/webex-core": "2.14.0",
28
- "@webex/internal-plugin-mercury": "2.14.0",
29
- "@webex/internal-plugin-conversation": "2.14.0",
27
+ "@webex/webex-core": "2.14.1",
28
+ "@webex/internal-plugin-mercury": "2.14.1",
29
+ "@webex/internal-plugin-conversation": "2.14.1",
30
30
  "webrtc-adapter": "^7.7.0",
31
31
  "lodash": "^4.17.21",
32
32
  "uuid": "^3.3.2",
33
33
  "global": "^4.4.0",
34
34
  "ip-anonymize": "^0.1.0",
35
- "@webex/common": "2.14.0",
35
+ "@webex/common": "2.14.1",
36
36
  "bowser": "^2.11.0",
37
37
  "sdp-transform": "^2.12.0",
38
38
  "readable-stream": "^3.6.0",
39
- "@webex/common-timers": "2.14.0",
39
+ "@webex/common-timers": "2.14.1",
40
40
  "btoa": "^1.2.1",
41
41
  "@webex/internal-media-core": "^0.0.6-beta",
42
42
  "javascript-state-machine": "^3.1.0",
@@ -151,10 +151,7 @@ export default class MeetingInfoV2 {
151
151
  method: HTTP_VERBS.POST,
152
152
  uri,
153
153
  body
154
- })
155
- .catch((err) => {
156
- throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);
157
- });
154
+ });
158
155
  })
159
156
  .catch((err) => {
160
157
  Metrics.sendBehavioralMetric(
@@ -1332,7 +1332,7 @@ describe('plugin-meetings', () => {
1332
1332
 
1333
1333
  sandbox.stub(meeting.mediaProperties, 'peerConnection').value({shareTransceiver: true});
1334
1334
  sandbox.stub(MeetingUtil, 'getTrack').returns({videoTrack: true});
1335
- sandbox.stub(MeetingUtil, 'validateOptions').resolves(true);
1335
+ MeetingUtil.validateOptions = sinon.stub().returns(Promise.resolve(true));
1336
1336
  sandbox.stub(meeting, 'canUpdateMedia').returns(true);
1337
1337
  sandbox.stub(meeting, 'setLocalShareTrack');
1338
1338
 
@@ -1401,13 +1401,14 @@ describe('plugin-meetings', () => {
1401
1401
  const SENDRECV = 'sendrecv';
1402
1402
  const delay = 1e3;
1403
1403
 
1404
+ MeetingUtil.validateOptions = sinon.stub().returns(Promise.resolve(true));
1405
+ MeetingUtil.updateTransceiver = sinon.stub().returns(Promise.resolve(true));
1404
1406
  sandbox.stub(meeting, 'canUpdateMedia').returns(true);
1405
1407
  sandbox.stub(MeetingUtil, 'getTrack').returns({videoTrack: null});
1406
1408
  sandbox.stub(meeting, 'setLocalShareTrack');
1407
1409
  sandbox.stub(meeting, 'unsetLocalShareTrack');
1408
- sandbox.stub(MeetingUtil, 'validateOptions').resolves(true);
1409
1410
  sandbox.stub(meeting, 'checkForStopShare').returns(false);
1410
- sandbox.stub(MeetingUtil, 'updateTransceiver').resolves(true);
1411
+
1411
1412
  sandbox.stub(meeting, 'isLocalShareLive').value(false);
1412
1413
  sandbox.stub(meeting, 'handleShareTrackEnded');
1413
1414
  sandbox.stub(meeting.mediaProperties, 'peerConnection').value({
@@ -2278,11 +2279,6 @@ describe('plugin-meetings', () => {
2278
2279
  assert.equal(meeting.requiredCaptcha, null);
2279
2280
  assert.calledTwice(TriggerProxy.trigger);
2280
2281
  assert.calledWith(TriggerProxy.trigger, meeting, {file: 'meetings', function: 'fetchMeetingInfo'}, 'meeting:meetingInfoAvailable');
2281
- assert(Metrics.sendBehavioralMetric.calledOnce);
2282
- assert.calledWith(
2283
- Metrics.sendBehavioralMetric,
2284
- BEHAVIORAL_METRICS.VERIFY_PASSWORD_SUCCESS,
2285
- );
2286
2282
  });
2287
2283
 
2288
2284
  it('calls meetingInfoProvider with all the right parameters and parses the result when random delay is applied', async () => {
@@ -2354,11 +2350,6 @@ describe('plugin-meetings', () => {
2354
2350
 
2355
2351
  assert.calledWith(meeting.attrs.meetingInfoProvider.fetchMeetingInfo, FAKE_DESTINATION, FAKE_TYPE, null, null);
2356
2352
 
2357
- assert(Metrics.sendBehavioralMetric.calledOnce);
2358
- assert.calledWith(
2359
- Metrics.sendBehavioralMetric,
2360
- BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR,
2361
- );
2362
2353
  assert.deepEqual(meeting.meetingInfo, FAKE_MEETING_INFO);
2363
2354
  assert.equal(meeting.meetingInfoFailureReason, MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD);
2364
2355
  assert.equal(meeting.requiredCaptcha, null);
@@ -2379,11 +2370,7 @@ describe('plugin-meetings', () => {
2379
2370
 
2380
2371
  assert.calledWith(meeting.attrs.meetingInfoProvider.fetchMeetingInfo, FAKE_DESTINATION, FAKE_TYPE, 'aaa', null);
2381
2372
 
2382
- assert(Metrics.sendBehavioralMetric.calledOnce);
2383
- assert.calledWith(
2384
- Metrics.sendBehavioralMetric,
2385
- BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR,
2386
- );
2373
+
2387
2374
  assert.deepEqual(meeting.meetingInfo, {});
2388
2375
  assert.equal(meeting.meetingInfoFailureReason, MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD);
2389
2376
  assert.equal(meeting.passwordStatus, PASSWORD_STATUS.REQUIRED);
@@ -2537,6 +2524,11 @@ describe('plugin-meetings', () => {
2537
2524
  meeting.fetchMeetingInfo = sinon.stub().resolves();
2538
2525
  const result = await meeting.verifyPassword('password', 'captcha id');
2539
2526
 
2527
+ assert(Metrics.sendBehavioralMetric.calledOnce);
2528
+ assert.calledWith(
2529
+ Metrics.sendBehavioralMetric,
2530
+ BEHAVIORAL_METRICS.VERIFY_PASSWORD_SUCCESS,
2531
+ );
2540
2532
  assert.equal(result.isPasswordValid, true);
2541
2533
  assert.equal(result.requiredCaptcha, null);
2542
2534
  assert.equal(result.failureReason, MEETING_INFO_FAILURE_REASON.NONE);
@@ -177,16 +177,17 @@ describe('plugin-meetings', () => {
177
177
  meetingInfo.createAdhocSpaceMeeting.restore();
178
178
  });
179
179
 
180
+
180
181
  it('should throw an error MeetingInfoV2AdhocMeetingError if not able to start adhoc meeting for a conversation', async () => {
181
182
  webex.config.meetings.experimental.enableAdhocMeetings = true;
182
183
 
183
- webex.request = sinon.stub().rejects({statusCode: 403, body: {code: 400000, message: 'Input is invalid'}});
184
+ webex.request = sinon.stub().rejects({statusCode: 403, body: {code: 400000}});
184
185
  try {
185
186
  await meetingInfo.createAdhocSpaceMeeting('conversationUrl');
186
187
  }
187
188
  catch (err) {
188
189
  assert.instanceOf(err, MeetingInfoV2AdhocMeetingError);
189
- assert.deepEqual(err.message, 'Input is invalid, code=400000');
190
+ assert.deepEqual(err.message, 'Failed starting the adhoc meeting, Please contact support team , code=400000');
190
191
  assert.equal(err.wbxAppApiCode, 400000);
191
192
  }
192
193
  });
@@ -201,6 +202,11 @@ describe('plugin-meetings', () => {
201
202
  assert.fail('fetchMeetingInfo should have thrown, but has not done that');
202
203
  }
203
204
  catch (err) {
205
+ assert(Metrics.sendBehavioralMetric.calledOnce);
206
+ assert.calledWith(
207
+ Metrics.sendBehavioralMetric,
208
+ BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR,
209
+ );
204
210
  assert.instanceOf(err, MeetingInfoV2PasswordError);
205
211
  assert.deepEqual(err.meetingInfo, FAKE_MEETING_INFO);
206
212
  assert.equal(err.wbxAppApiCode, 403000);
@@ -226,6 +232,11 @@ describe('plugin-meetings', () => {
226
232
  assert.fail('fetchMeetingInfo should have thrown, but has not done that');
227
233
  }
228
234
  catch (err) {
235
+ assert(Metrics.sendBehavioralMetric.calledOnce);
236
+ assert.calledWith(
237
+ Metrics.sendBehavioralMetric,
238
+ BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR,
239
+ );
229
240
  assert.instanceOf(err, MeetingInfoV2CaptchaError);
230
241
  assert.deepEqual(err.captchaInfo, {
231
242
  captchaId: 'fake_captcha_id',