@webex/plugin-meetings 3.0.0-beta.290 → 3.0.0-beta.291

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.
@@ -209,7 +209,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
209
209
  sessionId: this.sessionId
210
210
  });
211
211
  },
212
- version: "3.0.0-beta.290"
212
+ version: "3.0.0-beta.291"
213
213
  });
214
214
  var _default = Breakout;
215
215
  exports.default = _default;
@@ -1041,7 +1041,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1041
1041
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1042
1042
  }
1043
1043
  },
1044
- version: "3.0.0-beta.290"
1044
+ version: "3.0.0-beta.291"
1045
1045
  });
1046
1046
  var _default = Breakouts;
1047
1047
  exports.default = _default;
@@ -359,7 +359,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
359
359
  throw error;
360
360
  });
361
361
  },
362
- version: "3.0.0-beta.290"
362
+ version: "3.0.0-beta.291"
363
363
  });
364
364
  var _default = SimultaneousInterpretation;
365
365
  exports.default = _default;
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.0.0-beta.290"
21
+ version: "3.0.0-beta.291"
22
22
  });
23
23
  var _default = SILanguage;
24
24
  exports.default = _default;
@@ -106,7 +106,7 @@ var MeetingInfo = /*#__PURE__*/function () {
106
106
  }
107
107
  return this.meetingInfoRequest.fetchMeetingInfo(options).then(function (info) {
108
108
  if (meetingId && sendCAevents) {
109
- var _info$body, _info$body2;
109
+ var _info$body, _info$body2, _info$body3;
110
110
  _this.webex.internal.newMetrics.submitInternalEvent({
111
111
  name: 'internal.client.meetinginfo.response'
112
112
  });
@@ -119,8 +119,8 @@ var MeetingInfo = /*#__PURE__*/function () {
119
119
  },
120
120
  options: {
121
121
  meetingId: meetingId,
122
- webexConferenceIdStr: info === null || info === void 0 ? void 0 : (_info$body = info.body) === null || _info$body === void 0 ? void 0 : _info$body.confID,
123
- globalMeetingId: info === null || info === void 0 ? void 0 : (_info$body2 = info.body) === null || _info$body2 === void 0 ? void 0 : _info$body2.meetingId
122
+ webexConferenceIdStr: (info === null || info === void 0 ? void 0 : (_info$body = info.body) === null || _info$body === void 0 ? void 0 : _info$body.confIdStr) || (info === null || info === void 0 ? void 0 : (_info$body2 = info.body) === null || _info$body2 === void 0 ? void 0 : _info$body2.confID),
123
+ globalMeetingId: info === null || info === void 0 ? void 0 : (_info$body3 = info.body) === null || _info$body3 === void 0 ? void 0 : _info$body3.meetingId
124
124
  }
125
125
  });
126
126
  }
@@ -1 +1 @@
1
- {"version":3,"names":["MeetingInfo","webex","meetingInfoRequest","MeetingInfoRequest","meetingInfoCollection","MeetingInfoCollection","id","get","info","set","options","meetingId","sendCAevents","internal","newMetrics","submitInternalEvent","name","submitClientEvent","fetchMeetingInfo","then","payload","identifiers","meetingLookupUrl","url","webexConferenceIdStr","body","confID","globalMeetingId","setMeetingInfo","sipMeetingUri","meetingLink","catch","error","LoggerProxy","logger","rawError","reject","destination","type","MeetingInfoUtil","generateOptions","password","captchaInfo","installedOrgID","locusId","extraParams","_PERSONAL_ROOM_","device","userId","fetchInfoOptions","extractDestination","infoOptions","requestFetchInfo","_MEETING_LINK_","convertLinkToSip","_SIP_URI_"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {_MEETING_LINK_, _SIP_URI_, _PERSONAL_ROOM_} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport MeetingInfoCollection from './collection';\nimport MeetingInfoRequest from './request';\nimport MeetingInfoUtil from './util';\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfo {\n meetingInfoCollection: any;\n meetingInfoRequest: any;\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex: any) {\n this.webex = webex;\n\n /**\n * The meeting info request server interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoRequest = new MeetingInfoRequest(this.webex);\n /**\n * The meeting information collection interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoCollection = new MeetingInfoCollection();\n }\n\n /**\n * @param {string} id\n * @returns {object}\n * @public\n * @memberof MeetingInfo\n */\n public getMeetingInfo(id: string) {\n return this.meetingInfoCollection.get(id);\n }\n\n /**\n * @param {string} id\n * @param {object} info\n * @returns {null}\n * @public\n * @memberof MeetingInfo\n */\n public setMeetingInfo(id: string, info: object) {\n this.meetingInfoCollection.set(id, info);\n }\n\n /**\n * Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject\n * @param {Object} options\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private requestFetchInfo(options: any) {\n const {meetingId, sendCAevents} = options;\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.meetingInfoRequest\n .fetchMeetingInfo(options)\n .then((info) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: info?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: info?.body?.confID,\n globalMeetingId: info?.body?.meetingId,\n },\n });\n }\n if (info && info.body) {\n this.setMeetingInfo(info.body.sipMeetingUri || info.body.meetingLink, info.body);\n }\n\n return info;\n })\n .catch((error) => {\n LoggerProxy.logger.error(\n `Meeting-info:index#requestFetchInfo --> ${error} fetch meetingInfo`\n );\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: error?.url,\n },\n },\n options: {\n meetingId,\n rawError: error,\n },\n });\n }\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Helper to generate the options for the MeetingInfo request\n * @param {String} destination\n * @param {String} type\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private fetchInfoOptions(destination: string, type: string) {\n return MeetingInfoUtil.generateOptions({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n // eslint-disable-next-line valid-jsdoc\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] meeting password\n * @param {Object} [captchaInfo] captcha code and id\n * @param {String} [installedOrgID]\n * @param {String} [locusId]\n * @param {Object} [extraParams]\n * @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n public fetchMeetingInfo(\n destination: string,\n type: string = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n password: string = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n installedOrgID = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n locusId = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n if (type === _PERSONAL_ROOM_ && !destination) {\n destination = this.webex.internal.device.userId;\n }\n\n return this.fetchInfoOptions(MeetingInfoUtil.extractDestination(destination, type), type).then(\n (infoOptions) =>\n // fetch meeting info\n this.requestFetchInfo({...infoOptions, ...options}).catch((error) => {\n // if it failed the first time as meeting link\n if (infoOptions.type === _MEETING_LINK_) {\n // convert the meeting link to sip URI and retry\n return this.requestFetchInfo({\n ...this.fetchInfoOptions(MeetingInfoUtil.convertLinkToSip(destination), _SIP_URI_),\n ...options,\n });\n }\n\n return Promise.reject(error);\n })\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["MeetingInfo","webex","meetingInfoRequest","MeetingInfoRequest","meetingInfoCollection","MeetingInfoCollection","id","get","info","set","options","meetingId","sendCAevents","internal","newMetrics","submitInternalEvent","name","submitClientEvent","fetchMeetingInfo","then","payload","identifiers","meetingLookupUrl","url","webexConferenceIdStr","body","confIdStr","confID","globalMeetingId","setMeetingInfo","sipMeetingUri","meetingLink","catch","error","LoggerProxy","logger","rawError","reject","destination","type","MeetingInfoUtil","generateOptions","password","captchaInfo","installedOrgID","locusId","extraParams","_PERSONAL_ROOM_","device","userId","fetchInfoOptions","extractDestination","infoOptions","requestFetchInfo","_MEETING_LINK_","convertLinkToSip","_SIP_URI_"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {_MEETING_LINK_, _SIP_URI_, _PERSONAL_ROOM_} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport MeetingInfoCollection from './collection';\nimport MeetingInfoRequest from './request';\nimport MeetingInfoUtil from './util';\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfo {\n meetingInfoCollection: any;\n meetingInfoRequest: any;\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex: any) {\n this.webex = webex;\n\n /**\n * The meeting info request server interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoRequest = new MeetingInfoRequest(this.webex);\n /**\n * The meeting information collection interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoCollection = new MeetingInfoCollection();\n }\n\n /**\n * @param {string} id\n * @returns {object}\n * @public\n * @memberof MeetingInfo\n */\n public getMeetingInfo(id: string) {\n return this.meetingInfoCollection.get(id);\n }\n\n /**\n * @param {string} id\n * @param {object} info\n * @returns {null}\n * @public\n * @memberof MeetingInfo\n */\n public setMeetingInfo(id: string, info: object) {\n this.meetingInfoCollection.set(id, info);\n }\n\n /**\n * Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject\n * @param {Object} options\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private requestFetchInfo(options: any) {\n const {meetingId, sendCAevents} = options;\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.meetingInfoRequest\n .fetchMeetingInfo(options)\n .then((info) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: info?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: info?.body?.confIdStr || info?.body?.confID,\n globalMeetingId: info?.body?.meetingId,\n },\n });\n }\n if (info && info.body) {\n this.setMeetingInfo(info.body.sipMeetingUri || info.body.meetingLink, info.body);\n }\n\n return info;\n })\n .catch((error) => {\n LoggerProxy.logger.error(\n `Meeting-info:index#requestFetchInfo --> ${error} fetch meetingInfo`\n );\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: error?.url,\n },\n },\n options: {\n meetingId,\n rawError: error,\n },\n });\n }\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Helper to generate the options for the MeetingInfo request\n * @param {String} destination\n * @param {String} type\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private fetchInfoOptions(destination: string, type: string) {\n return MeetingInfoUtil.generateOptions({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n // eslint-disable-next-line valid-jsdoc\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] meeting password\n * @param {Object} [captchaInfo] captcha code and id\n * @param {String} [installedOrgID]\n * @param {String} [locusId]\n * @param {Object} [extraParams]\n * @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n public fetchMeetingInfo(\n destination: string,\n type: string = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n password: string = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n installedOrgID = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n locusId = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n if (type === _PERSONAL_ROOM_ && !destination) {\n destination = this.webex.internal.device.userId;\n }\n\n return this.fetchInfoOptions(MeetingInfoUtil.extractDestination(destination, type), type).then(\n (infoOptions) =>\n // fetch meeting info\n this.requestFetchInfo({...infoOptions, ...options}).catch((error) => {\n // if it failed the first time as meeting link\n if (infoOptions.type === _MEETING_LINK_) {\n // convert the meeting link to sip URI and retry\n return this.requestFetchInfo({\n ...this.fetchInfoOptions(MeetingInfoUtil.convertLinkToSip(destination), _SIP_URI_),\n ...options,\n });\n }\n\n return Promise.reject(error);\n })\n );\n }\n}\n"],"mappings":"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"}
@@ -408,7 +408,7 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
408
408
  }
409
409
  return _context2.abrupt("return", this.webex.request(requestOptions).then(function (response) {
410
410
  if (meetingId && sendCAevents) {
411
- var _response$body, _response$body2;
411
+ var _response$body, _response$body2, _response$body3;
412
412
  _this6.webex.internal.newMetrics.submitInternalEvent({
413
413
  name: 'internal.client.meetinginfo.response'
414
414
  });
@@ -421,8 +421,8 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
421
421
  },
422
422
  options: {
423
423
  meetingId: meetingId,
424
- webexConferenceIdStr: response === null || response === void 0 ? void 0 : (_response$body = response.body) === null || _response$body === void 0 ? void 0 : _response$body.confID,
425
- globalMeetingId: response === null || response === void 0 ? void 0 : (_response$body2 = response.body) === null || _response$body2 === void 0 ? void 0 : _response$body2.meetingId
424
+ webexConferenceIdStr: (response === null || response === void 0 ? void 0 : (_response$body = response.body) === null || _response$body === void 0 ? void 0 : _response$body.confIdStr) || (response === null || response === void 0 ? void 0 : (_response$body2 = response.body) === null || _response$body2 === void 0 ? void 0 : _response$body2.confID),
425
+ globalMeetingId: response === null || response === void 0 ? void 0 : (_response$body3 = response.body) === null || _response$body3 === void 0 ? void 0 : _response$body3.meetingId
426
426
  }
427
427
  });
428
428
  }
@@ -1 +1 @@
1
- {"version":3,"names":["PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","POLICY_ERROR_CODES","MeetingInfoV2PasswordError","wbxAppApiErrorCode","meetingInfo","message","name","sdkMessage","stack","Error","wbxAppApiCode","MeetingInfoV2AdhocMeetingError","MeetingInfoV2PolicyError","MeetingInfoV2CaptchaError","captchaInfo","isPasswordRequired","includes","MeetingInfoV2","webex","err","body","code","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","destination","type","MeetingInfoUtil","getDestinationType","conversationUrl","installedOrgID","meetings","preferredWebexSite","getInvitees","particpants","invitees","forEach","participant","push","email","emailAddress","ciUserUuid","entryUUID","internal","conversation","get","url","includeParticipants","disableTransform","then","title","displayName","spaceUrl","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","uri","request","method","HTTP_VERBS","POST","requestResult","ADHOC_MEETING_SUCCESS","catch","handlePolicyError","ADHOC_MEETING_FAILURE","reason","password","locusId","extraParams","options","meetingId","sendCAevents","destinationType","_CONVERSATION_URL_","config","experimental","enableAdhocMeetings","createAdhocSpaceMeeting","getRequestBody","DEFAULT_MEETING_INFO_REQUEST_BODY","length","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","requestOptions","getDirectMeetingInfoURI","directURI","service","WBXAPPAPI_SERVICE","resource","newMetrics","submitInternalEvent","submitClientEvent","response","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","statusCode","VERIFY_PASSWORD_ERROR","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n _CONVERSATION_URL_,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\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 sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = 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 * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\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 captchaInfo: any;\n isPasswordRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\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 webex: any;\n\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: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\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 * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\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\n .get({url: conversationUrl}, {includeParticipants: true, disableTransform: true})\n .then((conversation) => {\n const body: {\n title: string;\n spaceUrl: string;\n keyUrl: string;\n kroUrl: string;\n invitees: any[];\n installedOrgID?: string;\n } = {\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 if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\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 * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: string = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === _CONVERSATION_URL_ &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\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(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAMA;AACA;AAEA;AAAuC;AAAA;AAAA;AAAA;AAEvC,IAAMA,8BAA8B,GAClC,mEAAmE;AACrE,IAAMC,6BAA6B,GACjC,qEAAqE;AACvE,IAAMC,2BAA2B,GAC/B,iEAAiE;AACnE,IAAMC,qCAAqC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AAC9D,IAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3E;AACA;AACA;AAFA,IAGaC,0BAA0B;EAAA;EAAA;EAMrC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,oCACEC,kBAA2B,EAC3BC,WAAoB,EAEpB;IAAA;IAAA,IADAC,OAAe,uEAAGR,8BAA8B;IAAA;IAEhD,oCAASQ,OAAO,oBAAUF,kBAAkB;IAAI;IAAA;IAAA;IAAA;IAChD,MAAKG,IAAI,GAAG,4BAA4B;IACxC,MAAKC,UAAU,GAAGF,OAAO;IACzB,MAAKG,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK;IAC9B,MAAKE,aAAa,GAAGP,kBAAkB;IACvC,MAAKC,WAAW,GAAGA,WAAW;IAAC;EACjC;EAAC;AAAA,+CAxB6CK,KAAK;AA2BrD;AACA;AACA;AAFA;AAAA,IAGaE,8BAA8B;EAAA;EAAA;EAGzC;AACF;AACA;AACA;AACA;AACA;EACE,wCAAYR,kBAA2B,EAAiD;IAAA;IAAA,IAA/CE,OAAe,uEAAGN,2BAA2B;IAAA;IACpF,sCAASM,OAAO,oBAAUF,kBAAkB;IAAI;IAAA;IAChD,OAAKG,IAAI,GAAG,gCAAgC;IAC5C,OAAKC,UAAU,GAAGF,OAAO;IACzB,OAAKG,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK;IAC9B,OAAKE,aAAa,GAAGP,kBAAkB;IAAC;EAC1C;EAAC;AAAA,+CAfiDM,KAAK;AAkBzD;AACA;AACA;AAFA;AAAA,IAGaG,wBAAwB;EAAA;EAAA;EAInC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,kCAAYT,kBAA2B,EAAEC,WAAoB,EAAEC,OAAgB,EAAE;IAAA;IAAA;IAC/E,sCAASA,OAAO,oBAAUF,kBAAkB;IAAI;IAAA;IAAA;IAChD,OAAKG,IAAI,GAAG,gCAAgC;IAC5C,OAAKC,UAAU,GAAGF,OAAO;IACzB,OAAKG,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK;IAC9B,OAAKE,aAAa,GAAGP,kBAAkB;IACvC,OAAKC,WAAW,GAAGA,WAAW;IAAC;EACjC;EAAC;AAAA,+CAlB2CK,KAAK;AAqBnD;AACA;AACA;AAFA;AAAA,IAGaI,yBAAyB;EAAA;EAAA;EAMpC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,mCACEV,kBAA2B,EAC3BW,WAAoB,EAEpB;IAAA;IAAA,IADAT,OAAe,uEAAGP,6BAA6B;IAAA;IAE/C,sCAASO,OAAO,oBAAUF,kBAAkB;IAAI;IAAA;IAAA;IAAA;IAAA;IAChD,OAAKG,IAAI,GAAG,4BAA4B;IACxC,OAAKC,UAAU,GAAGF,OAAO;IACzB,OAAKG,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK;IAC9B,OAAKE,aAAa,GAAGP,kBAAkB;IACvC,OAAKY,kBAAkB,GAAGf,qCAAqC,CAACgB,QAAQ,CAACb,kBAAkB,CAAC;IAC5F,OAAKW,WAAW,GAAGA,WAAW;IAAC;EACjC;EAAC;AAAA,+CAzB4CL,KAAK;AA4BpD;AACA;AACA;AAFA;AAAA,IAGqBQ,aAAa;EAGhC;AACF;AACA;AACA;EACE,uBAAYC,KAAK,EAAE;IAAA;IAAA;IAAA,yDAyBC,UAACC,GAAG,EAAK;MAAA;MAC3B,IAAI,CAACA,GAAG,CAACC,IAAI,EAAE;QACb;MACF;MAEA,IAAInB,kBAAkB,CAACe,QAAQ,cAACG,GAAG,CAACC,IAAI,8CAAR,UAAUC,IAAI,CAAC,EAAE;QAAA;QAC/CC,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACC,yBAAyB,EAAE;UACzEJ,IAAI,gBAAEF,GAAG,CAACC,IAAI,+CAAR,WAAUC;QAClB,CAAC,CAAC;QAEF,MAAM,IAAIT,wBAAwB,eAChCO,GAAG,CAACC,IAAI,+CAAR,WAAUC,IAAI,gBACdF,GAAG,CAACC,IAAI,kEAAR,WAAUM,IAAI,oDAAd,gBAAgBtB,WAAW,gBAC3Be,GAAG,CAACC,IAAI,+CAAR,WAAUf,OAAO,CAClB;MACH;IACF,CAAC;IAxCC,IAAI,CAACa,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,0BAAiBS,WAAmB,EAAuB;MAAA,IAArBC,IAAY,uEAAG,IAAI;MACvD,OAAOC,cAAe,CAACC,kBAAkB,CAAC;QACxCH,WAAW,EAAXA,WAAW;QACXC,IAAI,EAAJA,IAAI;QACJV,KAAK,EAAE,IAAI,CAACA;MACd,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA;IAuBA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPE;MAAA,uGAQA,iBAA8Ba,eAAuB,EAAEC,cAAuB;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA,IACvE,IAAI,CAACd,KAAK,CAACe,QAAQ,CAACC,kBAAkB;gBAAA;gBAAA;cAAA;cAAA,MACnCzB,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAExC0B,WAAW,GAAG,SAAdA,WAAW,GAAyB;gBAAA,IAArBC,WAAW,uEAAG,EAAE;gBACnC,IAAMC,QAAQ,GAAG,EAAE;gBAEnB,IAAID,WAAW,EAAE;kBACfA,WAAW,CAACE,OAAO,CAAC,UAACC,WAAW,EAAK;oBACnCF,QAAQ,CAACG,IAAI,CAAC;sBACZC,KAAK,EAAEF,WAAW,CAACG,YAAY;sBAC/BC,UAAU,EAAEJ,WAAW,CAACK;oBAC1B,CAAC,CAAC;kBACJ,CAAC,CAAC;gBACJ;gBAEA,OAAOP,QAAQ;cACjB,CAAC;cAAA,iCAEM,IAAI,CAACnB,KAAK,CAAC2B,QAAQ,CAACC,YAAY,CACpCC,GAAG,CAAC;gBAACC,GAAG,EAAEjB;cAAe,CAAC,EAAE;gBAACkB,mBAAmB,EAAE,IAAI;gBAAEC,gBAAgB,EAAE;cAAI,CAAC,CAAC,CAChFC,IAAI,CAAC,UAACL,YAAY,EAAK;gBAAA;gBACtB,IAAM1B,IAOL,GAAG;kBACFgC,KAAK,EAAEN,YAAY,CAACO,WAAW;kBAC/BC,QAAQ,EAAER,YAAY,CAACE,GAAG;kBAC1BO,MAAM,EAAET,YAAY,CAACU,gBAAgB;kBACrCC,MAAM,EAAEX,YAAY,CAACY,oBAAoB;kBACzCrB,QAAQ,EAAEF,WAAW,0BAACW,YAAY,CAACa,YAAY,0DAAzB,sBAA2BC,KAAK;gBACxD,CAAC;gBAED,IAAI5B,cAAc,EAAE;kBAClBZ,IAAI,CAACY,cAAc,GAAGA,cAAc;gBACtC;gBAEA,IAAM6B,GAAG,GAAG,MAAI,CAAC3C,KAAK,CAACe,QAAQ,CAACC,kBAAkB,qBACnC,MAAI,CAAChB,KAAK,CAACe,QAAQ,CAACC,kBAAkB,2CACjD,EAAE;gBAEN,OAAO,MAAI,CAAChB,KAAK,CAAC4C,OAAO,CAAC;kBACxBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;kBACvBJ,GAAG,EAAHA,GAAG;kBACHzC,IAAI,EAAJA;gBACF,CAAC,CAAC;cACJ,CAAC,CAAC,CACD+B,IAAI,CAAC,UAACe,aAAa,EAAK;gBACvB5C,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC2C,qBAAqB,CAAC;gBAEtE,OAAOD,aAAa;cACtB,CAAC,CAAC,CACDE,KAAK,CAAC,UAACjD,GAAG,EAAK;gBAAA;gBACd,MAAI,CAACkD,iBAAiB,CAAClD,GAAG,CAAC;gBAE3BG,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC8C,qBAAqB,EAAE;kBACrEC,MAAM,EAAEpD,GAAG,CAACd,OAAO;kBACnBG,KAAK,EAAEW,GAAG,CAACX;gBACb,CAAC,CAAC;gBACF,MAAM,IAAIG,8BAA8B,eAACQ,GAAG,CAACC,IAAI,+CAAR,WAAUC,IAAI,gBAAEF,GAAG,CAACC,IAAI,+CAAR,WAAUf,OAAO,CAAC;cAC7E,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACL;MAAA;QAAA;MAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAfE;IAAA;IAAA;MAAA,gGAgBA,kBACEsB,WAAmB;QAAA;QAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cACnBC,IAAY,8DAAG,IAAI;cACnB4C,QAAgB,8DAAG,IAAI;cACvB1D,WAGC,8DAAG,IAAI;cACRkB,cAAc,8DAAG,IAAI;cACrByC,OAAO,8DAAG,IAAI;cACdC,WAAmB,8DAAG,CAAC,CAAC;cACxBC,OAAqD,8DAAG,CAAC,CAAC;cAEnDC,SAAS,GAAkBD,OAAO,CAAlCC,SAAS,EAAEC,YAAY,GAAIF,OAAO,CAAvBE,YAAY;cAAA;cAAA,OAEAhD,cAAe,CAACC,kBAAkB,CAAC;gBAC/DH,WAAW,EAAXA,WAAW;gBACXC,IAAI,EAAJA,IAAI;gBACJV,KAAK,EAAE,IAAI,CAACA;cACd,CAAC,CAAC;YAAA;cAJI4D,eAAe;cAAA,MAOnBA,eAAe,CAAClD,IAAI,KAAKmD,6BAAkB,IAC3C,IAAI,CAAC7D,KAAK,CAAC8D,MAAM,CAAC/C,QAAQ,CAACgD,YAAY,CAACC,mBAAmB,IAC3D,IAAI,CAAChE,KAAK,CAACe,QAAQ,CAACC,kBAAkB;gBAAA;gBAAA;cAAA;cAAA,kCAE/B,IAAI,CAACiD,uBAAuB,CAACL,eAAe,CAACnD,WAAW,EAAEK,cAAc,CAAC;YAAA;cAAA;cAAA,OAG/DH,cAAe,CAACuD,cAAc,iCAC5CN,eAAe;gBAClBN,QAAQ,EAARA,QAAQ;gBACR1D,WAAW,EAAXA,WAAW;gBACXkB,cAAc,EAAdA,cAAc;gBACdyC,OAAO,EAAPA,OAAO;gBACPC,WAAW,EAAXA;cAAW,GACX;YAAA;cAPItD,IAAI;cAAA,IAYP,0BAAkB,mBAAYA,IAAI,CAAC,EAAE,mBAAYiE,4CAAiC,CAAC,CAAC,CAACC,MAAM;gBAAA;gBAAA;cAAA;cAEtFnE,GAAG,GAAG,IAAIV,KAAK,CAAC,8CAA8C,CAAC;cACrEa,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+D,6BAA6B,EAAE;gBAC7EhB,MAAM,EAAEpD,GAAG,CAACd,OAAO;gBACnByE,eAAe,EAAEA,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAElD,IAAI;gBACtC4D,cAAc,EAAEV,eAAe,aAAfA,eAAe,gDAAfA,eAAe,CAAEW,IAAI,0DAArB,sBAAuBD,cAAc;gBACrDE,MAAM,EAAEZ,eAAe,aAAfA,eAAe,iDAAfA,eAAe,CAAEW,IAAI,2DAArB,uBAAuBC;cACjC,CAAC,CAAC;cAAC,MAEGvE,GAAG;YAAA;cAGLwE,cAAmB,GAAG;gBAC1B5B,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvB7C,IAAI,EAAJA;cACF,CAAC;cAAA;cAAA,OAEuBS,cAAe,CAAC+D,uBAAuB,CAACd,eAAe,CAAC;YAAA;cAA1Ee,SAAS;cAEf,IAAIA,SAAS,EAAE;gBACbF,cAAc,CAAC9B,GAAG,GAAGgC,SAAS;cAChC,CAAC,MAAM;gBACLF,cAAc,CAACG,OAAO,GAAGC,4BAAiB;gBAC1CJ,cAAc,CAACK,QAAQ,GAAG,aAAa;cACzC;cAEA,IAAIpB,SAAS,IAAIC,YAAY,EAAE;gBAC7B,IAAI,CAAC3D,KAAK,CAAC2B,QAAQ,CAACoD,UAAU,CAACC,mBAAmB,CAAC;kBACjD5F,IAAI,EAAE;gBACR,CAAC,CAAC;gBAEF,IAAI,CAACY,KAAK,CAAC2B,QAAQ,CAACoD,UAAU,CAACE,iBAAiB,CAAC;kBAC/C7F,IAAI,EAAE,4BAA4B;kBAClCqE,OAAO,EAAE;oBACPC,SAAS,EAATA;kBACF;gBACF,CAAC,CAAC;cACJ;cAAC,kCAEM,IAAI,CAAC1D,KAAK,CACd4C,OAAO,CAAC6B,cAAc,CAAC,CACvBxC,IAAI,CAAC,UAACiD,QAAQ,EAAK;gBAClB,IAAIxB,SAAS,IAAIC,YAAY,EAAE;kBAAA;kBAC7B,MAAI,CAAC3D,KAAK,CAAC2B,QAAQ,CAACoD,UAAU,CAACC,mBAAmB,CAAC;oBACjD5F,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEF,MAAI,CAACY,KAAK,CAAC2B,QAAQ,CAACoD,UAAU,CAACE,iBAAiB,CAAC;oBAC/C7F,IAAI,EAAE,6BAA6B;oBACnC+F,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAEH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEpD;sBAC9B;oBACF,CAAC;oBACD2B,OAAO,EAAE;sBACPC,SAAS,EAATA,SAAS;sBACT4B,oBAAoB,EAAEJ,QAAQ,aAARA,QAAQ,yCAARA,QAAQ,CAAEhF,IAAI,mDAAd,eAAgBqF,MAAM;sBAC5CC,eAAe,EAAEN,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEhF,IAAI,oDAAd,gBAAgBwD;oBACnC;kBACF,CAAC,CAAC;gBACJ;gBACAtD,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACmF,6BAA6B,CAAC;gBAE9E,OAAOP,QAAQ;cACjB,CAAC,CAAC,CACDhC,KAAK,CAAC,UAACjD,GAAG,EAAK;gBACd,IAAIyD,SAAS,IAAIC,YAAY,EAAE;kBAC7B,MAAI,CAAC3D,KAAK,CAAC2B,QAAQ,CAACoD,UAAU,CAACC,mBAAmB,CAAC;oBACjD5F,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEF,MAAI,CAACY,KAAK,CAAC2B,QAAQ,CAACoD,UAAU,CAACE,iBAAiB,CAAC;oBAC/C7F,IAAI,EAAE,6BAA6B;oBACnC+F,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAEpF,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE6B;sBACzB;oBACF,CAAC;oBACD2B,OAAO,EAAE;sBACPC,SAAS,EAATA,SAAS;sBACTgC,QAAQ,EAAEzF;oBACZ;kBACF,CAAC,CAAC;gBACJ;gBAEA,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0F,UAAU,MAAK,GAAG,EAAE;kBAAA;kBAC3B,MAAI,CAACxC,iBAAiB,CAAClD,GAAG,CAAC;kBAE3BG,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACsF,qBAAqB,EAAE;oBACrEvC,MAAM,EAAEpD,GAAG,CAACd,OAAO;oBACnBG,KAAK,EAAEW,GAAG,CAACX;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIN,0BAA0B,eAACiB,GAAG,CAACC,IAAI,+CAAR,WAAUC,IAAI,gBAAEF,GAAG,CAACC,IAAI,kEAAR,WAAUM,IAAI,oDAAd,gBAAgBtB,WAAW,CAAC;gBACnF;gBACA,IAAI,CAAAe,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0F,UAAU,MAAK,GAAG,EAAE;kBAAA;kBAC3BvF,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACuF,oBAAoB,EAAE;oBACpExC,MAAM,EAAEpD,GAAG,CAACd,OAAO;oBACnBG,KAAK,EAAEW,GAAG,CAACX;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIK,yBAAyB,gBAACM,GAAG,CAACC,IAAI,gDAAR,YAAUC,IAAI,EAAE;oBAClD2F,SAAS,EAAE7F,GAAG,CAACC,IAAI,CAAC6F,SAAS;oBAC7BC,oBAAoB,EAAE/F,GAAG,CAACC,IAAI,CAAC8F,oBAAoB;oBACnDC,oBAAoB,EAAEhG,GAAG,CAACC,IAAI,CAAC+F,oBAAoB;oBACnDC,UAAU,EAAEjG,GAAG,CAACC,IAAI,CAACgG;kBACvB,CAAC,CAAC;gBACJ;gBAEA9F,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+D,6BAA6B,EAAE;kBAC7EhB,MAAM,EAAEpD,GAAG,CAACd,OAAO;kBACnBG,KAAK,EAAEW,GAAG,CAACX;gBACb,CAAC,CAAC;gBACF,MAAMW,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACL;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA"}
1
+ {"version":3,"names":["PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","POLICY_ERROR_CODES","MeetingInfoV2PasswordError","wbxAppApiErrorCode","meetingInfo","message","name","sdkMessage","stack","Error","wbxAppApiCode","MeetingInfoV2AdhocMeetingError","MeetingInfoV2PolicyError","MeetingInfoV2CaptchaError","captchaInfo","isPasswordRequired","includes","MeetingInfoV2","webex","err","body","code","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","destination","type","MeetingInfoUtil","getDestinationType","conversationUrl","installedOrgID","meetings","preferredWebexSite","getInvitees","particpants","invitees","forEach","participant","push","email","emailAddress","ciUserUuid","entryUUID","internal","conversation","get","url","includeParticipants","disableTransform","then","title","displayName","spaceUrl","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","uri","request","method","HTTP_VERBS","POST","requestResult","ADHOC_MEETING_SUCCESS","catch","handlePolicyError","ADHOC_MEETING_FAILURE","reason","password","locusId","extraParams","options","meetingId","sendCAevents","destinationType","_CONVERSATION_URL_","config","experimental","enableAdhocMeetings","createAdhocSpaceMeeting","getRequestBody","DEFAULT_MEETING_INFO_REQUEST_BODY","length","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","requestOptions","getDirectMeetingInfoURI","directURI","service","WBXAPPAPI_SERVICE","resource","newMetrics","submitInternalEvent","submitClientEvent","response","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","statusCode","VERIFY_PASSWORD_ERROR","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n _CONVERSATION_URL_,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\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 sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = 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 * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\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 captchaInfo: any;\n isPasswordRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\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 webex: any;\n\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: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\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 * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\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\n .get({url: conversationUrl}, {includeParticipants: true, disableTransform: true})\n .then((conversation) => {\n const body: {\n title: string;\n spaceUrl: string;\n keyUrl: string;\n kroUrl: string;\n invitees: any[];\n installedOrgID?: string;\n } = {\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 if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\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 * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: string = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === _CONVERSATION_URL_ &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\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(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":"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"}
@@ -62,7 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
62
62
  updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
63
63
  this.set('canManageWebcast', canManageWebcast);
64
64
  },
65
- version: "3.0.0-beta.290"
65
+ version: "3.0.0-beta.291"
66
66
  });
67
67
  var _default = Webinar;
68
68
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.290",
3
+ "version": "3.0.0-beta.291",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -32,12 +32,12 @@
32
32
  "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
33
33
  },
34
34
  "devDependencies": {
35
- "@webex/plugin-meetings": "3.0.0-beta.290",
36
- "@webex/test-helper-chai": "3.0.0-beta.290",
37
- "@webex/test-helper-mocha": "3.0.0-beta.290",
38
- "@webex/test-helper-mock-webex": "3.0.0-beta.290",
39
- "@webex/test-helper-retry": "3.0.0-beta.290",
40
- "@webex/test-helper-test-users": "3.0.0-beta.290",
35
+ "@webex/plugin-meetings": "3.0.0-beta.291",
36
+ "@webex/test-helper-chai": "3.0.0-beta.291",
37
+ "@webex/test-helper-mocha": "3.0.0-beta.291",
38
+ "@webex/test-helper-mock-webex": "3.0.0-beta.291",
39
+ "@webex/test-helper-retry": "3.0.0-beta.291",
40
+ "@webex/test-helper-test-users": "3.0.0-beta.291",
41
41
  "chai": "^4.3.4",
42
42
  "chai-as-promised": "^7.1.1",
43
43
  "jsdom-global": "3.0.2",
@@ -46,19 +46,19 @@
46
46
  "typescript": "^4.7.4"
47
47
  },
48
48
  "dependencies": {
49
- "@webex/common": "3.0.0-beta.290",
49
+ "@webex/common": "3.0.0-beta.291",
50
50
  "@webex/internal-media-core": "2.1.0",
51
- "@webex/internal-plugin-conversation": "3.0.0-beta.290",
52
- "@webex/internal-plugin-device": "3.0.0-beta.290",
53
- "@webex/internal-plugin-llm": "3.0.0-beta.290",
54
- "@webex/internal-plugin-mercury": "3.0.0-beta.290",
55
- "@webex/internal-plugin-metrics": "3.0.0-beta.290",
56
- "@webex/internal-plugin-support": "3.0.0-beta.290",
57
- "@webex/internal-plugin-user": "3.0.0-beta.290",
58
- "@webex/media-helpers": "3.0.0-beta.290",
59
- "@webex/plugin-people": "3.0.0-beta.290",
60
- "@webex/plugin-rooms": "3.0.0-beta.290",
61
- "@webex/webex-core": "3.0.0-beta.290",
51
+ "@webex/internal-plugin-conversation": "3.0.0-beta.291",
52
+ "@webex/internal-plugin-device": "3.0.0-beta.291",
53
+ "@webex/internal-plugin-llm": "3.0.0-beta.291",
54
+ "@webex/internal-plugin-mercury": "3.0.0-beta.291",
55
+ "@webex/internal-plugin-metrics": "3.0.0-beta.291",
56
+ "@webex/internal-plugin-support": "3.0.0-beta.291",
57
+ "@webex/internal-plugin-user": "3.0.0-beta.291",
58
+ "@webex/media-helpers": "3.0.0-beta.291",
59
+ "@webex/plugin-people": "3.0.0-beta.291",
60
+ "@webex/plugin-rooms": "3.0.0-beta.291",
61
+ "@webex/webex-core": "3.0.0-beta.291",
62
62
  "ampersand-collection": "^2.0.2",
63
63
  "bowser": "^2.11.0",
64
64
  "btoa": "^1.2.1",
@@ -100,7 +100,7 @@ export default class MeetingInfo {
100
100
  },
101
101
  options: {
102
102
  meetingId,
103
- webexConferenceIdStr: info?.body?.confID,
103
+ webexConferenceIdStr: info?.body?.confIdStr || info?.body?.confID,
104
104
  globalMeetingId: info?.body?.meetingId,
105
105
  },
106
106
  });
@@ -366,7 +366,7 @@ export default class MeetingInfoV2 {
366
366
  },
367
367
  options: {
368
368
  meetingId,
369
- webexConferenceIdStr: response?.body?.confID,
369
+ webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,
370
370
  globalMeetingId: response?.body?.meetingId,
371
371
  },
372
372
  });
@@ -25,13 +25,14 @@ describe('plugin-meetings', () => {
25
25
  });
26
26
 
27
27
  describe('#fetchMeetingInfo', () => {
28
- const checkResolvedFetchMeetingInfo = async ({meetingId, sendCAevents, shouldSendCAMetrics}) => {
28
+ const checkResolvedFetchMeetingInfo = async ({meetingId, sendCAevents, shouldSendCAMetrics, confIdStrProp}) => {
29
29
  const body = {meetingKey: '1234323', url: 'url-123', confID: '123', meetingId: '321'};
30
+ const bodyConfIdStr = {meetingKey: '1234323', url: 'url-123', confIdStr: '123', meetingId: '321'};
30
31
 
31
32
  sinon
32
33
  .stub(MeetingInfoUtil, 'generateOptions')
33
34
  .resolves({type: 'MEETING_ID', destination: '123456'});
34
- sinon.stub(MeetingInfoRequest.prototype, 'fetchMeetingInfo').returns(Promise.resolve(body));
35
+ sinon.stub(MeetingInfoRequest.prototype, 'fetchMeetingInfo').returns(Promise.resolve(confIdStrProp ? bodyConfIdStr : body));
35
36
 
36
37
  await meetingInfo.fetchMeetingInfo('1234323', _MEETING_ID_, null, null, null, null, null, {
37
38
  meetingId,
@@ -79,6 +80,10 @@ describe('plugin-meetings', () => {
79
80
  checkResolvedFetchMeetingInfo({meetingId: 'meetingId', sendCAevents: true, shouldSendCAMetrics: true});
80
81
  });
81
82
 
83
+ it('should send ca events if meetingId present and send CA events is authorized and confIdStrProp is true', async () => {
84
+ checkResolvedFetchMeetingInfo({meetingId: 'meetingId', sendCAevents: true, shouldSendCAMetrics: true, confIdStrProp: true});
85
+ });
86
+
82
87
  it('should not send ca events if meetingId not present even if CA events are authorized', async () => {
83
88
  checkResolvedFetchMeetingInfo({sendCAevents: true, shouldSendCAMetrics: false});
84
89
  });
@@ -27,6 +27,7 @@ import MeetingInfoUtil from '@webex/plugin-meetings/src/meeting-info/utilv2';
27
27
  import Metrics from '@webex/plugin-meetings/src/metrics';
28
28
  import BEHAVIORAL_METRICS from '@webex/plugin-meetings/src/metrics/constants';
29
29
  import {forEach} from 'lodash';
30
+ import { request } from 'express';
30
31
 
31
32
  describe('plugin-meetings', () => {
32
33
  const conversation = {
@@ -478,10 +479,14 @@ describe('plugin-meetings', () => {
478
479
  {sendCAevents: true, shouldSendCAevents: false},
479
480
  {meetingId: '123', sendCAevents: false, shouldSendCAevents: false},
480
481
  {shouldSendCAevents: false},
482
+ {meetingId: '123', sendCAevents: true, shouldSendCAevents: true, confIdStr: '999'},
481
483
  ],
482
- ({meetingId, sendCAevents, shouldSendCAevents}) => {
484
+ ({meetingId, sendCAevents, shouldSendCAevents, confIdStr}) => {
483
485
  it('should send CA metric if meetingId is provided and send CA events is authorized', async () => {
484
486
  const requestResponse = {statusCode: 200, body: {meetingKey: '1234323', meetingId: '123', confID: '321'}};
487
+ if (confIdStr) {
488
+ requestResponse.body.confIdStr = confIdStr;
489
+ }
485
490
  const extraParams = {mtid: 'm9fe0afd8c435e892afcce9ea25b97046', joinTXId: 'TSmrX61wNF'}
486
491
 
487
492
  webex.request.resolves(requestResponse);
@@ -542,7 +547,7 @@ describe('plugin-meetings', () => {
542
547
  options: {
543
548
  meetingId,
544
549
  globalMeetingId: requestResponse.body?.meetingId,
545
- webexConferenceIdStr: requestResponse.body?.confID,
550
+ webexConferenceIdStr: confIdStr ? requestResponse.body?.confIdStr : requestResponse.body?.confID,
546
551
  }
547
552
  });
548
553
  } else {