@webex/plugin-meetings 3.8.0-web-workers-keepalive.1 → 3.8.1-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +70 -6
  3. package/dist/breakouts/index.js.map +1 -1
  4. package/dist/common/errors/webex-errors.js +12 -2
  5. package/dist/common/errors/webex-errors.js.map +1 -1
  6. package/dist/config.js +4 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/constants.js +22 -123
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controls-options-manager/enums.js +2 -0
  11. package/dist/controls-options-manager/enums.js.map +1 -1
  12. package/dist/controls-options-manager/types.js.map +1 -1
  13. package/dist/controls-options-manager/util.js +52 -0
  14. package/dist/controls-options-manager/util.js.map +1 -1
  15. package/dist/interpretation/index.js +1 -1
  16. package/dist/interpretation/siLanguage.js +1 -1
  17. package/dist/locus-info/controlsUtils.js +30 -10
  18. package/dist/locus-info/controlsUtils.js.map +1 -1
  19. package/dist/locus-info/index.js +83 -12
  20. package/dist/locus-info/index.js.map +1 -1
  21. package/dist/locus-info/selfUtils.js +432 -418
  22. package/dist/locus-info/selfUtils.js.map +1 -1
  23. package/dist/media/index.js +17 -17
  24. package/dist/media/index.js.map +1 -1
  25. package/dist/media/properties.js +94 -6
  26. package/dist/media/properties.js.map +1 -1
  27. package/dist/meeting/brbState.js +9 -2
  28. package/dist/meeting/brbState.js.map +1 -1
  29. package/dist/meeting/in-meeting-actions.js +17 -1
  30. package/dist/meeting/in-meeting-actions.js.map +1 -1
  31. package/dist/meeting/index.js +568 -328
  32. package/dist/meeting/index.js.map +1 -1
  33. package/dist/meeting/locusMediaRequest.js +0 -17
  34. package/dist/meeting/locusMediaRequest.js.map +1 -1
  35. package/dist/meeting/muteState.js +4 -4
  36. package/dist/meeting/muteState.js.map +1 -1
  37. package/dist/meeting/request.js +30 -0
  38. package/dist/meeting/request.js.map +1 -1
  39. package/dist/meeting/request.type.js.map +1 -1
  40. package/dist/meeting/util.js +9 -1
  41. package/dist/meeting/util.js.map +1 -1
  42. package/dist/meeting-info/meeting-info-v2.js +19 -13
  43. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  44. package/dist/meeting-info/utilv2.js +5 -1
  45. package/dist/meeting-info/utilv2.js.map +1 -1
  46. package/dist/meetings/index.js +76 -0
  47. package/dist/meetings/index.js.map +1 -1
  48. package/dist/meetings/util.js +14 -0
  49. package/dist/meetings/util.js.map +1 -1
  50. package/dist/member/index.js +45 -9
  51. package/dist/member/index.js.map +1 -1
  52. package/dist/member/types.js +3 -0
  53. package/dist/member/types.js.map +1 -1
  54. package/dist/member/util.js +335 -356
  55. package/dist/member/util.js.map +1 -1
  56. package/dist/members/collection.js.map +1 -1
  57. package/dist/members/index.js +137 -29
  58. package/dist/members/index.js.map +1 -1
  59. package/dist/members/request.js +38 -0
  60. package/dist/members/request.js.map +1 -1
  61. package/dist/members/util.js +36 -1
  62. package/dist/members/util.js.map +1 -1
  63. package/dist/metrics/constants.js +1 -0
  64. package/dist/metrics/constants.js.map +1 -1
  65. package/dist/reachability/clusterReachability.js +23 -31
  66. package/dist/reachability/clusterReachability.js.map +1 -1
  67. package/dist/reachability/index.js +42 -2
  68. package/dist/reachability/index.js.map +1 -1
  69. package/dist/reconnection-manager/index.js +2 -2
  70. package/dist/reconnection-manager/index.js.map +1 -1
  71. package/dist/roap/index.js.map +1 -1
  72. package/dist/roap/turnDiscovery.js +45 -27
  73. package/dist/roap/turnDiscovery.js.map +1 -1
  74. package/dist/roap/types.js +17 -0
  75. package/dist/roap/types.js.map +1 -0
  76. package/dist/types/common/errors/webex-errors.d.ts +7 -1
  77. package/dist/types/config.d.ts +2 -0
  78. package/dist/types/constants.d.ts +15 -85
  79. package/dist/types/controls-options-manager/enums.d.ts +3 -1
  80. package/dist/types/controls-options-manager/types.d.ts +7 -1
  81. package/dist/types/locus-info/index.d.ts +3 -3
  82. package/dist/types/locus-info/selfUtils.d.ts +216 -1
  83. package/dist/types/media/properties.d.ts +15 -0
  84. package/dist/types/meeting/in-meeting-actions.d.ts +16 -0
  85. package/dist/types/meeting/index.d.ts +35 -1
  86. package/dist/types/meeting/muteState.d.ts +0 -1
  87. package/dist/types/meeting/request.d.ts +12 -1
  88. package/dist/types/meeting/request.type.d.ts +6 -0
  89. package/dist/types/meeting/util.d.ts +3 -1
  90. package/dist/types/meeting-info/meeting-info-v2.d.ts +2 -1
  91. package/dist/types/meetings/index.d.ts +28 -0
  92. package/dist/types/member/index.d.ts +20 -6
  93. package/dist/types/member/types.d.ts +73 -14
  94. package/dist/types/member/util.d.ts +156 -1
  95. package/dist/types/members/collection.d.ts +6 -5
  96. package/dist/types/members/index.d.ts +32 -43
  97. package/dist/types/members/request.d.ts +26 -0
  98. package/dist/types/members/util.d.ts +27 -0
  99. package/dist/types/metrics/constants.d.ts +1 -0
  100. package/dist/types/reachability/clusterReachability.d.ts +2 -6
  101. package/dist/types/reachability/index.d.ts +8 -0
  102. package/dist/types/roap/index.d.ts +3 -2
  103. package/dist/types/roap/turnDiscovery.d.ts +5 -17
  104. package/dist/types/roap/types.d.ts +16 -0
  105. package/dist/webinar/index.js +1 -1
  106. package/package.json +24 -23
  107. package/src/breakouts/index.ts +69 -0
  108. package/src/common/errors/webex-errors.ts +8 -1
  109. package/src/config.ts +2 -0
  110. package/src/constants.ts +23 -90
  111. package/src/controls-options-manager/enums.ts +2 -0
  112. package/src/controls-options-manager/types.ts +11 -1
  113. package/src/controls-options-manager/util.ts +62 -0
  114. package/src/locus-info/controlsUtils.ts +48 -12
  115. package/src/locus-info/index.ts +88 -13
  116. package/src/locus-info/selfUtils.ts +496 -442
  117. package/src/media/index.ts +23 -21
  118. package/src/media/properties.ts +96 -0
  119. package/src/meeting/brbState.ts +11 -2
  120. package/src/meeting/in-meeting-actions.ts +32 -0
  121. package/src/meeting/index.ts +356 -87
  122. package/src/meeting/locusMediaRequest.ts +0 -18
  123. package/src/meeting/muteState.ts +4 -4
  124. package/src/meeting/request.ts +36 -1
  125. package/src/meeting/request.type.ts +7 -0
  126. package/src/meeting/util.ts +9 -1
  127. package/src/meeting-info/meeting-info-v2.ts +7 -2
  128. package/src/meeting-info/utilv2.ts +5 -0
  129. package/src/meetings/index.ts +76 -0
  130. package/src/meetings/util.ts +18 -0
  131. package/src/member/index.ts +57 -22
  132. package/src/member/types.ts +82 -16
  133. package/src/member/util.ts +357 -353
  134. package/src/members/collection.ts +4 -3
  135. package/src/members/index.ts +137 -18
  136. package/src/members/request.ts +44 -0
  137. package/src/members/util.ts +43 -1
  138. package/src/metrics/constants.ts +1 -0
  139. package/src/reachability/clusterReachability.ts +26 -25
  140. package/src/reachability/index.ts +55 -1
  141. package/src/reconnection-manager/index.ts +2 -2
  142. package/src/roap/index.ts +3 -7
  143. package/src/roap/turnDiscovery.ts +34 -39
  144. package/src/roap/types.ts +23 -0
  145. package/test/unit/spec/breakouts/index.ts +167 -95
  146. package/test/unit/spec/controls-options-manager/util.js +120 -0
  147. package/test/unit/spec/locus-info/controlsUtils.js +131 -9
  148. package/test/unit/spec/locus-info/index.js +195 -73
  149. package/test/unit/spec/locus-info/selfUtils.js +98 -24
  150. package/test/unit/spec/media/index.ts +150 -18
  151. package/test/unit/spec/media/properties.ts +130 -0
  152. package/test/unit/spec/meeting/brbState.ts +40 -2
  153. package/test/unit/spec/meeting/in-meeting-actions.ts +19 -4
  154. package/test/unit/spec/meeting/index.js +553 -36
  155. package/test/unit/spec/meeting/locusMediaRequest.ts +0 -30
  156. package/test/unit/spec/meeting/muteState.js +73 -2
  157. package/test/unit/spec/meeting/request.js +32 -1
  158. package/test/unit/spec/meeting/utils.js +79 -33
  159. package/test/unit/spec/meeting-info/meetinginfov2.js +41 -0
  160. package/test/unit/spec/meeting-info/utilv2.js +19 -0
  161. package/test/unit/spec/meetings/index.js +68 -1
  162. package/test/unit/spec/members/index.js +304 -78
  163. package/test/unit/spec/members/request.js +68 -22
  164. package/test/unit/spec/members/utils.js +75 -0
  165. package/test/unit/spec/reachability/clusterReachability.ts +41 -55
  166. package/test/unit/spec/reachability/index.ts +89 -0
  167. package/test/unit/spec/reconnection-manager/index.js +4 -4
  168. package/test/unit/spec/roap/turnDiscovery.ts +110 -28
@@ -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":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAkBA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAqE,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAvBrE;AAyBA;AACA;AACA;AAFA,IAGqBqB,eAAe,GAAAC,OAAA,CAAAL,OAAA;EAAA,SAAAI,gBAAA;IAAA,IAAAE,gBAAA,CAAAN,OAAA,QAAAI,eAAA;EAAA;EAAA,IAAAG,aAAA,CAAAP,OAAA,EAAAI,eAAA;IAAAI,GAAA;IAAAC,KAAA,EAIlC,SAAAC,aAAoBC,IAAI,EAAE;MACxB,IAAI;QACF,IAAIC,SAAS,GAAGC,YAAG,CAACC,KAAK,CAACH,IAAI,CAAC;QAE/B,IAAI,CAACC,SAAS,EAAE;UACd,OAAO,KAAK;QACd;QACA;QACA,IAAI,CAACA,SAAS,CAACG,QAAQ,EAAE;UACvBH,SAAS,GAAGC,YAAG,CAACC,KAAK,IAAAE,MAAA,CAAIC,yBAAc,EAAAD,MAAA,CAAGL,IAAI,CAAE,CAAC;QACnD;QAEA,OAAOC,SAAS;MAClB,CAAC,CAAC,OAAOM,KAAK,EAAE;QACdC,oBAAW,CAACC,MAAM,CAACC,IAAI,uEAAAL,MAAA,CACiDE,KAAK,CAC7E,CAAC;QAED,OAAO,IAAI;MACb;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAV,GAAA;IAAAC,KAAA,EAKA,SAAAa,cAAqBb,KAAa,EAAE;MAClC,IAAIc,YAAY;MAChB,IAAIC,YAAY;MAChB,IAAMZ,SAAS,GAAG,IAAI,CAACF,YAAY,CAACD,KAAK,CAAC;MAC1C,IAAIG,SAAS,EAAE;QACbW,YAAY,GAAGX,SAAS,CAACa,QAAQ,IAAIb,SAAS,CAACa,QAAQ,CAACC,QAAQ,CAACC,wBAAa,CAAC;QAC/EH,YAAY,GACVZ,SAAS,CAACgB,QAAQ,KACjBhB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKa,eAAI,CAAE,CAAC,IACtCjB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKc,iBAAM,CAAE,CAAC,IACzClB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKe,qBAAU,CAAE,CAAC,IAC7CnB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKgB,kBAAO,CAAE,CAAC,IAC1CpB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKiB,eAAI,CAAE,CAAC,IACtCrB,SAAS,CAACsB,MAAM,IAAItB,SAAS,CAACsB,MAAM,CAACR,QAAQ,CAACS,yBAAc,CAAE,CAAC;MACtE;MAEA,OAAOZ,YAAY,IAAIC,YAAY;IACrC;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAA2B,kBAAyB3B,KAAK,EAAE4B,KAAK,EAAE;MACrC,IAAMC,SAAS,GAAGD,KAAK,CAACE,QAAQ,CAACC,QAAQ,CAACC,YAAY,CAAChC,KAAK,CAAC;MAE7D,IAAI6B,SAAS,EAAE;QACb,OAAOA,SAAS,CAACI,QAAQ,CAACC,+BAAoB,CAAC;MACjD;MAEA,OAAO,KAAK;IACd;EAAC;IAAAnC,GAAA;IAAAC,KAAA,EAED,SAAAmC,SAAgBC,SAAS,EAAE;MACzB;MACA;MACA,IAAMC,MAAM,GAAGC,uBAAY,CAACC,WAAW,CAACC,IAAI,CAACJ,SAAS,CAAC;MAEvD,OAAOC,MAAM;IACf;EAAC;IAAAtC,GAAA;IAAAC,KAAA,EAED,SAAAyC,cAAqBC,WAAW,EAAE;MAChC,IAAMC,aAAa,GAAGL,uBAAY,CAACM,YAAY,CAACC,IAAI,CAACH,WAAW,CAAC;MAEjE,OAAOC,aAAa;IACtB;EAAC;IAAA5C,GAAA;IAAAC,KAAA,EAED,SAAA8C,WAAkBC,WAAW,EAAE;MAC7B,IAAAC,mBAAA,GAA4B,IAAAC,0BAAkB,EAACF,WAAW,CAAC;QAApDG,IAAI,GAAAF,mBAAA,CAAJE,IAAI;QAAEC,EAAE,GAAAH,mBAAA,CAAFG,EAAE;QAAEC,OAAO,GAAAJ,mBAAA,CAAPI,OAAO;MAExB,IAAID,EAAE,IAAIE,mBAAQ,CAACR,IAAI,CAACM,EAAE,CAAC,EAAE;QAC3B,IAAID,IAAI,KAAKI,iBAAM,EAAE;UACnB,OAAO;YAACC,IAAI,EAAE,IAAI;YAAER,WAAW,EAAEI,EAAE;YAAEC,OAAO,EAAPA;UAAO,CAAC;QAC/C;QACA,IAAIF,IAAI,KAAKM,mBAAQ,EAAE;UACrB,OAAO;YAACC,MAAM,EAAE,IAAI;YAAEV,WAAW,EAAEI,EAAE;YAAEC,OAAO,EAAPA;UAAO,CAAC;QACjD;QAEA,OAAO,CAAC,CAAC;MACX;MAEA,OAAO,CAAC,CAAC;IACX;EAAC;IAAArD,GAAA;IAAAC,KAAA,EAED,SAAA0D,2BAAkCX,WAAW,EAAEnB,KAAK,EAAE;MACpD,OAAOA,KAAK,CAAC6B,MAAM,CAChBE,GAAG,CAACZ,WAAW,CAAC,CAChBa,IAAI,CAAC,UAACC,GAAG,EAAK;QACb,IAAIA,GAAG,CAACC,MAAM,IAAID,GAAG,CAACC,MAAM,CAAC3E,MAAM,EAAE;UACnC,OAAO0E,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC;QACtB;QACA,MAAM,IAAIC,kBAAc,CAAC,iDAAiD,CAAC;MAC7E,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,GAAG,EAAK;QACdvD,oBAAW,CAACC,MAAM,CAACF,KAAK,gGAAAF,MAAA,CACyE0D,GAAG,MACpG,CAAC;QACD,MAAMA,GAAG;MACX,CAAC,CAAC;IACN;EAAC;IAAAlE,GAAA;IAAAC,KAAA;MAAA,IAAAkE,mBAAA,OAAAC,kBAAA,CAAA5E,OAAA,gBAAA6E,YAAA,CAAA7E,OAAA,CAAA8E,IAAA,CAED,SAAAC,QAAgCC,IAAI;QAAA,IAAArB,IAAA,EAAAtB,KAAA,EAAAmB,WAAA,EAAAyB,QAAA,EAAAX,GAAA,EAAAY,WAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,OAAA,EAAAC,OAAA;QAAA,OAAAT,YAAA,CAAA7E,OAAA,CAAAuF,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAC3BhC,IAAI,GAAWqB,IAAI,CAAnBrB,IAAI,EAAEtB,KAAK,GAAI2C,IAAI,CAAb3C,KAAK;cACbmB,WAAW,GAAIwB,IAAI,CAAnBxB,WAAW;cAAA,MAEZG,IAAI,KAAKiC,2BAAgB,CAACC,aAAa;gBAAAJ,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,IAEpCnC,WAAW;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACd;cACAnC,WAAW,GAAG;gBACZ4B,MAAM,EAAE/C,KAAK,CAACE,QAAQ,CAACuD,MAAM,CAACV,MAAM;gBACpCD,KAAK,EAAE9C,KAAK,CAACE,QAAQ,CAACuD,MAAM,CAACX;cAC/B,CAAC;cAACM,QAAA,CAAAE,IAAA;cAAA;YAAA;cAEIN,QAAO,GAAGU,8BAAmB,CAACzC,IAAI,CAACE,WAAW,CAAC,GACjD;gBAACwC,KAAK,EAAExC;cAAW,CAAC,GACpB;gBAACI,EAAE,EAAEJ;cAAW,CAAC,EAAE;cAAAiC,QAAA,CAAAE,IAAA;cAAA,OACLtD,KAAK,CAAC6B,MAAM,CAAC+B,IAAI,CAACZ,QAAO,CAAC;YAAA;cAAtCf,GAAG,GAAAmB,QAAA,CAAAS,IAAA;cAAAhB,WAAA,GAEiBZ,GAAG,CAAC6B,KAAK,CAAC,CAAC,CAAC,EAAjChB,KAAK,GAAAD,WAAA,CAALC,KAAK,EAAMC,MAAM,GAAAF,WAAA,CAAVtB,EAAE;cAEdwB,MAAM,GAAG,IAAA1B,0BAAkB,EAAC0B,MAAM,CAAC,CAACxB,EAAE;cACtCuB,KAAK,GAAG,IAAAzB,0BAAkB,EAACyB,KAAK,CAAC,CAACvB,EAAE;cACpCJ,WAAW,GAAG;gBAAC4B,MAAM,EAANA,MAAM;gBAAED,KAAK,EAALA;cAAK,CAAC;YAAC;cAAA,KAG9BxB,IAAI;gBAAA8B,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,OAAAF,QAAA,CAAAW,MAAA,WACC;gBACL5C,WAAW,EAAXA,WAAW;gBACXG,IAAI,EAAJA;cACF,CAAC;YAAA;cAEG0B,OAAY,GAAG,CAAC,CAAC;cAGvB,IAAIhD,KAAK,IAAIA,KAAK,CAACgE,MAAM,IAAIhE,KAAK,CAACgE,MAAM,CAACC,QAAQ,IAAIjE,KAAK,CAACgE,MAAM,CAACC,QAAQ,CAACC,cAAc,EAAE;gBAC1FjB,OAAO,GAAG,IAAI;cAChB,CAAC,MAAM;gBACLA,OAAO,GAAG,IAAI,CAAC/B,UAAU,CAACC,WAAW,CAAC;cACxC;cAAC,KAEG,IAAI,CAAClC,aAAa,CAACkC,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACjCxE,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,6GACF,CAAC;cAEDgE,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACY,YAAY;cAC5CnB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAAC/C,QAAQ,CAACY,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACnCN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACa,OAAO;cACvCpB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAACzC,aAAa,CAACM,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACxCN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACa,OAAO;cACvCpB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAACvD,iBAAiB,CAACoB,WAAW,EAAEnB,KAAK,CAAC;gBAAAoD,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACnDN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACc,gBAAgB;cAChDrB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,MACzBL,OAAO,IAAIA,OAAO,CAACpB,MAAM;gBAAAuB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAClCN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACa,OAAO;cAAC,OAAAhB,QAAA,CAAAW,MAAA,WAEjC,IAAI,CAACjC,0BAA0B,CAACmB,OAAO,IAAIA,OAAO,CAAC9B,WAAW,EAAEnB,KAAK,CAAC,CAACgC,IAAI,CAAC,UAACC,GAAG,EAAK;gBAC1Fe,OAAO,CAAC7B,WAAW,GAAGc,GAAG;;gBAEzB;gBACA;gBACA;gBACAe,OAAO,CAACsB,cAAc,GAAG,IAAI;gBAE7B,OAAOC,QAAA,CAAA5G,OAAA,CAAQ6G,OAAO,CAACxB,OAAO,CAAC;cACjC,CAAC,CAAC;YAAA;cAAA,KACOC,OAAO,CAACtB,IAAI;gBAAAyB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACrBxE,oBAAW,CAACC,MAAM,CAACF,KAAK,8QAExB,CAAC;cACD;cAAA,MACM,IAAI4F,mCAAsB,CAAC,CAAC;YAAA;cAElC3F,oBAAW,CAACC,MAAM,CAACC,IAAI,6CAAAL,MAAA,CAA6C,IAAI,CAAC+F,gBAAgB,CAAE,CAAC;cAAC,MACvF,IAAIvC,kBAAc,IAAAxD,MAAA,CAAI,IAAI,CAAC+F,gBAAgB,CAAE,CAAC;YAAA;cAAA,OAAAtB,QAAA,CAAAW,MAAA,WAG/CQ,QAAA,CAAA5G,OAAA,CAAQ6G,OAAO,CAACxB,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAI,QAAA,CAAAuB,IAAA;UAAA;QAAA,GAAAjC,OAAA;MAAA,CAChC;MAAA,SAAAkC,mBAAAC,EAAA;QAAA,OAAAvC,mBAAA,CAAAlF,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAsH,kBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAzG,GAAA;IAAAC,KAAA,EAQA,SAAA0G,eAAsB9B,OAA4D,EAAE;MAAA,IAAA+B,iBAAA,EAAAC,kBAAA;MAClF,IACE1D,IAAI,GASF0B,OAAO,CATT1B,IAAI;QACJH,WAAW,GAQT6B,OAAO,CART7B,WAAW;QACX8D,QAAQ,GAONjC,OAAO,CAPTiC,QAAQ;QACRC,WAAW,GAMTlC,OAAO,CANTkC,WAAW;QACXC,cAAc,GAKZnC,OAAO,CALTmC,cAAc;QACdC,OAAO,GAILpC,OAAO,CAJToC,OAAO;QACPC,WAAW,GAGTrC,OAAO,CAHTqC,WAAW;QACXC,cAAc,GAEZtC,OAAO,CAFTsC,cAAc;QACdC,kBAAkB,GAChBvC,OAAO,CADTuC,kBAAkB;MAEpB,IAAMC,IAAS,GAAAnI,aAAA,CAAAA,aAAA,KACVoI,4CAAiC,GACjCJ,WAAW,CACf;MAED,QAAQ/D,IAAI;QACV,KAAKiC,2BAAgB,CAACa,OAAO;UAC3BoB,IAAI,CAACE,MAAM,GAAGvE,WAAW;UACzB;QACF,KAAKoC,2BAAgB,CAACC,aAAa;UACjCgC,IAAI,CAACzC,MAAM,GAAG5B,WAAW,CAAC4B,MAAM;UAChCyC,IAAI,CAAC1C,KAAK,GAAG3B,WAAW,CAAC2B,KAAK;UAC9B;QACF,KAAKS,2BAAgB,CAACoC,UAAU;UAC9BH,IAAI,CAACI,UAAU,GAAGzE,WAAW;UAC7B;QACF,KAAKoC,2BAAgB,CAACc,gBAAgB;UACpCmB,IAAI,CAACK,eAAe,GAAG1E,WAAW;UAClC;QACF,KAAKoC,2BAAgB,CAACuC,QAAQ;UAC5B;UACA,KAAAf,iBAAA,GAAI5D,WAAW,CAAC4E,IAAI,cAAAhB,iBAAA,eAAhBA,iBAAA,CAAkBiB,cAAc,EAAE;YACpCR,IAAI,CAACI,UAAU,GAAGzE,WAAW,CAAC4E,IAAI,CAACC,cAAc;UACnD,CAAC,MAAM,KAAAhB,kBAAA,GAAI7D,WAAW,CAAC4E,IAAI,cAAAf,kBAAA,eAAhBA,kBAAA,CAAkBvE,MAAM,EAAE;YACnC+E,IAAI,CAACE,MAAM,GAAGvE,WAAW,CAAC4E,IAAI,CAACtF,MAAM;UACvC;UACA;QACF,KAAK8C,2BAAgB,CAACY,YAAY;UAChCqB,IAAI,CAACS,UAAU,GAAG9E,WAAW;UAC7B;QACF,KAAKoC,2BAAgB,CAAC2C,YAAY;UAAE;YAClCV,IAAI,CAACW,WAAW,GAAGhF,WAAW;YAC9B;UACF;QACA;MACF;MAEA,IAAI8D,QAAQ,EAAE;QACZO,IAAI,CAACP,QAAQ,GAAGA,QAAQ;MAC1B;MAEA,IAAIK,cAAc,EAAE;QAClBE,IAAI,CAACF,cAAc,GAAGA,cAAc;MACtC;MAEA,IAAIJ,WAAW,EAAE;QACfM,IAAI,CAACY,SAAS,GAAGlB,WAAW,CAAC3D,EAAE;QAC/BiE,IAAI,CAACa,iBAAiB,GAAGnB,WAAW,CAACoB,IAAI;MAC3C;MAEA,IAAInB,cAAc,EAAE;QAClBK,IAAI,CAACL,cAAc,GAAGA,cAAc;MACtC;MAEA,IAAIC,OAAO,EAAE;QACXI,IAAI,CAACJ,OAAO,GAAGA,OAAO;MACxB;MAEA,IAAIG,kBAAkB,EAAE;QACtBC,IAAI,CAACD,kBAAkB,GAAGA,kBAAkB;MAC9C;MAEA,OAAOC,IAAI;IACb;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAArH,GAAA;IAAAC,KAAA,EAKA,SAAAmI,aAAoBC,GAAW,EAAE;MAAA,IAAAC,UAAA;MAC/B,IAAMC,eAAe,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;MAChF,IAAMC,IAAI,GAAGH,GAAG,aAAHA,GAAG,wBAAAC,UAAA,GAAHD,GAAG,CAAEI,KAAK,CAAC,2BAA2B,CAAC,cAAAH,UAAA,uBAAvCA,UAAA,CAA0C,CAAC,CAAC;MACzD,IAAMI,gBAAgB,GAAG,CAAC,CAACF,IAAI,IAAID,eAAe,CAACI,IAAI,CAAC,UAACC,MAAM;QAAA,OAAKJ,IAAI,CAACtH,QAAQ,CAAC0H,MAAM,CAAC;MAAA,EAAC;MAE1F,OAAOF,gBAAgB,GAAG,IAAI,GAAGF,IAAI;IACvC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAxI,GAAA;IAAAC,KAAA,EAOA,SAAA4I,wBAA+BhE,OAAyC,EAAE;MAAA,IAAAiE,kBAAA;MACxE,IAAO3F,IAAI,GAAiB0B,OAAO,CAA5B1B,IAAI;QAAEH,WAAW,GAAI6B,OAAO,CAAtB7B,WAAW;MAExB,IAAI+F,kBAAkB,GAAG,IAAI;MAE7B,QAAQ5F,IAAI;QACV,KAAKiC,2BAAgB,CAACa,OAAO;UAC3B8C,kBAAkB,GAAG,IAAI,CAACX,YAAY,CAACpF,WAAW,CAAC;UACnD;QACF,KAAKoC,2BAAgB,CAACuC,QAAQ;UAC5BoB,kBAAkB,IAAAD,kBAAA,GAAG9F,WAAW,CAAC4E,IAAI,cAAAkB,kBAAA,uBAAhBA,kBAAA,CAAkBE,SAAS;UAChD;QACF;MACF;MAEA,OAAOD,kBAAkB,cAAAvI,MAAA,CAAcuI,kBAAkB,iCAA8B,IAAI;IAC7F;EAAC;EAAA,OAAAnJ,eAAA;AAAA;AAAA,IAAAL,gBAAA,CAAAC,OAAA,EAxTkBI,eAAe,sBAEhC,8GAA8G"}
@@ -816,6 +816,73 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
816
816
  }
817
817
  }
818
818
 
819
+ /**
820
+ * API to toggle usage of audio main DTX, needs to be called before webex.meetings.register()
821
+ *
822
+ * @param {Boolean} newValue
823
+ * @private
824
+ * @memberof Meetings
825
+ * @returns {undefined}
826
+ */
827
+ }, {
828
+ key: "_toggleDisableAudioMainDtx",
829
+ value: function _toggleDisableAudioMainDtx(newValue) {
830
+ if (typeof newValue !== 'boolean') {
831
+ return;
832
+ }
833
+
834
+ // @ts-ignore
835
+ if (this.config.experimental.disableAudioMainDtx !== newValue) {
836
+ // @ts-ignore
837
+ this.config.experimental.disableAudioMainDtx = newValue;
838
+ }
839
+ }
840
+
841
+ /**
842
+ * API to toggle usage of audio twcc support
843
+ *
844
+ * @param {Boolean} newValue
845
+ * @private
846
+ * @memberof Meetings
847
+ * @returns {undefined}
848
+ */
849
+ }, {
850
+ key: "_toggleEnableAudioTwccForMultistream",
851
+ value: function _toggleEnableAudioTwccForMultistream(newValue) {
852
+ if (typeof newValue !== 'boolean') {
853
+ return;
854
+ }
855
+
856
+ // @ts-ignore
857
+ if (this.config.enableAudioTwccForMultistream !== newValue) {
858
+ // @ts-ignore
859
+ this.config.enableAudioTwccForMultistream = newValue;
860
+ }
861
+ }
862
+
863
+ /**
864
+ * API to toggle stopping ICE Candidates Gathering after first relay candidate,
865
+ * needs to be called before webex.meetings.joinWithMedia()
866
+ *
867
+ * @param {Boolean} newValue
868
+ * @private
869
+ * @memberof Meetings
870
+ * @returns {undefined}
871
+ */
872
+ }, {
873
+ key: "_toggleStopIceGatheringAfterFirstRelayCandidate",
874
+ value: function _toggleStopIceGatheringAfterFirstRelayCandidate(newValue) {
875
+ if (typeof newValue !== 'boolean') {
876
+ return;
877
+ }
878
+
879
+ // @ts-ignore
880
+ if (this.config.stopIceGatheringAfterFirstRelayCandidate !== newValue) {
881
+ // @ts-ignore
882
+ this.config.stopIceGatheringAfterFirstRelayCandidate = newValue;
883
+ }
884
+ }
885
+
819
886
  /**
820
887
  * Executes a registration step and updates the registration status.
821
888
  * @param {Function} step - The registration step to execute.
@@ -922,6 +989,15 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
922
989
  // @ts-ignore
923
990
  .then(function () {
924
991
  return _this7.webex.internal.device.unregister();
992
+ }).catch(function (error) {
993
+ // If error status code is 404, continue the chain
994
+ if (error.statusCode === 404) {
995
+ _loggerProxy.default.logger.info('Meetings:index#unregister --> 404 error during device unregister, proceeding normally');
996
+ return; // returning undefined allows the chain to continue
997
+ }
998
+ // For any other status code, break the chain by rethrowing
999
+ _loggerProxy.default.logger.error("Meetings:index#unregister --> Failed to unregister device: ".concat(error.message));
1000
+ throw error; // rethrow to break the promise chain
925
1001
  }).then(function () {
926
1002
  _triggerProxy.default.trigger(_this7, {
927
1003
  file: 'meetings',