@webex/plugin-meetings 3.8.0-next.77 → 3.8.0-next.78

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.8.0-next.77"
212
+ version: "3.8.0-next.78"
213
213
  });
214
214
  var _default = exports.default = Breakout;
215
215
  //# sourceMappingURL=breakout.js.map
@@ -1110,7 +1110,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1110
1110
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1111
1111
  }
1112
1112
  },
1113
- version: "3.8.0-next.77"
1113
+ version: "3.8.0-next.78"
1114
1114
  });
1115
1115
  var _default = exports.default = Breakouts;
1116
1116
  //# sourceMappingURL=index.js.map
@@ -373,7 +373,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
373
373
  throw error;
374
374
  });
375
375
  },
376
- version: "3.8.0-next.77"
376
+ version: "3.8.0-next.78"
377
377
  });
378
378
  var _default = exports.default = SimultaneousInterpretation;
379
379
  //# sourceMappingURL=index.js.map
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.8.0-next.77"
21
+ version: "3.8.0-next.78"
22
22
  });
23
23
  var _default = exports.default = SILanguage;
24
24
  //# sourceMappingURL=siLanguage.js.map
@@ -720,6 +720,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
720
720
  * @param {Object} extraParams
721
721
  * @param {Object} options
722
722
  * @param {String} registrationId
723
+ * @param {String} fullSiteUrl
723
724
  * @returns {Promise} returns a meeting info object
724
725
  * @public
725
726
  * @memberof MeetingInfo
@@ -738,6 +739,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
738
739
  extraParams,
739
740
  options,
740
741
  registrationId,
742
+ fullSiteUrl,
741
743
  meetingId,
742
744
  sendCAevents,
743
745
  destinationType,
@@ -759,34 +761,36 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
759
761
  extraParams = _args6.length > 6 && _args6[6] !== undefined ? _args6[6] : {};
760
762
  options = _args6.length > 7 && _args6[7] !== undefined ? _args6[7] : {};
761
763
  registrationId = _args6.length > 8 && _args6[8] !== undefined ? _args6[8] : null;
764
+ fullSiteUrl = _args6.length > 9 && _args6[9] !== undefined ? _args6[9] : null;
762
765
  meetingId = options.meetingId, sendCAevents = options.sendCAevents;
763
- _context6.next = 11;
766
+ _context6.next = 12;
764
767
  return _utilv.default.getDestinationType({
765
768
  destination: destination,
766
769
  type: type,
767
770
  webex: this.webex
768
771
  });
769
- case 11:
772
+ case 12:
770
773
  destinationType = _context6.sent;
771
774
  if (!(destinationType.type === _constants.DESTINATION_TYPE.CONVERSATION_URL && this.webex.config.meetings.experimental.enableAdhocMeetings && this.webex.meetings.preferredWebexSite)) {
772
- _context6.next = 14;
775
+ _context6.next = 15;
773
776
  break;
774
777
  }
775
778
  return _context6.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID));
776
- case 14:
777
- _context6.next = 16;
779
+ case 15:
780
+ _context6.next = 17;
778
781
  return _utilv.default.getRequestBody(_objectSpread(_objectSpread({}, destinationType), {}, {
779
782
  password: password,
780
783
  captchaInfo: captchaInfo,
781
784
  installedOrgID: installedOrgID,
782
785
  locusId: locusId,
783
786
  extraParams: extraParams,
784
- registrationId: registrationId
787
+ registrationId: registrationId,
788
+ disableWebRedirect: true
785
789
  }));
786
- case 16:
790
+ case 17:
787
791
  body = _context6.sent;
788
792
  if (_lodash.default.difference((0, _keys.default)(body), (0, _keys.default)(_constants.DEFAULT_MEETING_INFO_REQUEST_BODY)).length) {
789
- _context6.next = 21;
793
+ _context6.next = 22;
790
794
  break;
791
795
  }
792
796
  err = new Error('Not enough information to fetch meeting info');
@@ -797,16 +801,18 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
797
801
  sipUri: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info2 = destinationType.info) === null || _destinationType$info2 === void 0 ? void 0 : _destinationType$info2.sipUri
798
802
  });
799
803
  throw err;
800
- case 21:
804
+ case 22:
801
805
  requestOptions = {
802
806
  method: _constants.HTTP_VERBS.POST,
803
807
  body: body
804
808
  };
805
- _context6.next = 24;
809
+ _context6.next = 25;
806
810
  return _utilv.default.getDirectMeetingInfoURI(destinationType);
807
- case 24:
811
+ case 25:
808
812
  directURI = _context6.sent;
809
- if (directURI) {
813
+ if (fullSiteUrl) {
814
+ requestOptions.uri = "https://".concat(fullSiteUrl, "/wbxappapi/v1/meetingInfo");
815
+ } else if (directURI) {
810
816
  requestOptions.uri = directURI;
811
817
  } else {
812
818
  requestOptions.service = _constants.WBXAPPAPI_SERVICE;
@@ -893,7 +899,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
893
899
  });
894
900
  throw err;
895
901
  }));
896
- case 28:
902
+ case 29:
897
903
  case "end":
898
904
  return _context6.stop();
899
905
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","MEETING_IS_IN_PROGRESS_MESSAGE","STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE","FETCH_STATIC_MEETING_LINK","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES","POLICY_ERROR_CODES","JOIN_FORBIDDEN_CODES","JOIN_WEBINAR_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","isRegistrationIdRequired","MeetingInfoV2JoinWebinarError","_Error5","_super5","_this5","MeetingInfoV2JoinForbiddenError","_Error6","_super6","_this6","MeetingInfoV2StaticLinkDoesNotExistError","_Error7","_super7","_this7","MeetingInfoV2MeetingIsInProgressError","_Error8","_super8","_this8","enable","MeetingInfoV2StaticMeetingLinkAlreadyExists","_Error9","_super9","_this9","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","JOIN_WEBINAR_ERROR","_err$body11","_err$body12","_err$body13","_err$body14","_err$body14$data","_err$body15","JOIN_FORBIDDEN_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeetingOrEnableStaticMeetingLink","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this10","enableStaticMeetingLink","getInvitees","_args","wrap","_callee$","_context","prev","next","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","schedule","meetings","preferredWebexSite","method","HTTP_VERBS","POST","stop","createAdhocSpaceMeetingOrEnableStaticMeetingLink","_x","_x2","_createAdhocSpaceMeeting","_callee2","_this11","_callee2$","_context2","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body16","_err$body17","handlePolicyError","handleJoinWebinarError","handleForbiddenError","ADHOC_MEETING_FAILURE","reason","createAdhocSpaceMeeting","_x3","_x4","_fetchStaticMeetingLink","_callee3","_callee3$","_context3","FETCH_STATIC_MEETING_LINK_SUCCESS","statusCode","_err$body18","_err$body19","MEETING_LINK_DOES_NOT_EXIST_ERROR","FETCH_STATIC_MEETING_LINK_FAILURE","fetchStaticMeetingLink","_x5","_enableStaticMeetingLink","_callee4","_callee4$","_context4","ENABLE_STATIC_METTING_LINK_SUCCESS","_err$body20","_err$body21","MEETING_IS_IN_PROGRESS_ERROR","_err$body22","_err$body23","STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR","ENABLE_STATIC_METTING_LINK_FAILURE","_x6","_disableStaticMeetingLink","_callee5","_callee5$","_context5","DISABLE_STATIC_MEETING_LINK_SUCCESS","_err$body24","_err$body25","DISABLE_STATIC_MEETING_LINK_FAILURE","disableStaticMeetingLink","_x7","_fetchMeetingInfo","_callee6","_this12","password","locusId","extraParams","options","registrationId","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args6","_callee6$","_context6","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","_err$body26","_err$body27","_err$body27$data","VERIFY_PASSWORD_ERROR","_err$body28","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x8"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\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 MEETING_IS_IN_PROGRESS_MESSAGE = 'Meeting is in progress';\nconst STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE = 'Static meeting link already exists';\nconst FETCH_STATIC_MEETING_LINK = 'Meeting link does not exists for conversation';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES = [423007];\n\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst JOIN_FORBIDDEN_CODES = [403003];\n/**\n * 403021 - Meeting registration is required\n * 403022 - Meeting registration is still pending\n * 403024 - Meeting registration have been rejected\n * 403137 - Registration ID verified failure\n * 423007 - Registration ID input too many time,please input captcha code\n * 403026 - Need to join meeting via webcast\n * 403037 - Meeting join required registration ID\n * 403137 - Registration ID verified failure\n *\n */\nconst JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];\n\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 isRegistrationIdRequired: 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.isRegistrationIdRequired =\n CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar have some error\n */\nexport class MeetingInfoV2JoinWebinarError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\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 = 'MeetingInfoV2JoinWebinarError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error preventing join because of a forbidden error\n */\nexport class MeetingInfoV2JoinForbiddenError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\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 = 'MeetingInfoV2JoinForbiddenError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error fetching static link for a conversation when it does not exist\n */\nexport class MeetingInfoV2StaticLinkDoesNotExistError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = FETCH_STATIC_MEETING_LINK) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticLinkDoesNotExistError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2MeetingIsInProgressError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n * @param {Boolean} [enable]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n message = MEETING_IS_IN_PROGRESS_MESSAGE,\n enable = false\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}, enable=${enable}`);\n this.name = 'MeetingInfoV2MeetingIsInProgressError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2StaticMeetingLinkAlreadyExists extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message = STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticMeetingLinkAlreadyExists';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\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 * Raises a handleJoinWebinarError for join webinar error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleJoinWebinarError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_WEBINAR_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_WEBINAR_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinWebinarError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleForbiddenError for join meeting forbidden error\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleForbiddenError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_FORBIDDEN_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_FORBIDDEN_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinForbiddenError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * helper function to either create an adhoc space meeting or enable static meeting link\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @param {Boolean} enableStaticMeetingLink whether or not to enable static meeting link\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeetingOrEnableStaticMeetingLink(\n conversationUrl: string,\n installedOrgID?: string,\n // setting this to true enables static meeting link\n enableStaticMeetingLink = false\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\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: 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 installedOrgID,\n schedule: enableStaticMeetingLink,\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 }\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\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, installedOrgID)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(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 details for static meeting link\n * @param {String} conversationUrl conversationUrl that's required to find static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async fetchStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/query`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_LINK_DOES_NOT_EXIST_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2StaticLinkDoesNotExistError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Enables static meeting link\n * @param {String} conversationUrl conversationUrl that's required to enable static meeting link\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async enableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, undefined, true)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message, true);\n }\n\n if (err?.statusCode === 409) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR,\n {\n reason: err.message,\n stack: err.stack,\n }\n );\n\n throw new MeetingInfoV2StaticMeetingLinkAlreadyExists(err.body?.code, err.body?.message);\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Disables static meeting link for given conversation url\n * @param {String} conversationUrl conversationUrl that's required to disable static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async disableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/deletePersistentMeeting`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\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 {DESTINATION_TYPE} [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 * @param {String} registrationId\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = 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 registrationId: string = null\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 === DESTINATION_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 registrationId,\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 this.handleJoinWebinarError(err);\n this.handleForbiddenError(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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"}
1
+ {"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","MEETING_IS_IN_PROGRESS_MESSAGE","STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE","FETCH_STATIC_MEETING_LINK","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES","POLICY_ERROR_CODES","JOIN_FORBIDDEN_CODES","JOIN_WEBINAR_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","isRegistrationIdRequired","MeetingInfoV2JoinWebinarError","_Error5","_super5","_this5","MeetingInfoV2JoinForbiddenError","_Error6","_super6","_this6","MeetingInfoV2StaticLinkDoesNotExistError","_Error7","_super7","_this7","MeetingInfoV2MeetingIsInProgressError","_Error8","_super8","_this8","enable","MeetingInfoV2StaticMeetingLinkAlreadyExists","_Error9","_super9","_this9","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","JOIN_WEBINAR_ERROR","_err$body11","_err$body12","_err$body13","_err$body14","_err$body14$data","_err$body15","JOIN_FORBIDDEN_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeetingOrEnableStaticMeetingLink","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this10","enableStaticMeetingLink","getInvitees","_args","wrap","_callee$","_context","prev","next","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","schedule","meetings","preferredWebexSite","method","HTTP_VERBS","POST","stop","createAdhocSpaceMeetingOrEnableStaticMeetingLink","_x","_x2","_createAdhocSpaceMeeting","_callee2","_this11","_callee2$","_context2","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body16","_err$body17","handlePolicyError","handleJoinWebinarError","handleForbiddenError","ADHOC_MEETING_FAILURE","reason","createAdhocSpaceMeeting","_x3","_x4","_fetchStaticMeetingLink","_callee3","_callee3$","_context3","FETCH_STATIC_MEETING_LINK_SUCCESS","statusCode","_err$body18","_err$body19","MEETING_LINK_DOES_NOT_EXIST_ERROR","FETCH_STATIC_MEETING_LINK_FAILURE","fetchStaticMeetingLink","_x5","_enableStaticMeetingLink","_callee4","_callee4$","_context4","ENABLE_STATIC_METTING_LINK_SUCCESS","_err$body20","_err$body21","MEETING_IS_IN_PROGRESS_ERROR","_err$body22","_err$body23","STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR","ENABLE_STATIC_METTING_LINK_FAILURE","_x6","_disableStaticMeetingLink","_callee5","_callee5$","_context5","DISABLE_STATIC_MEETING_LINK_SUCCESS","_err$body24","_err$body25","DISABLE_STATIC_MEETING_LINK_FAILURE","disableStaticMeetingLink","_x7","_fetchMeetingInfo","_callee6","_this12","password","locusId","extraParams","options","registrationId","fullSiteUrl","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args6","_callee6$","_context6","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","disableWebRedirect","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","_err$body26","_err$body27","_err$body27$data","VERIFY_PASSWORD_ERROR","_err$body28","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x8"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\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 MEETING_IS_IN_PROGRESS_MESSAGE = 'Meeting is in progress';\nconst STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE = 'Static meeting link already exists';\nconst FETCH_STATIC_MEETING_LINK = 'Meeting link does not exists for conversation';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES = [423007];\n\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst JOIN_FORBIDDEN_CODES = [403003];\n/**\n * 403021 - Meeting registration is required\n * 403022 - Meeting registration is still pending\n * 403024 - Meeting registration have been rejected\n * 403137 - Registration ID verified failure\n * 423007 - Registration ID input too many time,please input captcha code\n * 403026 - Need to join meeting via webcast\n * 403037 - Meeting join required registration ID\n * 403137 - Registration ID verified failure\n *\n */\nconst JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];\n\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 isRegistrationIdRequired: 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.isRegistrationIdRequired =\n CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar have some error\n */\nexport class MeetingInfoV2JoinWebinarError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\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 = 'MeetingInfoV2JoinWebinarError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error preventing join because of a forbidden error\n */\nexport class MeetingInfoV2JoinForbiddenError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\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 = 'MeetingInfoV2JoinForbiddenError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error fetching static link for a conversation when it does not exist\n */\nexport class MeetingInfoV2StaticLinkDoesNotExistError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = FETCH_STATIC_MEETING_LINK) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticLinkDoesNotExistError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2MeetingIsInProgressError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n * @param {Boolean} [enable]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n message = MEETING_IS_IN_PROGRESS_MESSAGE,\n enable = false\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}, enable=${enable}`);\n this.name = 'MeetingInfoV2MeetingIsInProgressError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2StaticMeetingLinkAlreadyExists extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message = STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticMeetingLinkAlreadyExists';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\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 * Raises a handleJoinWebinarError for join webinar error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleJoinWebinarError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_WEBINAR_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_WEBINAR_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinWebinarError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleForbiddenError for join meeting forbidden error\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleForbiddenError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_FORBIDDEN_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_FORBIDDEN_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinForbiddenError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * helper function to either create an adhoc space meeting or enable static meeting link\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @param {Boolean} enableStaticMeetingLink whether or not to enable static meeting link\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeetingOrEnableStaticMeetingLink(\n conversationUrl: string,\n installedOrgID?: string,\n // setting this to true enables static meeting link\n enableStaticMeetingLink = false\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\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: 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 installedOrgID,\n schedule: enableStaticMeetingLink,\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 }\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\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, installedOrgID)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(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 details for static meeting link\n * @param {String} conversationUrl conversationUrl that's required to find static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async fetchStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/query`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_LINK_DOES_NOT_EXIST_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2StaticLinkDoesNotExistError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Enables static meeting link\n * @param {String} conversationUrl conversationUrl that's required to enable static meeting link\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async enableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, undefined, true)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message, true);\n }\n\n if (err?.statusCode === 409) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR,\n {\n reason: err.message,\n stack: err.stack,\n }\n );\n\n throw new MeetingInfoV2StaticMeetingLinkAlreadyExists(err.body?.code, err.body?.message);\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Disables static meeting link for given conversation url\n * @param {String} conversationUrl conversationUrl that's required to disable static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async disableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/deletePersistentMeeting`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\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 {DESTINATION_TYPE} [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 * @param {String} registrationId\n * @param {String} fullSiteUrl\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = 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 registrationId: string = null,\n fullSiteUrl: string = null\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 === DESTINATION_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 registrationId,\n disableWebRedirect: true,\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 (fullSiteUrl) {\n requestOptions.uri = `https://${fullSiteUrl}/wbxappapi/v1/meetingInfo`;\n } else 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 this.handleJoinWebinarError(err);\n this.handleForbiddenError(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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"}
@@ -282,7 +282,8 @@ var MeetingInfoUtil = exports.default = /*#__PURE__*/function () {
282
282
  installedOrgID = options.installedOrgID,
283
283
  locusId = options.locusId,
284
284
  extraParams = options.extraParams,
285
- registrationId = options.registrationId;
285
+ registrationId = options.registrationId,
286
+ disableWebRedirect = options.disableWebRedirect;
286
287
  var body = _objectSpread(_objectSpread({}, _constants.DEFAULT_MEETING_INFO_REQUEST_BODY), extraParams);
287
288
  switch (type) {
288
289
  case _constants.DESTINATION_TYPE.SIP_URI:
@@ -332,6 +333,9 @@ var MeetingInfoUtil = exports.default = /*#__PURE__*/function () {
332
333
  if (locusId) {
333
334
  body.locusId = locusId;
334
335
  }
336
+ if (disableWebRedirect) {
337
+ body.disableWebRedirect = disableWebRedirect;
338
+ }
335
339
  return body;
336
340
  }
337
341
 
@@ -1 +1 @@
1
- {"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","search","JOIN_LINK_MTID","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","DESTINATION_TYPE","PERSONAL_ROOM","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","MEETING_LINK","SIP_URI","CONVERSATION_URL","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","registrationId","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","MEETING_ID","meetingKey","conversationUrl","LOCUS_ID","info","webExMeetingId","meetingUrl","MEETING_UUID","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n DESTINATION_TYPE,\n _PEOPLE_,\n _ROOM_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n JOIN_LINK_MTID,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`) ||\n (parsedUrl.search && parsedUrl.search.includes(JOIN_LINK_MTID)));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === DESTINATION_TYPE.PERSONAL_ROOM) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = DESTINATION_TYPE.MEETING_LINK;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = DESTINATION_TYPE.CONVERSATION_URL;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = DESTINATION_TYPE.SIP_URI;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {DESTINATION_TYPE} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: DESTINATION_TYPE; destination: object} | any) {\n const {\n type,\n destination,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n registrationId,\n } = options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n body.sipUrl = destination;\n break;\n case DESTINATION_TYPE.PERSONAL_ROOM:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case DESTINATION_TYPE.MEETING_ID:\n body.meetingKey = destination;\n break;\n case DESTINATION_TYPE.CONVERSATION_URL:\n body.conversationUrl = destination;\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case DESTINATION_TYPE.MEETING_LINK:\n body.meetingUrl = destination;\n break;\n case DESTINATION_TYPE.MEETING_UUID: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (registrationId) {\n body.registrationId = registrationId;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","search","JOIN_LINK_MTID","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","DESTINATION_TYPE","PERSONAL_ROOM","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","MEETING_LINK","SIP_URI","CONVERSATION_URL","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","registrationId","disableWebRedirect","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","MEETING_ID","meetingKey","conversationUrl","LOCUS_ID","info","webExMeetingId","meetingUrl","MEETING_UUID","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n DESTINATION_TYPE,\n _PEOPLE_,\n _ROOM_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n JOIN_LINK_MTID,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`) ||\n (parsedUrl.search && parsedUrl.search.includes(JOIN_LINK_MTID)));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === DESTINATION_TYPE.PERSONAL_ROOM) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = DESTINATION_TYPE.MEETING_LINK;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = DESTINATION_TYPE.CONVERSATION_URL;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = DESTINATION_TYPE.SIP_URI;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {DESTINATION_TYPE} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: DESTINATION_TYPE; destination: object} | any) {\n const {\n type,\n destination,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n registrationId,\n disableWebRedirect,\n } = options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n body.sipUrl = destination;\n break;\n case DESTINATION_TYPE.PERSONAL_ROOM:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case DESTINATION_TYPE.MEETING_ID:\n body.meetingKey = destination;\n break;\n case DESTINATION_TYPE.CONVERSATION_URL:\n body.conversationUrl = destination;\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case DESTINATION_TYPE.MEETING_LINK:\n body.meetingUrl = destination;\n break;\n case DESTINATION_TYPE.MEETING_UUID: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (registrationId) {\n body.registrationId = registrationId;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n if (disableWebRedirect) {\n body.disableWebRedirect = disableWebRedirect;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":"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"}
@@ -238,6 +238,7 @@ export default class MeetingInfoV2 {
238
238
  * @param {Object} extraParams
239
239
  * @param {Object} options
240
240
  * @param {String} registrationId
241
+ * @param {String} fullSiteUrl
241
242
  * @returns {Promise} returns a meeting info object
242
243
  * @public
243
244
  * @memberof MeetingInfo
@@ -248,5 +249,5 @@ export default class MeetingInfoV2 {
248
249
  }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
249
250
  meetingId?: string;
250
251
  sendCAevents?: boolean;
251
- }, registrationId?: string): Promise<any>;
252
+ }, registrationId?: string, fullSiteUrl?: string): Promise<any>;
252
253
  }
@@ -458,7 +458,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
458
458
  }, _callee7);
459
459
  }))();
460
460
  },
461
- version: "3.8.0-next.77"
461
+ version: "3.8.0-next.78"
462
462
  });
463
463
  var _default = exports.default = Webinar;
464
464
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -43,13 +43,13 @@
43
43
  "@webex/eslint-config-legacy": "0.0.0",
44
44
  "@webex/jest-config-legacy": "0.0.0",
45
45
  "@webex/legacy-tools": "0.0.0",
46
- "@webex/plugin-meetings": "3.8.0-next.77",
47
- "@webex/plugin-rooms": "3.8.0-next.25",
48
- "@webex/test-helper-chai": "3.8.0-next.20",
49
- "@webex/test-helper-mocha": "3.8.0-next.20",
50
- "@webex/test-helper-mock-webex": "3.8.0-next.20",
51
- "@webex/test-helper-retry": "3.8.0-next.20",
52
- "@webex/test-helper-test-users": "3.8.0-next.20",
46
+ "@webex/plugin-meetings": "3.8.0-next.78",
47
+ "@webex/plugin-rooms": "3.8.0-next.26",
48
+ "@webex/test-helper-chai": "3.8.0-next.21",
49
+ "@webex/test-helper-mocha": "3.8.0-next.21",
50
+ "@webex/test-helper-mock-webex": "3.8.0-next.21",
51
+ "@webex/test-helper-retry": "3.8.0-next.21",
52
+ "@webex/test-helper-test-users": "3.8.0-next.21",
53
53
  "chai": "^4.3.4",
54
54
  "chai-as-promised": "^7.1.1",
55
55
  "eslint": "^8.24.0",
@@ -61,23 +61,23 @@
61
61
  "typescript": "^4.7.4"
62
62
  },
63
63
  "dependencies": {
64
- "@webex/common": "3.8.0-next.20",
64
+ "@webex/common": "3.8.0-next.21",
65
65
  "@webex/event-dictionary-ts": "^1.0.1753",
66
66
  "@webex/internal-media-core": "2.16.0",
67
- "@webex/internal-plugin-conversation": "3.8.0-next.25",
68
- "@webex/internal-plugin-device": "3.8.0-next.20",
69
- "@webex/internal-plugin-llm": "3.8.0-next.23",
70
- "@webex/internal-plugin-mercury": "3.8.0-next.22",
71
- "@webex/internal-plugin-metrics": "3.8.0-next.20",
72
- "@webex/internal-plugin-support": "3.8.0-next.25",
73
- "@webex/internal-plugin-user": "3.8.0-next.20",
74
- "@webex/internal-plugin-voicea": "3.8.0-next.77",
75
- "@webex/media-helpers": "3.8.0-next.24",
76
- "@webex/plugin-people": "3.8.0-next.22",
77
- "@webex/plugin-rooms": "3.8.0-next.25",
67
+ "@webex/internal-plugin-conversation": "3.8.0-next.26",
68
+ "@webex/internal-plugin-device": "3.8.0-next.21",
69
+ "@webex/internal-plugin-llm": "3.8.0-next.24",
70
+ "@webex/internal-plugin-mercury": "3.8.0-next.23",
71
+ "@webex/internal-plugin-metrics": "3.8.0-next.21",
72
+ "@webex/internal-plugin-support": "3.8.0-next.26",
73
+ "@webex/internal-plugin-user": "3.8.0-next.21",
74
+ "@webex/internal-plugin-voicea": "3.8.0-next.78",
75
+ "@webex/media-helpers": "3.8.0-next.25",
76
+ "@webex/plugin-people": "3.8.0-next.23",
77
+ "@webex/plugin-rooms": "3.8.0-next.26",
78
78
  "@webex/ts-sdp": "^1.8.1",
79
79
  "@webex/web-capabilities": "^1.4.0",
80
- "@webex/webex-core": "3.8.0-next.20",
80
+ "@webex/webex-core": "3.8.0-next.21",
81
81
  "ampersand-collection": "^2.0.2",
82
82
  "bowser": "^2.11.0",
83
83
  "btoa": "^1.2.1",
@@ -93,5 +93,5 @@
93
93
  "//": [
94
94
  "TODO: upgrade jwt-decode when moving to node 18"
95
95
  ],
96
- "version": "3.8.0-next.77"
96
+ "version": "3.8.0-next.78"
97
97
  }
@@ -617,6 +617,7 @@ export default class MeetingInfoV2 {
617
617
  * @param {Object} extraParams
618
618
  * @param {Object} options
619
619
  * @param {String} registrationId
620
+ * @param {String} fullSiteUrl
620
621
  * @returns {Promise} returns a meeting info object
621
622
  * @public
622
623
  * @memberof MeetingInfo
@@ -633,7 +634,8 @@ export default class MeetingInfoV2 {
633
634
  locusId = null,
634
635
  extraParams: object = {},
635
636
  options: {meetingId?: string; sendCAevents?: boolean} = {},
636
- registrationId: string = null
637
+ registrationId: string = null,
638
+ fullSiteUrl: string = null
637
639
  ) {
638
640
  const {meetingId, sendCAevents} = options;
639
641
 
@@ -659,6 +661,7 @@ export default class MeetingInfoV2 {
659
661
  locusId,
660
662
  extraParams,
661
663
  registrationId,
664
+ disableWebRedirect: true,
662
665
  });
663
666
 
664
667
  // If the body only contains the default properties, we don't have enough to
@@ -684,7 +687,9 @@ export default class MeetingInfoV2 {
684
687
 
685
688
  const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);
686
689
 
687
- if (directURI) {
690
+ if (fullSiteUrl) {
691
+ requestOptions.uri = `https://${fullSiteUrl}/wbxappapi/v1/meetingInfo`;
692
+ } else if (directURI) {
688
693
  requestOptions.uri = directURI;
689
694
  } else {
690
695
  requestOptions.service = WBXAPPAPI_SERVICE;
@@ -237,6 +237,7 @@ export default class MeetingInfoUtil {
237
237
  locusId,
238
238
  extraParams,
239
239
  registrationId,
240
+ disableWebRedirect,
240
241
  } = options;
241
242
  const body: any = {
242
243
  ...DEFAULT_MEETING_INFO_REQUEST_BODY,
@@ -296,6 +297,10 @@ export default class MeetingInfoUtil {
296
297
  body.locusId = locusId;
297
298
  }
298
299
 
300
+ if (disableWebRedirect) {
301
+ body.disableWebRedirect = disableWebRedirect;
302
+ }
303
+
299
304
  return body;
300
305
  }
301
306
 
@@ -511,6 +511,7 @@ describe('plugin-meetings', () => {
511
511
  password: 'abc',
512
512
  captchaID: '999',
513
513
  captchaVerifyCode: 'aabbcc11',
514
+ disableWebRedirect: true,
514
515
  },
515
516
  });
516
517
  assert.deepEqual(result, requestResponse);
@@ -544,6 +545,7 @@ describe('plugin-meetings', () => {
544
545
  supportCountryList: true,
545
546
  meetingKey: '1234323',
546
547
  installedOrgID,
548
+ disableWebRedirect: true,
547
549
  },
548
550
  });
549
551
  assert.deepEqual(result, requestResponse);
@@ -578,6 +580,7 @@ describe('plugin-meetings', () => {
578
580
  supportCountryList: true,
579
581
  meetingKey: '1234323',
580
582
  locusId,
583
+ disableWebRedirect: true,
581
584
  },
582
585
  });
583
586
  assert.deepEqual(result, requestResponse);
@@ -613,6 +616,7 @@ describe('plugin-meetings', () => {
613
616
  supportCountryList: true,
614
617
  meetingKey: '1234323',
615
618
  ...extraParams,
619
+ disableWebRedirect: true,
616
620
  },
617
621
  });
618
622
  assert.deepEqual(result, requestResponse);
@@ -843,6 +847,7 @@ describe('plugin-meetings', () => {
843
847
  supportCountryList: true,
844
848
  meetingKey: '1234323',
845
849
  ...extraParams,
850
+ disableWebRedirect: true,
846
851
  },
847
852
  });
848
853
  assert.deepEqual(result, requestResponse);
@@ -922,6 +927,7 @@ describe('plugin-meetings', () => {
922
927
  supportCountryList: true,
923
928
  meetingKey: '1234323',
924
929
  ...extraParams,
930
+ disableWebRedirect: true,
925
931
  },
926
932
  });
927
933
  assert.deepEqual(result, requestResponse);
@@ -1065,6 +1071,41 @@ describe('plugin-meetings', () => {
1065
1071
  });
1066
1072
  });
1067
1073
 
1074
+ describe('should stop call fetchMeetingInfo if siteFullUrl is empty for 404 response', () => {
1075
+
1076
+ const runTest = async (wbxAppApiCode, expectedIsPasswordRequired) => {
1077
+ webex.request = sinon.stub().rejects({
1078
+ statusCode: 404,
1079
+ body: {
1080
+ code: wbxAppApiCode,
1081
+ message: 'Alternate Meeting Server',
1082
+ data: {
1083
+ 'siteFullUrl': ''
1084
+ }
1085
+ },
1086
+ });
1087
+
1088
+
1089
+ try {
1090
+ await meetingInfo.fetchMeetingInfo('1234323', DESTINATION_TYPE.MEETING_ID, 'abc', {
1091
+ id: '999',
1092
+ code: 'aabbcc11',
1093
+ });
1094
+ assert.fail('fetchMeetingInfo should have thrown, but has not done that');
1095
+ } catch (err) {
1096
+ assert(Metrics.sendBehavioralMetric.calledOnce);
1097
+ assert.deepEqual(err.body.data, {
1098
+ siteFullUrl: ''
1099
+ });
1100
+ }
1101
+ };
1102
+
1103
+ it('should throw MeetingInfoV2CaptchaError for 404 response (wbxappapi code 404100)', async () => {
1104
+ await runTest(404100, false);
1105
+ });
1106
+ });
1107
+
1108
+
1068
1109
  it('should throw an error and not fetch with an "empty" body', async () => {
1069
1110
  const body = {supportHostKey: 'foo', supportCountryList: 'bar'};
1070
1111
  const requestResponse = {statusCode: 200, body};
@@ -241,6 +241,25 @@ describe('plugin-meetings', () => {
241
241
  }
242
242
  );
243
243
  });
244
+
245
+ it('allows for disableWebRedirect', () => {
246
+
247
+ const res = MeetingInfoUtil.getRequestBody({
248
+ type: DESTINATION_TYPE.CONVERSATION_URL,
249
+ destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49281',
250
+ disableWebRedirect: true,
251
+ });
252
+
253
+ assert.deepEqual(
254
+ res,
255
+ {
256
+ conversationUrl: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49281',
257
+ supportHostKey: true,
258
+ supportCountryList: true,
259
+ disableWebRedirect: true,
260
+ }
261
+ );
262
+ });
244
263
  });
245
264
 
246
265
  describe('#getWebexSite', () => {