@webex/plugin-meetings 3.0.0-bnr.4 → 3.0.0-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.
- package/.eslintrc.js +6 -0
- package/README.md +58 -8
- package/babel.config.js +3 -0
- package/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/constants.js +41 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +71 -34
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/collection.js +1 -2
- package/dist/breakouts/collection.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +1 -2
- package/dist/breakouts/edit-lock-error.js.map +1 -1
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/events.js +44 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +433 -229
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +1 -2
- package/dist/breakouts/request.js.map +1 -1
- package/dist/{types/breakouts → breakouts}/utils.d.ts +7 -0
- package/dist/breakouts/utils.js +13 -5
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/browser-detection.js +2 -3
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +3 -4
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +1 -2
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +1 -2
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +1 -2
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +1 -2
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +1 -2
- package/dist/common/errors/media.js.map +1 -1
- package/dist/{types/common/errors/permission.d.ts → common/errors/no-meeting-info.d.ts} +1 -1
- package/dist/common/errors/no-meeting-info.js +50 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/parameter.js +3 -4
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +1 -2
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +1 -2
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reclaim-host-role-errors.js +154 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/reconnection-in-progress.js +1 -2
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +1 -2
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +1 -2
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +20 -8
- package/dist/common/errors/webex-errors.js +57 -17
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -2
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +1 -2
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +1 -2
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +1 -2
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +1 -2
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +1 -2
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +2 -3
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +3 -1
- package/dist/common/logs/request.js +8 -5
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +9 -7
- package/dist/common/queue.js +22 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +6 -7
- package/dist/config.js +6 -12
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +263 -98
- package/dist/constants.js +360 -377
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +3 -6
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.d.ts +11 -1
- package/dist/controls-options-manager/enums.js +9 -10
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +17 -1
- package/dist/controls-options-manager/index.js +46 -46
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/{types/controls-options-manager → controls-options-manager}/types.d.ts +7 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.d.ts +1 -7
- package/dist/controls-options-manager/util.js +81 -13
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +70 -25
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.d.ts +2 -0
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.d.ts +27 -0
- package/dist/interceptors/locusRetry.js +94 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/collection.js +22 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +379 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +24 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +82 -13
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -4
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +1 -2
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +1 -2
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +57 -4
- package/dist/locus-info/index.js +350 -77
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +10 -5
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +58 -3
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +66 -6
- package/dist/locus-info/parser.js +253 -80
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +49 -26
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.js +66 -108
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +38 -53
- package/dist/media/properties.js +76 -128
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -2
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +239 -231
- package/dist/mediaQualityMetrics/config.js +135 -339
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +88 -0
- package/dist/meeting/in-meeting-actions.js +79 -5
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +710 -517
- package/dist/meeting/index.js +4348 -3053
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.d.ts +93 -25
- package/dist/meeting/muteState.js +125 -207
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +84 -47
- package/dist/meeting/request.js +190 -165
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.js +1 -2
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +118 -1
- package/dist/meeting/util.js +680 -447
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.d.ts +16 -0
- package/dist/meeting/voicea-meeting.js +169 -0
- package/dist/meeting/voicea-meeting.js.map +1 -0
- package/dist/meeting-info/collection.js +3 -4
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +13 -1
- package/dist/meeting-info/index.js +74 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/meeting-info/meeting-info-v2.js +136 -61
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -2
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +9 -9
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +31 -41
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +17 -0
- package/dist/meetings/collection.js +21 -5
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +114 -22
- package/dist/meetings/index.js +397 -127
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -3
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +45 -17
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +15 -0
- package/dist/member/index.js +35 -2
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/member.types.js +17 -0
- package/dist/member/member.types.js.map +1 -0
- package/dist/{types/member → member}/types.d.ts +11 -0
- package/dist/member/types.js +13 -5
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +72 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +5 -0
- package/dist/members/collection.js +1 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +57 -2
- package/dist/members/index.js +29 -9
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +73 -9
- package/dist/members/request.js +77 -48
- package/dist/members/request.js.map +1 -1
- package/dist/{types/members → members}/types.d.ts +1 -0
- package/dist/members/types.js +3 -4
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.d.ts +214 -1
- package/dist/members/util.js +320 -319
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.d.ts +17 -4
- package/dist/metrics/constants.js +18 -3
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +4 -111
- package/dist/metrics/index.js +4 -453
- package/dist/metrics/index.js.map +1 -1
- package/dist/{types/multistream → multistream}/mediaRequestManager.d.ts +29 -10
- package/dist/multistream/mediaRequestManager.js +142 -48
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/{types/multistream → multistream}/receiveSlot.d.ts +3 -3
- package/dist/multistream/receiveSlot.js +3 -5
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +11 -13
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/{types/multistream → multistream}/remoteMedia.d.ts +2 -2
- package/dist/multistream/remoteMedia.js +3 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/{types/multistream → multistream}/remoteMediaGroup.d.ts +2 -0
- package/dist/multistream/remoteMediaGroup.js +78 -6
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/{types/multistream → multistream}/remoteMediaManager.d.ts +39 -1
- package/dist/multistream/remoteMediaManager.js +288 -100
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.d.ts +70 -0
- package/dist/multistream/sendSlotManager.js +258 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/networkQualityMonitor/index.js +1 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +2 -3
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -3
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +1 -2
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/clusterReachability.d.ts +109 -0
- package/dist/reachability/clusterReachability.js +357 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.d.ts +61 -95
- package/dist/reachability/index.js +280 -431
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +7 -3
- package/dist/reachability/request.js +18 -13
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.d.ts +8 -0
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reactions/constants.js +1 -2
- package/dist/reactions/constants.js.map +1 -1
- package/dist/reactions/reactions.d.ts +2 -2
- package/dist/reactions/reactions.js +2 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +23 -3
- package/dist/reactions/reactions.type.js +6 -8
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +32 -8
- package/dist/reconnection-manager/index.js +264 -209
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +4 -5
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.d.ts +15 -1
- package/dist/recording-controller/index.js +57 -46
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +5 -4
- package/dist/recording-controller/util.js +10 -10
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.d.ts +9 -47
- package/dist/roap/index.js +53 -31
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +16 -12
- package/dist/roap/request.js +57 -73
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +46 -5
- package/dist/roap/turnDiscovery.js +227 -76
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/constants.js +11 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.d.ts +61 -0
- package/dist/rtcMetrics/index.js +177 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +1 -91
- package/dist/statsAnalyzer/global.js +1 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +55 -28
- package/dist/statsAnalyzer/index.js +371 -319
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +32 -6
- package/dist/statsAnalyzer/mqaUtil.js +295 -162
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +1 -2
- package/dist/transcription/index.js.map +1 -1
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/collection.js +43 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +68 -0
- package/dist/webinar/index.js.map +1 -0
- package/jest.config.js +3 -0
- package/package.json +44 -23
- package/process +1 -0
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +3 -2
- package/src/breakouts/breakout.ts +62 -27
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +244 -64
- package/src/breakouts/utils.ts +13 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +44 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +5 -13
- package/src/constants.ts +190 -24
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/controls-options-manager/index.ts +13 -10
- package/src/controls-options-manager/types.ts +10 -0
- package/src/controls-options-manager/util.ts +82 -11
- package/src/index.ts +22 -11
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +349 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +81 -0
- package/src/locus-info/index.ts +354 -57
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +32 -20
- package/src/media/index.ts +96 -108
- package/src/media/properties.ts +87 -112
- package/src/mediaQualityMetrics/config.ts +103 -238
- package/src/meeting/in-meeting-actions.ts +128 -4
- package/src/meeting/index.ts +3472 -2523
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +119 -194
- package/src/meeting/request.ts +155 -120
- package/src/meeting/util.ts +683 -412
- package/src/meeting/voicea-meeting.ts +122 -0
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +107 -26
- package/src/meeting-info/util.ts +13 -10
- package/src/meeting-info/utilv2.ts +40 -36
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +361 -116
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/util.ts +49 -20
- package/src/member/index.ts +36 -1
- package/src/member/member.types.ts +13 -0
- package/src/member/types.ts +14 -0
- package/src/member/util.ts +89 -26
- package/src/members/index.ts +36 -3
- package/src/members/request.ts +61 -21
- package/src/members/types.ts +1 -0
- package/src/members/util.ts +330 -326
- package/src/metrics/constants.ts +16 -0
- package/src/metrics/index.ts +1 -474
- package/src/multistream/mediaRequestManager.ts +186 -67
- package/src/multistream/receiveSlot.ts +4 -4
- package/src/multistream/receiveSlotManager.ts +4 -4
- package/src/multistream/remoteMedia.ts +2 -2
- package/src/multistream/remoteMediaGroup.ts +78 -0
- package/src/multistream/remoteMediaManager.ts +174 -18
- package/src/multistream/sendSlotManager.ts +199 -0
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +226 -382
- package/src/reachability/request.ts +8 -4
- package/src/reachability/util.ts +24 -0
- package/src/reconnection-manager/index.ts +95 -82
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +52 -23
- package/src/roap/request.ts +49 -68
- package/src/roap/turnDiscovery.ts +147 -49
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +166 -0
- package/src/statsAnalyzer/index.ts +430 -428
- package/src/statsAnalyzer/mqaUtil.ts +317 -168
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +322 -263
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +86 -26
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +639 -98
- package/test/unit/spec/breakouts/utils.js +19 -1
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +8 -1
- package/test/unit/spec/controls-options-manager/util.js +576 -397
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +622 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +195 -1
- package/test/unit/spec/locus-info/index.js +1167 -69
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/{selfConstant.js → lib/selfConstant.js} +19 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfUtils.js +132 -27
- package/test/unit/spec/media/index.ts +103 -79
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +64 -2
- package/test/unit/spec/meeting/index.js +6768 -2199
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +328 -417
- package/test/unit/spec/meeting/request.js +473 -54
- package/test/unit/spec/meeting/utils.js +764 -84
- package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +411 -25
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +1266 -234
- package/test/unit/spec/meetings/utils.js +187 -9
- package/test/unit/spec/member/index.js +50 -19
- package/test/unit/spec/member/util.js +328 -155
- package/test/unit/spec/members/index.js +153 -20
- package/test/unit/spec/members/request.js +167 -35
- package/test/unit/spec/members/utils.js +26 -0
- package/test/unit/spec/metrics/index.js +2 -52
- package/test/unit/spec/multistream/mediaRequestManager.ts +386 -9
- package/test/unit/spec/multistream/receiveSlot.ts +1 -1
- package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +332 -2
- package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +525 -94
- package/test/unit/spec/reachability/request.js +3 -1
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +135 -7
- package/test/unit/spec/recording-controller/index.js +293 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +180 -83
- package/test/unit/spec/roap/request.ts +100 -62
- package/test/unit/spec/roap/turnDiscovery.ts +388 -96
- package/test/unit/spec/rtcMetrics/index.ts +122 -0
- package/test/unit/spec/stats-analyzer/index.js +1225 -12
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -60
- package/test/utils/webex-test-users.js +12 -4
- package/dist/docs/markdown/index.md +0 -12
- package/dist/docs/markdown/plugin-meetings.constants._active_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._answer_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._call_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._created_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._error_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._forced_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._id_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._idle_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._in_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._join_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._joined_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._left_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._none_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._observe_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._people_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._remove_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._requested_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._room_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._s_line.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._slides_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._user_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._wait_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.alert.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.answer.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.api.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.audio.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +0 -60
- package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +0 -51
- package/dist/docs/markdown/plugin-meetings.constants.calendar.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.call.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.claim.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.complete.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +0 -18
- package/dist/docs/markdown/plugin-meetings.constants.content.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.controls.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.decline.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +0 -13
- package/dist/docs/markdown/plugin-meetings.constants.development.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +0 -51
- package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.end.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ended.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.error.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +0 -62
- package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +0 -82
- package/dist/docs/markdown/plugin-meetings.constants.event_types.md +0 -21
- package/dist/docs/markdown/plugin-meetings.constants.events.md +0 -26
- package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.full_state.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.gathering.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.hecate.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.host.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +0 -18
- package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.join.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +0 -13
- package/dist/docs/markdown/plugin-meetings.constants.leave.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.live.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.local.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.loci.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.locus.md +0 -26
- package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +0 -33
- package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +0 -43
- package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.md +0 -186
- package/dist/docs/markdown/plugin-meetings.constants.media.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.media_state.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.meet.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +0 -20
- package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +0 -102
- package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +0 -19
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +0 -25
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +0 -31
- package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +0 -20
- package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.meetings.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +0 -82
- package/dist/docs/markdown/plugin-meetings.constants.network_status.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.network_type.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.offline.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.online.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.participant.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +0 -22
- package/dist/docs/markdown/plugin-meetings.constants.password_status.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +0 -18
- package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +0 -19
- package/dist/docs/markdown/plugin-meetings.constants.reachability.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.ready.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +0 -19
- package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.remote.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.resource.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.roap.md +0 -22
- package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.share.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.share_status.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.stats.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.type.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.video.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.video_input.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +0 -24
- package/dist/docs/markdown/plugin-meetings.constants.video_status.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +0 -11
- package/dist/docs/markdown/plugin-meetings.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +0 -30
- package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +0 -38
- package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +0 -15
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +0 -15
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +0 -16
- package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +0 -33
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +0 -23
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +0 -36
- package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +0 -31
- package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.md +0 -227
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +0 -16
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +0 -34
- package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +0 -33
- package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +0 -31
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +0 -34
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +0 -35
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +0 -34
- package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +0 -35
- package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.md +0 -18
- package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +0 -22
- package/dist/docs/markdown/plugin-meetings.meetings.create.md +0 -30
- package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +0 -31
- package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.md +0 -57
- package/dist/docs/markdown/plugin-meetings.meetings.media.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.register.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.registered.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.request.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +0 -34
- package/dist/docs/markdown/plugin-meetings.reactions.md +0 -13
- package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +0 -11
- package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +0 -26
- package/dist/docs/markdown/plugin-meetings.remotemedia.md +0 -31
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +0 -22
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +0 -40
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +0 -25
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +0 -14
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +0 -12
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +0 -24
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +0 -26
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +0 -27
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +0 -22
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +0 -28
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +0 -25
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +0 -24
- package/dist/docs/markdown/plugin-meetings.triggerproxy.md +0 -11
- package/dist/docs/metadata/index.api.json +0 -14144
- package/dist/docs/metadata/index.api.md +0 -2075
- package/dist/docs/metadata/index.d.ts +0 -5594
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/config.js +0 -291
- package/dist/metrics/config.js.map +0 -1
- package/dist/peer-connection-manager/index.d.ts +0 -6
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.d.ts +0 -6
- package/dist/peer-connection-manager/util.js +0 -110
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/plugin-meetings.d.ts +0 -5399
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/collection.js +0 -63
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/handler.js +0 -279
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/state.js +0 -127
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- package/dist/roap/util.js.map +0 -1
- package/dist/types/common/browser-detection.d.ts +0 -9
- package/dist/types/common/collection.d.ts +0 -48
- package/dist/types/common/config.d.ts +0 -2
- package/dist/types/common/errors/captcha-error.d.ts +0 -15
- package/dist/types/common/errors/intent-to-join.d.ts +0 -16
- package/dist/types/common/errors/join-meeting.d.ts +0 -17
- package/dist/types/common/errors/media.d.ts +0 -15
- package/dist/types/common/errors/parameter.d.ts +0 -15
- package/dist/types/common/errors/password-error.d.ts +0 -15
- package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/types/common/errors/reconnection.d.ts +0 -15
- package/dist/types/common/errors/stats.d.ts +0 -15
- package/dist/types/common/errors/webex-errors.d.ts +0 -69
- package/dist/types/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/types/common/events/events-scope.d.ts +0 -17
- package/dist/types/common/events/events.d.ts +0 -12
- package/dist/types/common/events/trigger-proxy.d.ts +0 -2
- package/dist/types/common/events/util.d.ts +0 -2
- package/dist/types/common/logs/logger-config.d.ts +0 -2
- package/dist/types/common/logs/logger-proxy.d.ts +0 -2
- package/dist/types/common/logs/request.d.ts +0 -34
- package/dist/types/common/queue.d.ts +0 -32
- package/dist/types/config.d.ts +0 -78
- package/dist/types/constants.d.ts +0 -957
- package/dist/types/controls-options-manager/constants.d.ts +0 -4
- package/dist/types/controls-options-manager/enums.d.ts +0 -13
- package/dist/types/controls-options-manager/index.d.ts +0 -136
- package/dist/types/controls-options-manager/util.d.ts +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/locus-info/controlsUtils.d.ts +0 -2
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/types/locus-info/fullState.d.ts +0 -2
- package/dist/types/locus-info/hostUtils.d.ts +0 -2
- package/dist/types/locus-info/index.d.ts +0 -277
- package/dist/types/locus-info/infoUtils.d.ts +0 -2
- package/dist/types/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/types/locus-info/parser.d.ts +0 -212
- package/dist/types/locus-info/selfUtils.d.ts +0 -2
- package/dist/types/media/index.d.ts +0 -32
- package/dist/types/media/properties.d.ts +0 -108
- package/dist/types/media/util.d.ts +0 -2
- package/dist/types/mediaQualityMetrics/config.d.ts +0 -365
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/meeting/in-meeting-actions.d.ts +0 -105
- package/dist/types/meeting/index.d.ts +0 -1724
- package/dist/types/meeting/muteState.d.ts +0 -185
- package/dist/types/meeting/request.d.ts +0 -271
- package/dist/types/meeting/state.d.ts +0 -9
- package/dist/types/meeting/util.d.ts +0 -2
- package/dist/types/meeting-info/collection.d.ts +0 -20
- package/dist/types/meeting-info/index.d.ts +0 -57
- package/dist/types/meeting-info/meeting-info-v2.d.ts +0 -111
- package/dist/types/meeting-info/request.d.ts +0 -22
- package/dist/types/meeting-info/util.d.ts +0 -2
- package/dist/types/meeting-info/utilv2.d.ts +0 -2
- package/dist/types/meetings/collection.d.ts +0 -31
- package/dist/types/meetings/index.d.ts +0 -316
- package/dist/types/meetings/request.d.ts +0 -27
- package/dist/types/meetings/util.d.ts +0 -18
- package/dist/types/member/index.d.ts +0 -156
- package/dist/types/member/util.d.ts +0 -2
- package/dist/types/members/collection.d.ts +0 -29
- package/dist/types/members/index.d.ts +0 -353
- package/dist/types/members/request.d.ts +0 -69
- package/dist/types/members/util.d.ts +0 -2
- package/dist/types/metrics/config.d.ts +0 -171
- package/dist/types/metrics/constants.d.ts +0 -54
- package/dist/types/metrics/index.d.ts +0 -152
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/personal-meeting-room/index.d.ts +0 -47
- package/dist/types/personal-meeting-room/request.d.ts +0 -14
- package/dist/types/personal-meeting-room/util.d.ts +0 -2
- package/dist/types/reachability/index.d.ts +0 -152
- package/dist/types/reachability/request.d.ts +0 -37
- package/dist/types/reactions/reactions.d.ts +0 -4
- package/dist/types/reactions/reactions.type.d.ts +0 -52
- package/dist/types/reconnection-manager/index.d.ts +0 -126
- package/dist/types/recording-controller/enums.d.ts +0 -7
- package/dist/types/recording-controller/index.d.ts +0 -193
- package/dist/types/recording-controller/util.d.ts +0 -13
- package/dist/types/roap/index.d.ts +0 -77
- package/dist/types/roap/request.d.ts +0 -38
- package/dist/types/roap/turnDiscovery.d.ts +0 -74
- package/dist/types/statsAnalyzer/global.d.ts +0 -36
- package/dist/types/statsAnalyzer/index.d.ts +0 -200
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -24
- package/dist/types/transcription/index.d.ts +0 -64
- package/dist/types/tsdoc-metadata.json +0 -11
- package/src/metrics/config.ts +0 -487
- /package/dist/{types/breakouts → breakouts}/breakout.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/collection.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/edit-lock-error.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/index.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/request.d.ts +0 -0
- /package/dist/{types/meeting → meeting}/request.type.d.ts +0 -0
- /package/dist/{types/multistream → multistream}/receiveSlotManager.d.ts +0 -0
- /package/dist/{types/reactions → reactions}/constants.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","POLICY_ERROR_CODES","MeetingInfoV2PasswordError","wbxAppApiErrorCode","meetingInfo","message","name","sdkMessage","stack","Error","wbxAppApiCode","MeetingInfoV2AdhocMeetingError","MeetingInfoV2PolicyError","MeetingInfoV2CaptchaError","captchaInfo","isPasswordRequired","includes","MeetingInfoV2","webex","destination","type","MeetingInfoUtil","getDestinationType","conversationUrl","meetings","preferredWebexSite","getInvitees","particpants","invitees","forEach","participant","push","email","emailAddress","ciUserUuid","entryUUID","internal","conversation","get","url","includeParticipants","disableTransform","then","body","title","displayName","spaceUrl","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","uri","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ADHOC_MEETING_SUCCESS","request","method","HTTP_VERBS","POST","catch","err","ADHOC_MEETING_FAILURE","reason","code","password","installedOrgID","locusId","destinationType","_CONVERSATION_URL_","config","experimental","enableAdhocMeetings","createAdhocSpaceMeeting","getRequestBody","DEFAULT_MEETING_INFO_REQUEST_BODY","length","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","options","getDirectMeetingInfoURI","directURI","service","WBXAPPAPI_SERVICE","resource","response","FETCH_MEETING_INFO_V1_SUCCESS","statusCode","MEETING_INFO_POLICY_ERROR","data","VERIFY_PASSWORD_ERROR","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n _CONVERSATION_URL_,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex.internal.conversation\n .get({url: conversationUrl}, {includeParticipants: true, disableTransform: true})\n .then((conversation) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items),\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .catch((err) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID\n * @param {String} locusId\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: string = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null\n ) {\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === _CONVERSATION_URL_ &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\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 options: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n options.uri = directURI;\n } else {\n options.service = WBXAPPAPI_SERVICE;\n options.resource = 'meetingInfo';\n }\n\n return this.webex\n .request(options)\n .then((response) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\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 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","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","POLICY_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","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","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeeting","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this5","getInvitees","wrap","_callee$","_context","prev","next","meetings","preferredWebexSite","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","method","HTTP_VERBS","POST","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body6","_err$body7","handlePolicyError","ADHOC_MEETING_FAILURE","reason","stop","createAdhocSpaceMeeting","_x","_x2","_fetchMeetingInfo","_callee2","_this6","password","locusId","extraParams","options","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args2","_callee2$","_context2","sent","_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","statusCode","_err$body8","_err$body9","_err$body9$data","VERIFY_PASSWORD_ERROR","_err$body10","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x3"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n _CONVERSATION_URL_,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex\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 };\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: string = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === _CONVERSATION_URL_ &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL,\n });\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAuC,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,aAAA,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;AAAA,SAAAqB,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAV,OAAA,EAAAK,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,CAAAV,OAAA,QAAAa,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAL,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAhB,KAAA,OAAAE,SAAA,gBAAAoB,2BAAA,CAAAf,OAAA,QAAAW,MAAA;AAAA,SAAAJ,0BAAA,eAAAS,OAAA,qBAAAF,kBAAA,oBAAAA,kBAAA,CAAAG,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,kBAAA,CAAAK,OAAA,8CAAApC,CAAA;AAEvC,IAAMwC,8BAA8B,GAClC,mEAAmE;AACrE,IAAMC,6BAA6B,GACjC,qEAAqE;AACvE,IAAMC,2BAA2B,GAC/B,iEAAiE;AACnE,IAAMC,qCAAqC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AAC9D,IAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3E;AACA;AACA;AAFA,IAGaC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,0BAAAE,MAAA;EAAA,IAAAC,UAAA,CAAA/B,OAAA,EAAA4B,0BAAA,EAAAE,MAAA;EAAA,IAAAE,MAAA,GAAA5B,YAAA,CAAAwB,0BAAA;EAMrC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,2BACEK,kBAA2B,EAC3BC,WAAoB,EAEpB;IAAA,IAAAC,KAAA;IAAA,IADAC,OAAe,GAAAzC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG4B,8BAA8B;IAAA,IAAAe,gBAAA,CAAAtC,OAAA,QAAA4B,0BAAA;IAEhDO,KAAA,GAAAH,MAAA,CAAAV,IAAA,UAAAiB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAlC,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAmC,KAAA;IAAA,IAAApC,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAmC,KAAA;IAAA,IAAApC,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAmC,KAAA;IAAA,IAAApC,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAmC,KAAA;IAChDA,KAAA,CAAKM,IAAI,GAAG,4BAA4B;IACxCN,KAAA,CAAKO,UAAU,GAAGN,OAAO;IACzBD,KAAA,CAAKQ,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BR,KAAA,CAAKU,aAAa,GAAGZ,kBAAkB;IACvCE,KAAA,CAAKD,WAAW,GAAGA,WAAW;IAAC,OAAAC,KAAA;EACjC;EAAC,WAAAW,aAAA,CAAA9C,OAAA,EAAA4B,0BAAA;AAAA,oBAAAmB,iBAAA,CAAA/C,OAAA,EAxB6C4C,KAAK;AA2BrD;AACA;AACA;AAFA,IAGaI,8BAA8B,GAAAnB,OAAA,CAAAmB,8BAAA,0BAAAC,OAAA;EAAA,IAAAlB,UAAA,CAAA/B,OAAA,EAAAgD,8BAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAA9C,YAAA,CAAA4C,8BAAA;EAGzC;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,+BAAYf,kBAA2B,EAAiD;IAAA,IAAAkB,MAAA;IAAA,IAA/Cf,OAAe,GAAAzC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG8B,2BAA2B;IAAA,IAAAa,gBAAA,CAAAtC,OAAA,QAAAgD,8BAAA;IACpFG,MAAA,GAAAD,OAAA,CAAA5B,IAAA,UAAAiB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAlC,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAmD,MAAA;IAAA,IAAApD,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAmD,MAAA;IAChDA,MAAA,CAAKV,IAAI,GAAG,gCAAgC;IAC5CU,MAAA,CAAKT,UAAU,GAAGN,OAAO;IACzBe,MAAA,CAAKR,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BQ,MAAA,CAAKN,aAAa,GAAGZ,kBAAkB;IAAC,OAAAkB,MAAA;EAC1C;EAAC,WAAAL,aAAA,CAAA9C,OAAA,EAAAgD,8BAAA;AAAA,oBAAAD,iBAAA,CAAA/C,OAAA,EAfiD4C,KAAK;AAkBzD;AACA;AACA;AAFA,IAGaQ,wBAAwB,GAAAvB,OAAA,CAAAuB,wBAAA,0BAAAC,OAAA;EAAA,IAAAtB,UAAA,CAAA/B,OAAA,EAAAoD,wBAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAAlD,YAAA,CAAAgD,wBAAA;EAInC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,yBAAYnB,kBAA2B,EAAEC,WAAoB,EAAEE,OAAgB,EAAE;IAAA,IAAAmB,MAAA;IAAA,IAAAjB,gBAAA,CAAAtC,OAAA,QAAAoD,wBAAA;IAC/EG,MAAA,GAAAD,OAAA,CAAAhC,IAAA,UAAAiB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAlC,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAuD,MAAA;IAAA,IAAAxD,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAuD,MAAA;IAAA,IAAAxD,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAAuD,MAAA;IAChDA,MAAA,CAAKd,IAAI,GAAG,gCAAgC;IAC5Cc,MAAA,CAAKb,UAAU,GAAGN,OAAO;IACzBmB,MAAA,CAAKZ,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BY,MAAA,CAAKV,aAAa,GAAGZ,kBAAkB;IACvCsB,MAAA,CAAKrB,WAAW,GAAGA,WAAW;IAAC,OAAAqB,MAAA;EACjC;EAAC,WAAAT,aAAA,CAAA9C,OAAA,EAAAoD,wBAAA;AAAA,oBAAAL,iBAAA,CAAA/C,OAAA,EAlB2C4C,KAAK;AAqBnD;AACA;AACA;AAFA,IAGaY,yBAAyB,GAAA3B,OAAA,CAAA2B,yBAAA,0BAAAC,OAAA;EAAA,IAAA1B,UAAA,CAAA/B,OAAA,EAAAwD,yBAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAAtD,YAAA,CAAAoD,yBAAA;EAMpC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,0BACEvB,kBAA2B,EAC3B0B,WAAoB,EAEpB;IAAA,IAAAC,MAAA;IAAA,IADAxB,OAAe,GAAAzC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG6B,6BAA6B;IAAA,IAAAc,gBAAA,CAAAtC,OAAA,QAAAwD,yBAAA;IAE/CI,MAAA,GAAAF,OAAA,CAAApC,IAAA,UAAAiB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAlC,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAA4D,MAAA;IAAA,IAAA7D,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAA4D,MAAA;IAAA,IAAA7D,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAA4D,MAAA;IAAA,IAAA7D,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAA4D,MAAA;IAAA,IAAA7D,gBAAA,CAAAC,OAAA,MAAAwC,uBAAA,CAAAxC,OAAA,EAAA4D,MAAA;IAChDA,MAAA,CAAKnB,IAAI,GAAG,4BAA4B;IACxCmB,MAAA,CAAKlB,UAAU,GAAGN,OAAO;IACzBwB,MAAA,CAAKjB,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BiB,MAAA,CAAKf,aAAa,GAAGZ,kBAAkB;IACvC2B,MAAA,CAAKC,kBAAkB,GAAGnC,qCAAqC,CAACoC,QAAQ,CAAC7B,kBAAkB,CAAC;IAC5F2B,MAAA,CAAKD,WAAW,GAAGA,WAAW;IAAC,OAAAC,MAAA;EACjC;EAAC,WAAAd,aAAA,CAAA9C,OAAA,EAAAwD,yBAAA;AAAA,oBAAAT,iBAAA,CAAA/C,OAAA,EAzB4C4C,KAAK;AA4BpD;AACA;AACA;AAFA,IAGqBmB,aAAa,GAAAlC,OAAA,CAAA7B,OAAA;EAGhC;AACF;AACA;AACA;EACE,SAAA+D,cAAYC,KAAK,EAAE;IAAA,IAAA1B,gBAAA,CAAAtC,OAAA,QAAA+D,aAAA;IAAA,IAAAhE,gBAAA,CAAAC,OAAA;IAoBnB;AACF;AACA;AACA;AACA;IAJE,IAAAD,gBAAA,CAAAC,OAAA,6BAKoB,UAACiE,GAAG,EAAK;MAAA,IAAAC,SAAA;MAC3B,IAAI,CAACD,GAAG,CAACE,IAAI,EAAE;QACb;MACF;MAEA,IAAIxC,kBAAkB,CAACmC,QAAQ,EAAAI,SAAA,GAACD,GAAG,CAACE,IAAI,cAAAD,SAAA,uBAARA,SAAA,CAAUE,IAAI,CAAC,EAAE;QAAA,IAAAC,UAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,eAAA,EAAAC,UAAA;QAC/CC,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACC,yBAAyB,EAAE;UACzET,IAAI,GAAAC,UAAA,GAAEJ,GAAG,CAACE,IAAI,cAAAE,UAAA,uBAARA,UAAA,CAAUD;QAClB,CAAC,CAAC;QAEF,MAAM,IAAIhB,wBAAwB,EAAAkB,UAAA,GAChCL,GAAG,CAACE,IAAI,cAAAG,UAAA,uBAARA,UAAA,CAAUF,IAAI,GAAAG,UAAA,GACdN,GAAG,CAACE,IAAI,cAAAI,UAAA,wBAAAC,eAAA,GAARD,UAAA,CAAUO,IAAI,cAAAN,eAAA,uBAAdA,eAAA,CAAgBtC,WAAW,GAAAuC,UAAA,GAC3BR,GAAG,CAACE,IAAI,cAAAM,UAAA,uBAARA,UAAA,CAAUrC,OACZ,CAAC;MACH;IACF,CAAC;IAxCC,IAAI,CAAC4B,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE,IAAAlB,aAAA,CAAA9C,OAAA,EAAA+D,aAAA;IAAAgB,GAAA;IAAAC,KAAA,EAQA,SAAAC,iBAAiBC,WAAmB,EAAuB;MAAA,IAArBC,IAAY,GAAAxF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,IAAI;MACvD,OAAOyF,cAAe,CAACC,kBAAkB,CAAC;QACxCH,WAAW,EAAXA,WAAW;QACXC,IAAI,EAAJA,IAAI;QACJnB,KAAK,EAAE,IAAI,CAACA;MACd,CAAC,CAAC;IACJ;EAAC;IAAAe,GAAA;IAAAC,KAAA;IAyBD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPE;MAAA,IAAAM,wBAAA,OAAAC,kBAAA,CAAAvF,OAAA,gBAAAwF,YAAA,CAAAxF,OAAA,CAAAyF,IAAA,CAQA,SAAAC,QAA8BC,eAAuB,EAAEC,cAAuB;QAAA,IAAAC,MAAA;QAAA,IAAAC,WAAA;QAAA,OAAAN,YAAA,CAAAxF,OAAA,CAAA+F,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,IACvE,IAAI,CAACnC,KAAK,CAACoC,QAAQ,CAACC,kBAAkB;gBAAAJ,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MACnCvD,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAExCkD,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAyB;gBAAA,IAArBQ,WAAW,GAAA3G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,EAAE;gBACnC,IAAM4G,QAAQ,GAAG,EAAE;gBAEnB,IAAID,WAAW,EAAE;kBACfA,WAAW,CAACxG,OAAO,CAAC,UAAC0G,WAAW,EAAK;oBACnCD,QAAQ,CAAC/G,IAAI,CAAC;sBACZiH,KAAK,EAAED,WAAW,CAACE,YAAY;sBAC/BC,UAAU,EAAEH,WAAW,CAACI;oBAC1B,CAAC,CAAC;kBACJ,CAAC,CAAC;gBACJ;gBAEA,OAAOL,QAAQ;cACjB,CAAC;cAAA,OAAAN,QAAA,CAAAY,MAAA,WAEM,IAAI,CAAC7C,KAAK,CACd8C,OAAO,CAAC;gBAACC,GAAG,EAAEpB,eAAe;gBAAEqB,EAAE,EAAE;kBAACC,mBAAmB,EAAE;gBAAI,CAAC;gBAAEC,gBAAgB,EAAE;cAAI,CAAC,CAAC,CACxFC,IAAI,CAAC,UAAAC,IAAA,EAA0B;gBAAA,IAAAC,qBAAA;gBAAA,IAAlBC,YAAY,GAAAF,IAAA,CAAlBjD,IAAI;gBACV,IAAMA,IAAI,GAAG;kBACXoD,KAAK,EAAED,YAAY,CAACE,WAAW;kBAC/BC,QAAQ,EAAEH,YAAY,CAACI,GAAG;kBAC1BC,MAAM,EAAEL,YAAY,CAACM,gBAAgB;kBACrCC,MAAM,EAAEP,YAAY,CAACQ,oBAAoB;kBACzCvB,QAAQ,EAAET,WAAW,EAAAuB,qBAAA,GAACC,YAAY,CAACS,YAAY,cAAAV,qBAAA,uBAAzBA,qBAAA,CAA2BW,KAAK,CAAC;kBACvDpC,cAAc,EAAdA;gBACF,CAAC;gBAED,IAAIA,cAAc,EAAE;kBAClBzB,IAAI,CAACyB,cAAc,GAAGA,cAAc;gBACtC;gBAEA,IAAMmB,GAAG,GAAGlB,MAAI,CAAC7B,KAAK,CAACoC,QAAQ,CAACC,kBAAkB,cAAA9D,MAAA,CACnCsD,MAAI,CAAC7B,KAAK,CAACoC,QAAQ,CAACC,kBAAkB,2CACjD,EAAE;gBAEN,OAAOR,MAAI,CAAC7B,KAAK,CAAC8C,OAAO,CAAC;kBACxBmB,MAAM,EAAEC,qBAAU,CAACC,IAAI;kBACvBpB,GAAG,EAAHA,GAAG;kBACH5C,IAAI,EAAJA;gBACF,CAAC,CAAC;cACJ,CAAC,CAAC,CACDgD,IAAI,CAAC,UAACiB,aAAa,EAAK;gBACvB1D,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACyD,qBAAqB,CAAC;gBAEtE,OAAOD,aAAa;cACtB,CAAC,CAAC,CACDE,KAAK,CAAC,UAACrE,GAAG,EAAK;gBAAA,IAAAsE,UAAA,EAAAC,UAAA;gBACd3C,MAAI,CAAC4C,iBAAiB,CAACxE,GAAG,CAAC;gBAE3BS,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC8D,qBAAqB,EAAE;kBACrEC,MAAM,EAAE1E,GAAG,CAAC7B,OAAO;kBACnBO,KAAK,EAAEsB,GAAG,CAACtB;gBACb,CAAC,CAAC;gBACF,MAAM,IAAIK,8BAA8B,EAAAuF,UAAA,GAACtE,GAAG,CAACE,IAAI,cAAAoE,UAAA,uBAARA,UAAA,CAAUnE,IAAI,GAAAoE,UAAA,GAAEvE,GAAG,CAACE,IAAI,cAAAqE,UAAA,uBAARA,UAAA,CAAUpG,OAAO,CAAC;cAC7E,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA6D,QAAA,CAAA2C,IAAA;UAAA;QAAA,GAAAlD,OAAA;MAAA,CACL;MAAA,SAAAmD,wBAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAzD,wBAAA,CAAA7F,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAkJ,uBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAfE;EAAA;IAAA9D,GAAA;IAAAC,KAAA;MAAA,IAAAgE,iBAAA,OAAAzD,kBAAA,CAAAvF,OAAA,gBAAAwF,YAAA,CAAAxF,OAAA,CAAAyF,IAAA,CAgBA,SAAAwD,SACE/D,WAAmB;QAAA,IAAAgE,MAAA;QAAA,IAAA/D,IAAA;UAAAgE,QAAA;UAAAxF,WAAA;UAAAiC,cAAA;UAAAwD,OAAA;UAAAC,WAAA;UAAAC,OAAA;UAAAC,SAAA;UAAAC,YAAA;UAAAC,eAAA;UAAAtF,IAAA;UAAAuF,qBAAA;UAAAC,sBAAA;UAAA1F,GAAA;UAAA2F,cAAA;UAAAC,SAAA;UAAAC,MAAA,GAAAnK,SAAA;QAAA,OAAA6F,YAAA,CAAAxF,OAAA,CAAA+F,IAAA,UAAAgE,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA9D,IAAA,GAAA8D,SAAA,CAAA7D,IAAA;YAAA;cACnBhB,IAAY,GAAA2E,MAAA,CAAAlK,MAAA,QAAAkK,MAAA,QAAAzH,SAAA,GAAAyH,MAAA,MAAG,IAAI;cACnBX,QAAgB,GAAAW,MAAA,CAAAlK,MAAA,QAAAkK,MAAA,QAAAzH,SAAA,GAAAyH,MAAA,MAAG,IAAI;cACvBnG,WAGC,GAAAmG,MAAA,CAAAlK,MAAA,QAAAkK,MAAA,QAAAzH,SAAA,GAAAyH,MAAA,MAAG,IAAI;cACRlE,cAAc,GAAAkE,MAAA,CAAAlK,MAAA,QAAAkK,MAAA,QAAAzH,SAAA,GAAAyH,MAAA,MAAG,IAAI;cACrBV,OAAO,GAAAU,MAAA,CAAAlK,MAAA,QAAAkK,MAAA,QAAAzH,SAAA,GAAAyH,MAAA,MAAG,IAAI;cACdT,WAAmB,GAAAS,MAAA,CAAAlK,MAAA,QAAAkK,MAAA,QAAAzH,SAAA,GAAAyH,MAAA,MAAG,CAAC,CAAC;cACxBR,OAAqD,GAAAQ,MAAA,CAAAlK,MAAA,QAAAkK,MAAA,QAAAzH,SAAA,GAAAyH,MAAA,MAAG,CAAC,CAAC;cAEnDP,SAAS,GAAkBD,OAAO,CAAlCC,SAAS,EAAEC,YAAY,GAAIF,OAAO,CAAvBE,YAAY;cAAAQ,SAAA,CAAA7D,IAAA;cAAA,OAEAf,cAAe,CAACC,kBAAkB,CAAC;gBAC/DH,WAAW,EAAXA,WAAW;gBACXC,IAAI,EAAJA,IAAI;gBACJnB,KAAK,EAAE,IAAI,CAACA;cACd,CAAC,CAAC;YAAA;cAJIyF,eAAe,GAAAO,SAAA,CAAAC,IAAA;cAAA,MAOnBR,eAAe,CAACtE,IAAI,KAAK+E,6BAAkB,IAC3C,IAAI,CAAClG,KAAK,CAACmG,MAAM,CAAC/D,QAAQ,CAACgE,YAAY,CAACC,mBAAmB,IAC3D,IAAI,CAACrG,KAAK,CAACoC,QAAQ,CAACC,kBAAkB;gBAAA2D,SAAA,CAAA7D,IAAA;gBAAA;cAAA;cAAA,OAAA6D,SAAA,CAAAnD,MAAA,WAE/B,IAAI,CAACgC,uBAAuB,CAACY,eAAe,CAACvE,WAAW,EAAEU,cAAc,CAAC;YAAA;cAAAoE,SAAA,CAAA7D,IAAA;cAAA,OAG/Df,cAAe,CAACkF,cAAc,CAAA5K,aAAA,CAAAA,aAAA,KAC5C+J,eAAe;gBAClBN,QAAQ,EAARA,QAAQ;gBACRxF,WAAW,EAAXA,WAAW;gBACXiC,cAAc,EAAdA,cAAc;gBACdwD,OAAO,EAAPA,OAAO;gBACPC,WAAW,EAAXA;cAAW,EACZ,CAAC;YAAA;cAPIlF,IAAI,GAAA6F,SAAA,CAAAC,IAAA;cAAA,IAYPM,eAAM,CAACC,UAAU,CAAC,IAAAC,KAAA,CAAAzK,OAAA,EAAYmE,IAAI,CAAC,EAAE,IAAAsG,KAAA,CAAAzK,OAAA,EAAY0K,4CAAiC,CAAC,CAAC,CAAC9K,MAAM;gBAAAoK,SAAA,CAAA7D,IAAA;gBAAA;cAAA;cAEtFlC,GAAG,GAAG,IAAIrB,KAAK,CAAC,8CAA8C,CAAC;cACrE8B,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+F,6BAA6B,EAAE;gBAC7EhC,MAAM,EAAE1E,GAAG,CAAC7B,OAAO;gBACnBqH,eAAe,EAAEA,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEtE,IAAI;gBACtCyF,cAAc,EAAEnB,eAAe,aAAfA,eAAe,wBAAAC,qBAAA,GAAfD,eAAe,CAAEoB,IAAI,cAAAnB,qBAAA,uBAArBA,qBAAA,CAAuBkB,cAAc;gBACrDE,MAAM,EAAErB,eAAe,aAAfA,eAAe,wBAAAE,sBAAA,GAAfF,eAAe,CAAEoB,IAAI,cAAAlB,sBAAA,uBAArBA,sBAAA,CAAuBmB;cACjC,CAAC,CAAC;cAAC,MAEG7G,GAAG;YAAA;cAGL2F,cAAmB,GAAG;gBAC1B3B,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBhE,IAAI,EAAJA;cACF,CAAC;cAAA6F,SAAA,CAAA7D,IAAA;cAAA,OAEuBf,cAAe,CAAC2F,uBAAuB,CAACtB,eAAe,CAAC;YAAA;cAA1EI,SAAS,GAAAG,SAAA,CAAAC,IAAA;cAEf,IAAIJ,SAAS,EAAE;gBACbD,cAAc,CAAC7C,GAAG,GAAG8C,SAAS;cAChC,CAAC,MAAM;gBACLD,cAAc,CAACoB,OAAO,GAAGC,4BAAiB;gBAC1CrB,cAAc,CAACsB,QAAQ,GAAG,aAAa;cACzC;cAEA,IAAI3B,SAAS,IAAIC,YAAY,EAAE;gBAC7B,IAAI,CAACxF,KAAK,CAACmH,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;kBACjD5I,IAAI,EAAE;gBACR,CAAC,CAAC;gBAEF,IAAI,CAACuB,KAAK,CAACmH,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;kBAC/C7I,IAAI,EAAE,4BAA4B;kBAClC6G,OAAO,EAAE;oBACPC,SAAS,EAATA;kBACF;gBACF,CAAC,CAAC;cACJ;cAAC,OAAAS,SAAA,CAAAnD,MAAA,WAEM,IAAI,CAAC7C,KAAK,CACd8C,OAAO,CAAC8C,cAAc,CAAC,CACvBzC,IAAI,CAAC,UAACoE,QAAQ,EAAK;gBAClB,IAAIhC,SAAS,IAAIC,YAAY,EAAE;kBAAA,IAAAgC,cAAA,EAAAC,eAAA,EAAAC,eAAA;kBAC7BxC,MAAI,CAAClF,KAAK,CAACmH,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;oBACjD5I,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEFyG,MAAI,CAAClF,KAAK,CAACmH,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;oBAC/C7I,IAAI,EAAE,6BAA6B;oBACnCkJ,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAEN,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE7D;sBAC9B;oBACF,CAAC;oBACD4B,OAAO,EAAE;sBACPC,SAAS,EAATA,SAAS;sBACTuC,oBAAoB,EAAE,CAAAP,QAAQ,aAARA,QAAQ,wBAAAC,cAAA,GAARD,QAAQ,CAAEpH,IAAI,cAAAqH,cAAA,uBAAdA,cAAA,CAAgBO,SAAS,MAAIR,QAAQ,aAARA,QAAQ,wBAAAE,eAAA,GAARF,QAAQ,CAAEpH,IAAI,cAAAsH,eAAA,uBAAdA,eAAA,CAAgBO,MAAM;sBACzEC,eAAe,EAAEV,QAAQ,aAARA,QAAQ,wBAAAG,eAAA,GAARH,QAAQ,CAAEpH,IAAI,cAAAuH,eAAA,uBAAdA,eAAA,CAAgBnC;oBACnC;kBACF,CAAC,CAAC;gBACJ;gBACA7E,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACsH,6BAA6B,CAAC;gBAE9E,OAAOX,QAAQ;cACjB,CAAC,CAAC,CACDjD,KAAK,CAAC,UAACrE,GAAG,EAAK;gBACd,IAAIsF,SAAS,IAAIC,YAAY,EAAE;kBAC7BN,MAAI,CAAClF,KAAK,CAACmH,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;oBACjD5I,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEFyG,MAAI,CAAClF,KAAK,CAACmH,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;oBAC/C7I,IAAI,EAAE,6BAA6B;oBACnCkJ,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAE5H,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEyD;sBACzB;oBACF,CAAC;oBACD4B,OAAO,EAAE;sBACPC,SAAS,EAATA,SAAS;sBACT4C,QAAQ,EAAElI;oBACZ;kBACF,CAAC,CAAC;gBACJ;gBAEA,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEmI,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAC,UAAA,EAAAC,UAAA,EAAAC,eAAA;kBAC3BrD,MAAI,CAACT,iBAAiB,CAACxE,GAAG,CAAC;kBAE3BS,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC4H,qBAAqB,EAAE;oBACrE7D,MAAM,EAAE1E,GAAG,CAAC7B,OAAO;oBACnBO,KAAK,EAAEsB,GAAG,CAACtB;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIf,0BAA0B,EAAAyK,UAAA,GAACpI,GAAG,CAACE,IAAI,cAAAkI,UAAA,uBAARA,UAAA,CAAUjI,IAAI,GAAAkI,UAAA,GAAErI,GAAG,CAACE,IAAI,cAAAmI,UAAA,wBAAAC,eAAA,GAARD,UAAA,CAAUxH,IAAI,cAAAyH,eAAA,uBAAdA,eAAA,CAAgBrK,WAAW,CAAC;gBACnF;gBACA,IAAI,CAAA+B,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEmI,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAK,WAAA;kBAC3B/H,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC8H,oBAAoB,EAAE;oBACpE/D,MAAM,EAAE1E,GAAG,CAAC7B,OAAO;oBACnBO,KAAK,EAAEsB,GAAG,CAACtB;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIa,yBAAyB,EAAAiJ,WAAA,GAACxI,GAAG,CAACE,IAAI,cAAAsI,WAAA,uBAARA,WAAA,CAAUrI,IAAI,EAAE;oBAClDuI,SAAS,EAAE1I,GAAG,CAACE,IAAI,CAACyI,SAAS;oBAC7BC,oBAAoB,EAAE5I,GAAG,CAACE,IAAI,CAAC0I,oBAAoB;oBACnDC,oBAAoB,EAAE7I,GAAG,CAACE,IAAI,CAAC2I,oBAAoB;oBACnDC,UAAU,EAAE9I,GAAG,CAACE,IAAI,CAAC4I;kBACvB,CAAC,CAAC;gBACJ;gBAEArI,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+F,6BAA6B,EAAE;kBAC7EhC,MAAM,EAAE1E,GAAG,CAAC7B,OAAO;kBACnBO,KAAK,EAAEsB,GAAG,CAACtB;gBACb,CAAC,CAAC;gBACF,MAAMsB,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA+F,SAAA,CAAApB,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACL;MAAA,SAAA+D,iBAAAC,GAAA;QAAA,OAAAjE,iBAAA,CAAAvJ,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAqN,gBAAA;IAAA;EAAA;EAAA,OAAAjJ,aAAA;AAAA"}
|
|
@@ -15,7 +15,7 @@ var _util = _interopRequireDefault(require("./util"));
|
|
|
15
15
|
/**
|
|
16
16
|
* @class MeetingInfoRequest
|
|
17
17
|
*/
|
|
18
|
-
var MeetingInfoRequest = /*#__PURE__*/function () {
|
|
18
|
+
var MeetingInfoRequest = exports.default = /*#__PURE__*/function () {
|
|
19
19
|
/**
|
|
20
20
|
* Meeting Info Request Constructor
|
|
21
21
|
* @param {WebexSDK} webex
|
|
@@ -49,5 +49,4 @@ var MeetingInfoRequest = /*#__PURE__*/function () {
|
|
|
49
49
|
}]);
|
|
50
50
|
return MeetingInfoRequest;
|
|
51
51
|
}();
|
|
52
|
-
exports.default = MeetingInfoRequest;
|
|
53
52
|
//# sourceMappingURL=request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeetingInfoRequest","webex","options","type","destination","ParameterError","resourceUrl","MeetingInfoUtil","getResourceUrl","requestParams","getRequestParams","API","LOCUS","request"],"sources":["request.ts"],"sourcesContent":["import {API} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nimport MeetingInfoUtil from './util';\n\n/**\n * @class MeetingInfoRequest\n */\nexport default class MeetingInfoRequest {\n webex: any;\n\n /**\n * Meeting Info Request Constructor\n * @param {WebexSDK} webex\n */\n constructor(webex: any) {\n this.webex = webex;\n }\n\n /**\n *\n * @param {Object} options with format of {type: String, desintation: String}\n * where type is PERSONAL_ROOM, SIP_URI, CONVERSATION_URL, and destination is userId, sipUri, conversationUrl respectively\n * type can also be specified as an option and be of the list SIP_URI,MEETING_ID,LOCUS_ID,PERSONAL_ROOM,MEETING_LINK,ONE_ON_ONE,MEDIA_SIP_URI,CONVERSATION_URL,TEMP_SIP_URI\n * with the desination matching\n * @returns {Promise} returns a promise that resolves/rejects the result of the request\n * @throws {Error} if the options are not valid and complete\n * @memberof MeetingInfoRequest\n */\n fetchMeetingInfo(options: any) {\n if (!options || !options.type || !options.destination) {\n throw new ParameterError(\n 'MeetingInfo should be fetched with a type and destination specified, see list of valid types and their corresponding values in constants'\n );\n }\n const resourceUrl = MeetingInfoUtil.getResourceUrl(options.type, options.destination);\n const requestParams = MeetingInfoUtil.getRequestParams(\n resourceUrl,\n options.type,\n options.destination,\n API.LOCUS\n );\n\n return this.webex.request(requestParams);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA;AAEA;AACA;AACA;AAFA,
|
|
1
|
+
{"version":3,"names":["_constants","require","_parameter","_interopRequireDefault","_util","MeetingInfoRequest","exports","default","webex","_classCallCheck2","_defineProperty2","_createClass2","key","value","fetchMeetingInfo","options","type","destination","ParameterError","resourceUrl","MeetingInfoUtil","getResourceUrl","requestParams","getRequestParams","API","LOCUS","request"],"sources":["request.ts"],"sourcesContent":["import {API} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nimport MeetingInfoUtil from './util';\n\n/**\n * @class MeetingInfoRequest\n */\nexport default class MeetingInfoRequest {\n webex: any;\n\n /**\n * Meeting Info Request Constructor\n * @param {WebexSDK} webex\n */\n constructor(webex: any) {\n this.webex = webex;\n }\n\n /**\n *\n * @param {Object} options with format of {type: String, desintation: String}\n * where type is PERSONAL_ROOM, SIP_URI, CONVERSATION_URL, and destination is userId, sipUri, conversationUrl respectively\n * type can also be specified as an option and be of the list SIP_URI,MEETING_ID,LOCUS_ID,PERSONAL_ROOM,MEETING_LINK,ONE_ON_ONE,MEDIA_SIP_URI,CONVERSATION_URL,TEMP_SIP_URI\n * with the desination matching\n * @returns {Promise} returns a promise that resolves/rejects the result of the request\n * @throws {Error} if the options are not valid and complete\n * @memberof MeetingInfoRequest\n */\n fetchMeetingInfo(options: any) {\n if (!options || !options.type || !options.destination) {\n throw new ParameterError(\n 'MeetingInfo should be fetched with a type and destination specified, see list of valid types and their corresponding values in constants'\n );\n }\n const resourceUrl = MeetingInfoUtil.getResourceUrl(options.type, options.destination);\n const requestParams = MeetingInfoUtil.getRequestParams(\n resourceUrl,\n options.type,\n options.destination,\n API.LOCUS\n );\n\n return this.webex.request(requestParams);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA;AACA;AACA;AAFA,IAGqBI,kBAAkB,GAAAC,OAAA,CAAAC,OAAA;EAGrC;AACF;AACA;AACA;EACE,SAAAF,mBAAYG,KAAU,EAAE;IAAA,IAAAC,gBAAA,CAAAF,OAAA,QAAAF,kBAAA;IAAA,IAAAK,gBAAA,CAAAH,OAAA;IACtB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATE,IAAAG,aAAA,CAAAJ,OAAA,EAAAF,kBAAA;IAAAO,GAAA;IAAAC,KAAA,EAUA,SAAAC,iBAAiBC,OAAY,EAAE;MAC7B,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,IAAI,IAAI,CAACD,OAAO,CAACE,WAAW,EAAE;QACrD,MAAM,IAAIC,kBAAc,CACtB,0IACF,CAAC;MACH;MACA,IAAMC,WAAW,GAAGC,aAAe,CAACC,cAAc,CAACN,OAAO,CAACC,IAAI,EAAED,OAAO,CAACE,WAAW,CAAC;MACrF,IAAMK,aAAa,GAAGF,aAAe,CAACG,gBAAgB,CACpDJ,WAAW,EACXJ,OAAO,CAACC,IAAI,EACZD,OAAO,CAACE,WAAW,EACnBO,cAAG,CAACC,KACN,CAAC;MAED,OAAO,IAAI,CAACjB,KAAK,CAACkB,OAAO,CAACJ,aAAa,CAAC;IAC1C;EAAC;EAAA,OAAAjB,kBAAA;AAAA"}
|
|
@@ -15,6 +15,8 @@ var _common = require("@webex/common");
|
|
|
15
15
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
16
16
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
17
17
|
var _constants = require("../constants");
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
|
|
18
20
|
var MeetingInfoUtil = {};
|
|
19
21
|
MeetingInfoUtil.extractDestination = function (destination, type) {
|
|
20
22
|
var dest = destination;
|
|
@@ -131,7 +133,7 @@ MeetingInfoUtil.getSipUriFromHydraPersonId = function (destination, webex) {
|
|
|
131
133
|
};
|
|
132
134
|
MeetingInfoUtil.generateOptions = /*#__PURE__*/function () {
|
|
133
135
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(from) {
|
|
134
|
-
var destination, type, webex, options, hydraId,
|
|
136
|
+
var destination, type, webex, options, hydraId, serviceUrl;
|
|
135
137
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
136
138
|
while (1) switch (_context.prev = _context.next) {
|
|
137
139
|
case 0:
|
|
@@ -208,11 +210,10 @@ MeetingInfoUtil.generateOptions = /*#__PURE__*/function () {
|
|
|
208
210
|
_context.next = 36;
|
|
209
211
|
return webex.internal.services.waitForCatalog('postauth');
|
|
210
212
|
case 36:
|
|
211
|
-
|
|
212
|
-
cluster: hydraId.cluster
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
options.destination = conversationUrl;
|
|
213
|
+
serviceUrl = webex.internal.services.getServiceUrlFromClusterId({
|
|
214
|
+
cluster: hydraId.cluster
|
|
215
|
+
}, webex);
|
|
216
|
+
options.destination = hydraId.destination ? "".concat(serviceUrl, "/conversations/").concat(hydraId.destination) : serviceUrl;
|
|
216
217
|
_context.next = 44;
|
|
217
218
|
break;
|
|
218
219
|
case 40:
|
|
@@ -224,7 +225,7 @@ MeetingInfoUtil.generateOptions = /*#__PURE__*/function () {
|
|
|
224
225
|
_context.next = 47;
|
|
225
226
|
break;
|
|
226
227
|
case 46:
|
|
227
|
-
throw new _parameter.default('MeetingInfo is fetched with meeting link,
|
|
228
|
+
throw new _parameter.default('MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.');
|
|
228
229
|
case 47:
|
|
229
230
|
return _context.abrupt("return", _promise.default.resolve(options));
|
|
230
231
|
case 48:
|
|
@@ -296,6 +297,5 @@ MeetingInfoUtil.getRequestParams = function (resourceOptions, type, value, api)
|
|
|
296
297
|
}
|
|
297
298
|
return requestParams;
|
|
298
299
|
};
|
|
299
|
-
var _default = MeetingInfoUtil;
|
|
300
|
-
exports.default = _default;
|
|
300
|
+
var _default = exports.default = MeetingInfoUtil;
|
|
301
301
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeetingInfoUtil","extractDestination","destination","type","dest","_LOCUS_ID_","url","ParameterError","getParsedUrl","link","parsedUrl","parse","protocol","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","convertLinkToSip","user","userIndex","lastIndexOf","substring","company","companyIndex","replace","WWW_DOT","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","deconstructHydraId","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","length","catch","err","generateOptions","from","options","hydraId","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","resolve","waitForCatalog","conversationUrl","conversation","getUrlFromClusterId","getResourceUrl","resource","LOCI","MEETINGINFO","method","HTTP_VERBS","GET","uri","_PERSONAL_ROOM_","_MEETING_ID_","encodeURIComponent","TYPE","USE_URI_LOOKUP_FALSE","PUT","btoa","getRequestParams","resourceOptions","api","requestParams","concat","ALTERNATE_REDIRECT_TRUE","body","lookupType"],"sources":["util.ts"],"sourcesContent":["import url from 'url';\n\nimport btoa from 'btoa';\nimport {\n // @ts-ignore\n deconstructHydraId,\n} from '@webex/common';\n\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n HTTP_VERBS,\n USE_URI_LOOKUP_FALSE,\n TYPE,\n LOCI,\n MEETINGINFO,\n ALTERNATE_REDIRECT_TRUE,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n WWW_DOT,\n JOIN,\n MEET,\n MEET_M,\n HTTPS_PROTOCOL,\n UUID_REG,\n} from '../constants';\n\nconst MeetingInfoUtil: any = {};\n\nMeetingInfoUtil.extractDestination = (destination, type) => {\n let dest = destination;\n\n if (type === _LOCUS_ID_) {\n if (!(destination && destination.url)) {\n throw new ParameterError('You cannot create a meeting by locus without a locus.url defined');\n }\n dest = destination.url;\n }\n\n return dest;\n};\n\nMeetingInfoUtil.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 */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.convertLinkToSip = (value) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n\n if (!parsedUrl) {\n return null;\n }\n let user;\n\n if (parsedUrl.pathname) {\n const userIndex = parsedUrl.pathname.lastIndexOf('/');\n\n user = parsedUrl.pathname.substring(userIndex + 1);\n }\n if (!user) {\n return null;\n }\n let company;\n\n if (parsedUrl.hostname) {\n const companyIndex = parsedUrl.hostname.lastIndexOf(`.${WEBEX_DOT_COM}`);\n\n company = parsedUrl.hostname.substring(0, companyIndex).replace(WWW_DOT, '');\n }\n if (!company) {\n return null;\n }\n\n return `${user}@${company}.${WEBEX_DOT_COM}`;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n 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\nMeetingInfoUtil.generateOptions = async (from) => {\n const {destination, type, webex} = from;\n\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n const hydraId = MeetingInfoUtil.getHydraId(destination);\n\n if (MeetingInfoUtil.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 = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(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 options.type = _CONVERSATION_URL_;\n try {\n await webex.internal.services.waitForCatalog('postauth');\n\n const conversationUrl = webex.internal.conversation.getUrlFromClusterId({\n cluster: hydraId.cluster,\n id: hydraId.destination,\n });\n\n options.destination = conversationUrl;\n } catch (e) {\n LoggerProxy.logger.error(`Meeting-info:util#generateOptions --> ${e}`);\n throw e;\n }\n } else {\n throw new ParameterError(\n 'MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.'\n );\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 {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} value ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\nMeetingInfoUtil.getResourceUrl = (type: string, value: any) => {\n let resource = `/${LOCI}/${MEETINGINFO}`;\n let method = HTTP_VERBS.GET;\n let uri = null;\n\n switch (type) {\n case _SIP_URI_:\n case _PERSONAL_ROOM_:\n case _MEETING_ID_:\n resource = `/${LOCI}/${MEETINGINFO}/${encodeURIComponent(\n value\n )}?${TYPE}=${type}&${USE_URI_LOOKUP_FALSE}`;\n break;\n case _CONVERSATION_URL_:\n method = HTTP_VERBS.PUT;\n break;\n case _LOCUS_ID_:\n uri = `${value}/${MEETINGINFO}`;\n method = HTTP_VERBS.PUT;\n break;\n case _MEETING_LINK_:\n resource = `$/${LOCI}/${MEETINGINFO}/${btoa(\n value\n )}?${TYPE}=${_MEETING_LINK_}&${USE_URI_LOOKUP_FALSE}`;\n break;\n default:\n }\n\n return {\n uri,\n resource,\n method,\n };\n};\n\nMeetingInfoUtil.getRequestParams = (resourceOptions, type, value, api) => {\n let requestParams: any = {\n method: resourceOptions.method,\n api,\n resource: resourceOptions.resource,\n };\n\n if (resourceOptions.method === HTTP_VERBS.GET) {\n // for handling URL redirections\n requestParams.resource = requestParams.resource.concat(`&${ALTERNATE_REDIRECT_TRUE}`);\n } else if (type !== _LOCUS_ID_) {\n // locus id check is a PUT not sure why\n requestParams.resource = requestParams.resource.concat(`?${ALTERNATE_REDIRECT_TRUE}`);\n requestParams.body = {\n value,\n lookupType: type,\n };\n } else if (type === _LOCUS_ID_) {\n requestParams = {\n method: resourceOptions.method,\n uri: resourceOptions.uri,\n };\n }\n\n return requestParams;\n};\n\nexport default MeetingInfoUtil;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_url","_interopRequireDefault","require","_btoa","_common","_parameter","_loggerProxy","_constants","MeetingInfoUtil","extractDestination","destination","type","dest","_LOCUS_ID_","url","ParameterError","getParsedUrl","link","parsedUrl","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","convertLinkToSip","user","userIndex","lastIndexOf","substring","company","companyIndex","replace","WWW_DOT","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","_deconstructHydraId","deconstructHydraId","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","length","catch","err","generateOptions","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","from","options","hydraId","serviceUrl","wrap","_callee$","_context","prev","next","abrupt","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","_promise","resolve","waitForCatalog","getServiceUrlFromClusterId","t0","stop","_x","apply","arguments","getResourceUrl","resource","LOCI","MEETINGINFO","method","HTTP_VERBS","GET","uri","_PERSONAL_ROOM_","_MEETING_ID_","encodeURIComponent","TYPE","USE_URI_LOOKUP_FALSE","PUT","btoa","getRequestParams","resourceOptions","api","requestParams","ALTERNATE_REDIRECT_TRUE","body","lookupType","_default","exports"],"sources":["util.ts"],"sourcesContent":["import url from 'url';\n\nimport btoa from 'btoa';\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n HTTP_VERBS,\n USE_URI_LOOKUP_FALSE,\n TYPE,\n LOCI,\n MEETINGINFO,\n ALTERNATE_REDIRECT_TRUE,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n WWW_DOT,\n JOIN,\n MEET,\n MEET_M,\n HTTPS_PROTOCOL,\n UUID_REG,\n} from '../constants';\n\nconst MeetingInfoUtil: any = {};\n\nMeetingInfoUtil.extractDestination = (destination, type) => {\n let dest = destination;\n\n if (type === _LOCUS_ID_) {\n if (!(destination && destination.url)) {\n throw new ParameterError('You cannot create a meeting by locus without a locus.url defined');\n }\n dest = destination.url;\n }\n\n return dest;\n};\n\nMeetingInfoUtil.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 */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.convertLinkToSip = (value) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n\n if (!parsedUrl) {\n return null;\n }\n let user;\n\n if (parsedUrl.pathname) {\n const userIndex = parsedUrl.pathname.lastIndexOf('/');\n\n user = parsedUrl.pathname.substring(userIndex + 1);\n }\n if (!user) {\n return null;\n }\n let company;\n\n if (parsedUrl.hostname) {\n const companyIndex = parsedUrl.hostname.lastIndexOf(`.${WEBEX_DOT_COM}`);\n\n company = parsedUrl.hostname.substring(0, companyIndex).replace(WWW_DOT, '');\n }\n if (!company) {\n return null;\n }\n\n return `${user}@${company}.${WEBEX_DOT_COM}`;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n 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\nMeetingInfoUtil.generateOptions = async (from) => {\n const {destination, type, webex} = from;\n\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n const hydraId = MeetingInfoUtil.getHydraId(destination);\n\n if (MeetingInfoUtil.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 = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(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 options.type = _CONVERSATION_URL_;\n try {\n await webex.internal.services.waitForCatalog('postauth');\n\n const serviceUrl = webex.internal.services.getServiceUrlFromClusterId(\n {\n cluster: hydraId.cluster,\n },\n webex\n );\n\n options.destination = hydraId.destination\n ? `${serviceUrl}/conversations/${hydraId.destination}`\n : serviceUrl;\n } catch (e) {\n LoggerProxy.logger.error(`Meeting-info:util#generateOptions --> ${e}`);\n throw e;\n }\n } else {\n throw new ParameterError(\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.'\n );\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 {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} value ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\nMeetingInfoUtil.getResourceUrl = (type: string, value: any) => {\n let resource = `/${LOCI}/${MEETINGINFO}`;\n let method = HTTP_VERBS.GET;\n let uri = null;\n\n switch (type) {\n case _SIP_URI_:\n case _PERSONAL_ROOM_:\n case _MEETING_ID_:\n resource = `/${LOCI}/${MEETINGINFO}/${encodeURIComponent(\n value\n )}?${TYPE}=${type}&${USE_URI_LOOKUP_FALSE}`;\n break;\n case _CONVERSATION_URL_:\n method = HTTP_VERBS.PUT;\n break;\n case _LOCUS_ID_:\n uri = `${value}/${MEETINGINFO}`;\n method = HTTP_VERBS.PUT;\n break;\n case _MEETING_LINK_:\n resource = `$/${LOCI}/${MEETINGINFO}/${btoa(\n value\n )}?${TYPE}=${_MEETING_LINK_}&${USE_URI_LOOKUP_FALSE}`;\n break;\n default:\n }\n\n return {\n uri,\n resource,\n method,\n };\n};\n\nMeetingInfoUtil.getRequestParams = (resourceOptions, type, value, api) => {\n let requestParams: any = {\n method: resourceOptions.method,\n api,\n resource: resourceOptions.resource,\n };\n\n if (resourceOptions.method === HTTP_VERBS.GET) {\n // for handling URL redirections\n requestParams.resource = requestParams.resource.concat(`&${ALTERNATE_REDIRECT_TRUE}`);\n } else if (type !== _LOCUS_ID_) {\n // locus id check is a PUT not sure why\n requestParams.resource = requestParams.resource.concat(`?${ALTERNATE_REDIRECT_TRUE}`);\n requestParams.body = {\n value,\n lookupType: type,\n };\n } else if (type === _LOCUS_ID_) {\n requestParams = {\n method: resourceOptions.method,\n uri: resourceOptions.uri,\n };\n }\n\n return requestParams;\n};\n\nexport default MeetingInfoUtil;\n"],"mappings":"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"}
|
|
@@ -20,9 +20,11 @@ var _common = require("@webex/common");
|
|
|
20
20
|
var _constants = require("../constants");
|
|
21
21
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
22
22
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
23
|
-
|
|
24
|
-
function
|
|
23
|
+
var _webexErrors = require("../common/errors/webex-errors");
|
|
24
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } // @ts-ignore
|
|
25
26
|
var MeetingInfoUtil = {};
|
|
27
|
+
var meetingInfoError = 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';
|
|
26
28
|
MeetingInfoUtil.getParsedUrl = function (link) {
|
|
27
29
|
try {
|
|
28
30
|
var parsedUrl = _url.default.parse(link);
|
|
@@ -48,7 +50,7 @@ MeetingInfoUtil.getParsedUrl = function (link) {
|
|
|
48
50
|
MeetingInfoUtil.isMeetingLink = function (value) {
|
|
49
51
|
var parsedUrl = MeetingInfoUtil.getParsedUrl(value);
|
|
50
52
|
var hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(_constants.WEBEX_DOT_COM);
|
|
51
|
-
var pathNameBool = parsedUrl.pathname && (parsedUrl.pathname.includes("/".concat(_constants.MEET)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_M)) || parsedUrl.pathname.includes("/".concat(_constants.JOIN)));
|
|
53
|
+
var pathNameBool = parsedUrl.pathname && (parsedUrl.pathname.includes("/".concat(_constants.MEET)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_M)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_CISCO)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_CO)) || parsedUrl.pathname.includes("/".concat(_constants.JOIN)));
|
|
52
54
|
return hostNameBool && pathNameBool;
|
|
53
55
|
};
|
|
54
56
|
MeetingInfoUtil.isConversationUrl = function (value, webex) {
|
|
@@ -105,7 +107,7 @@ MeetingInfoUtil.getSipUriFromHydraPersonId = function (destination, webex) {
|
|
|
105
107
|
};
|
|
106
108
|
MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
107
109
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(from) {
|
|
108
|
-
var type, webex, destination, _options, res, _res$items$, orgId, userId, options, hydraId
|
|
110
|
+
var type, webex, destination, _options, res, _res$items$, orgId, userId, options, hydraId;
|
|
109
111
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
110
112
|
while (1) switch (_context.prev = _context.next) {
|
|
111
113
|
case 0:
|
|
@@ -154,7 +156,11 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
154
156
|
});
|
|
155
157
|
case 17:
|
|
156
158
|
options = {};
|
|
157
|
-
|
|
159
|
+
if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {
|
|
160
|
+
hydraId = null;
|
|
161
|
+
} else {
|
|
162
|
+
hydraId = MeetingInfoUtil.getHydraId(destination);
|
|
163
|
+
}
|
|
158
164
|
if (!MeetingInfoUtil.isMeetingLink(destination)) {
|
|
159
165
|
_context.next = 25;
|
|
160
166
|
break;
|
|
@@ -162,7 +168,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
162
168
|
_loggerProxy.default.logger.warn('Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead');
|
|
163
169
|
options.type = _constants._MEETING_LINK_;
|
|
164
170
|
options.destination = destination;
|
|
165
|
-
_context.next =
|
|
171
|
+
_context.next = 52;
|
|
166
172
|
break;
|
|
167
173
|
case 25:
|
|
168
174
|
if (!MeetingInfoUtil.isSipUri(destination)) {
|
|
@@ -171,7 +177,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
171
177
|
}
|
|
172
178
|
options.type = _constants._SIP_URI_;
|
|
173
179
|
options.destination = destination;
|
|
174
|
-
_context.next =
|
|
180
|
+
_context.next = 52;
|
|
175
181
|
break;
|
|
176
182
|
case 30:
|
|
177
183
|
if (!MeetingInfoUtil.isPhoneNumber(destination)) {
|
|
@@ -180,7 +186,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
180
186
|
}
|
|
181
187
|
options.type = _constants._SIP_URI_;
|
|
182
188
|
options.destination = destination;
|
|
183
|
-
_context.next =
|
|
189
|
+
_context.next = 52;
|
|
184
190
|
break;
|
|
185
191
|
case 35:
|
|
186
192
|
if (!MeetingInfoUtil.isConversationUrl(destination, webex)) {
|
|
@@ -189,15 +195,15 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
189
195
|
}
|
|
190
196
|
options.type = _constants._CONVERSATION_URL_;
|
|
191
197
|
options.destination = destination;
|
|
192
|
-
_context.next =
|
|
198
|
+
_context.next = 52;
|
|
193
199
|
break;
|
|
194
200
|
case 40:
|
|
195
|
-
if (!hydraId.people) {
|
|
201
|
+
if (!(hydraId && hydraId.people)) {
|
|
196
202
|
_context.next = 45;
|
|
197
203
|
break;
|
|
198
204
|
}
|
|
199
205
|
options.type = _constants._SIP_URI_;
|
|
200
|
-
return _context.abrupt("return", MeetingInfoUtil.getSipUriFromHydraPersonId(hydraId.destination, webex).then(function (res) {
|
|
206
|
+
return _context.abrupt("return", MeetingInfoUtil.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then(function (res) {
|
|
201
207
|
options.destination = res;
|
|
202
208
|
|
|
203
209
|
// Since hydra person ids require a unique case in which they are
|
|
@@ -208,39 +214,22 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
208
214
|
}));
|
|
209
215
|
case 45:
|
|
210
216
|
if (!hydraId.room) {
|
|
211
|
-
_context.next =
|
|
217
|
+
_context.next = 50;
|
|
212
218
|
break;
|
|
213
219
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return webex.internal.services.waitForCatalog('postauth');
|
|
220
|
+
_loggerProxy.default.logger.error("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.");
|
|
221
|
+
// Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.
|
|
222
|
+
throw new _webexErrors.SpaceIDDeprecatedError();
|
|
218
223
|
case 50:
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
});
|
|
223
|
-
options.destination = conversationUrl;
|
|
224
|
-
_context.next = 58;
|
|
225
|
-
break;
|
|
226
|
-
case 54:
|
|
227
|
-
_context.prev = 54;
|
|
228
|
-
_context.t0 = _context["catch"](47);
|
|
229
|
-
_loggerProxy.default.logger.error("Meeting-info:util#getDestinationType --> ".concat(_context.t0));
|
|
230
|
-
throw _context.t0;
|
|
231
|
-
case 58:
|
|
232
|
-
_context.next = 62;
|
|
233
|
-
break;
|
|
234
|
-
case 60:
|
|
235
|
-
_loggerProxy.default.logger.warn("Meeting-info:util#getDestinationType --> ('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.");
|
|
236
|
-
throw new _parameter.default('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.');
|
|
237
|
-
case 62:
|
|
224
|
+
_loggerProxy.default.logger.warn("Meeting-info:util#getDestinationType --> ".concat(meetingInfoError));
|
|
225
|
+
throw new _parameter.default("".concat(meetingInfoError));
|
|
226
|
+
case 52:
|
|
238
227
|
return _context.abrupt("return", _promise.default.resolve(options));
|
|
239
|
-
case
|
|
228
|
+
case 53:
|
|
240
229
|
case "end":
|
|
241
230
|
return _context.stop();
|
|
242
231
|
}
|
|
243
|
-
}, _callee
|
|
232
|
+
}, _callee);
|
|
244
233
|
}));
|
|
245
234
|
return function (_x) {
|
|
246
235
|
return _ref.apply(this, arguments);
|
|
@@ -251,6 +240,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
251
240
|
* Helper function to build up a correct locus url depending on the value passed
|
|
252
241
|
* @param {Object} options type and value to fetch meeting info
|
|
253
242
|
* @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
|
|
243
|
+
* @param {String} options.installedOrgID org ID of user's machine
|
|
254
244
|
* @param {Object} options.destination ?? value.value
|
|
255
245
|
* @returns {Object} returns an object with {resource, method}
|
|
256
246
|
*/
|
|
@@ -261,8 +251,9 @@ MeetingInfoUtil.getRequestBody = function (options) {
|
|
|
261
251
|
password = options.password,
|
|
262
252
|
captchaInfo = options.captchaInfo,
|
|
263
253
|
installedOrgID = options.installedOrgID,
|
|
264
|
-
locusId = options.locusId
|
|
265
|
-
|
|
254
|
+
locusId = options.locusId,
|
|
255
|
+
extraParams = options.extraParams;
|
|
256
|
+
var body = _objectSpread(_objectSpread({}, _constants.DEFAULT_MEETING_INFO_REQUEST_BODY), extraParams);
|
|
266
257
|
switch (type) {
|
|
267
258
|
case _constants._SIP_URI_:
|
|
268
259
|
body.sipUrl = destination;
|
|
@@ -346,6 +337,5 @@ MeetingInfoUtil.getDirectMeetingInfoURI = function (options) {
|
|
|
346
337
|
}
|
|
347
338
|
return preferredWebexSite ? "https://".concat(preferredWebexSite, "/wbxappapi/v1/meetingInfo") : null;
|
|
348
339
|
};
|
|
349
|
-
var _default = MeetingInfoUtil;
|
|
350
|
-
exports.default = _default;
|
|
340
|
+
var _default = exports.default = MeetingInfoUtil;
|
|
351
341
|
//# sourceMappingURL=utilv2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeetingInfoUtil","getParsedUrl","link","parsedUrl","url","parse","protocol","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","JOIN","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","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","length","ParameterError","catch","err","getDestinationType","from","_PERSONAL_ROOM_","userId","device","orgId","options","VALID_EMAIL_ADDRESS","email","list","items","hydraId","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","resolve","waitForCatalog","conversationUrl","conversation","getUrlFromClusterId","getRequestBody","password","captchaInfo","installedOrgID","locusId","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","_MEETING_ID_","meetingKey","_LOCUS_ID_","info","webExMeetingId","meetingUrl","_MEETING_UUID_","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","exceptedDomains","site","match","getDirectMeetingInfoURI","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\nimport {\n // @ts-ignore\n deconstructHydraId,\n} from '@webex/common';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n _MEETING_UUID_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nconst MeetingInfoUtil: any = {};\n\nMeetingInfoUtil.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 */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.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\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n 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\nMeetingInfoUtil.getDestinationType = async (from) => {\n const {type, webex} = from;\n let {destination} = from;\n\n if (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 const hydraId = MeetingInfoUtil.getHydraId(destination);\n\n if (MeetingInfoUtil.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 = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(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 options.type = _CONVERSATION_URL_;\n try {\n await webex.internal.services.waitForCatalog('postauth');\n\n const conversationUrl = webex.internal.conversation.getUrlFromClusterId({\n cluster: hydraId.cluster,\n id: hydraId.destination,\n });\n\n options.destination = conversationUrl;\n } catch (e) {\n LoggerProxy.logger.error(`Meeting-info:util#getDestinationType --> ${e}`);\n throw e;\n }\n } else {\n LoggerProxy.logger.warn(\n \"Meeting-info:util#getDestinationType --> ('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.\"\n );\n throw new ParameterError(\n 'MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.'\n );\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 {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 {Object} returns an object with {resource, method}\n */\nMeetingInfoUtil.getRequestBody = (options: {type: string; destination: object} | any) => {\n const {type, destination, password, captchaInfo, installedOrgID, locusId} = options;\n const body: any = {...DEFAULT_MEETING_INFO_REQUEST_BODY};\n\n switch (type) {\n case _SIP_URI_:\n body.sipUrl = destination;\n break;\n case _PERSONAL_ROOM_:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case _MEETING_ID_:\n body.meetingKey = destination;\n break;\n case _CONVERSATION_URL_:\n body.conversationUrl = destination;\n break;\n case _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 _MEETING_LINK_:\n body.meetingUrl = destination;\n break;\n case _MEETING_UUID_: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\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 */\nMeetingInfoUtil.getWebexSite = (uri: string) => {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n\n return exceptedDomains.includes(site) ? 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 */\nMeetingInfoUtil.getDirectMeetingInfoURI = (options: {type: string; destination: any}) => {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case _SIP_URI_:\n preferredWebexSite = MeetingInfoUtil.getWebexSite(destination);\n break;\n case _LOCUS_ID_:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n};\n\nexport default MeetingInfoUtil;\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","meetingInfoError","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","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","_ref","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","_PERSONAL_ROOM_","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","stop","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","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","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite","_default","exports"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n _MEETING_UUID_,\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} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\nconst MeetingInfoUtil: any = {};\nconst meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\nMeetingInfoUtil.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 */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const 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\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.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\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.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\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n 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\nMeetingInfoUtil.getDestinationType = async (from) => {\n const {type, webex} = from;\n let {destination} = from;\n\n if (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 = MeetingInfoUtil.getHydraId(destination);\n }\n\n if (MeetingInfoUtil.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 = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then(\n (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 );\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 --> ${meetingInfoError}`);\n throw new ParameterError(`${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 {String} 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 */\nMeetingInfoUtil.getRequestBody = (options: {type: string; destination: object} | any) => {\n const {type, destination, password, captchaInfo, installedOrgID, locusId, extraParams} = options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case _SIP_URI_:\n body.sipUrl = destination;\n break;\n case _PERSONAL_ROOM_:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case _MEETING_ID_:\n body.meetingKey = destination;\n break;\n case _CONVERSATION_URL_:\n body.conversationUrl = destination;\n break;\n case _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 _MEETING_LINK_:\n body.meetingUrl = destination;\n break;\n case _MEETING_UUID_: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\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 */\nMeetingInfoUtil.getWebexSite = (uri: string) => {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n\n return exceptedDomains.includes(site) ? 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 */\nMeetingInfoUtil.getDirectMeetingInfoURI = (options: {type: string; destination: any}) => {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case _SIP_URI_:\n preferredWebexSite = MeetingInfoUtil.getWebexSite(destination);\n break;\n case _LOCUS_ID_:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n};\n\nexport default MeetingInfoUtil;\n"],"mappings":"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"}
|
|
@@ -20,4 +20,21 @@ export default class MeetingCollection extends Collection {
|
|
|
20
20
|
* @memberof MeetingCollection
|
|
21
21
|
*/
|
|
22
22
|
getByKey(key: string, value: any): any;
|
|
23
|
+
/**
|
|
24
|
+
* get a specific meeting searching for key
|
|
25
|
+
* @param {String} breakoutUrl
|
|
26
|
+
* @returns {Meeting} if found, else returns null
|
|
27
|
+
* @public
|
|
28
|
+
* @memberof MeetingCollection
|
|
29
|
+
*/
|
|
30
|
+
getActiveBreakoutLocus(breakoutUrl: string): any;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the meeting that has a webrtc media connection
|
|
33
|
+
* NOTE: this function assumes there is no more than 1 such meeting
|
|
34
|
+
*
|
|
35
|
+
* @returns {Meeting} first meeting found, else undefined
|
|
36
|
+
* @public
|
|
37
|
+
* @memberof MeetingCollection
|
|
38
|
+
*/
|
|
39
|
+
getActiveWebrtcMeeting(): any;
|
|
23
40
|
}
|