@webex/plugin-meetings 3.0.0-beta.16 → 3.0.0-beta.161
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/README.md +45 -1
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +359 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +212 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +43 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +1046 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/webex-errors.js +3 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/config.js +6 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.js +175 -26
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +300 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +214 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +92 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +317 -24
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +2 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +97 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +39 -134
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +19 -97
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -493
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +79 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2349 -2178
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +229 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +191 -167
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +444 -443
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +157 -49
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +20 -5
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +365 -73
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +16 -12
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +43 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +97 -3
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +94 -11
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +109 -39
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +50 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +3 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +48 -29
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +265 -36
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +52 -19
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +53 -33
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +322 -103
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +4 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/reachability/index.js +117 -60
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +12 -5
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +2 -2
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +18 -18
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +190 -145
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +21 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +127 -92
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +135 -53
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +329 -314
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +103 -54
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +43 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +124 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +2 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +32 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +987 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +315 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +86 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +149 -0
- package/dist/types/meeting/index.d.ts +1524 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +270 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +75 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +364 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +158 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +210 -0
- package/dist/types/metrics/config.d.ts +195 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +169 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +36 -0
- package/dist/types/roap/turnDiscovery.d.ts +91 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/package.json +28 -21
- package/src/annotation/annotation.types.ts +52 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +343 -0
- package/src/breakouts/README.md +220 -0
- package/src/breakouts/breakout.ts +180 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +37 -0
- package/src/breakouts/index.ts +921 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/config.ts +5 -7
- package/src/constants.ts +165 -20
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +286 -0
- package/src/index.ts +34 -0
- package/src/interpretation/README.md +51 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +182 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +110 -0
- package/src/locus-info/index.ts +339 -21
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +2 -1
- package/src/locus-info/selfUtils.ts +86 -2
- package/src/media/index.ts +70 -142
- package/src/media/properties.ts +41 -104
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +156 -0
- package/src/meeting/index.ts +1779 -1741
- package/src/meeting/locusMediaRequest.ts +309 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +100 -91
- package/src/meeting/request.type.ts +2 -0
- package/src/meeting/util.ts +422 -421
- package/src/meeting-info/meeting-info-v2.ts +134 -13
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +385 -83
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +3 -1
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +42 -0
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +95 -1
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +108 -6
- package/src/members/request.ts +98 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/config.ts +49 -10
- package/src/metrics/constants.ts +2 -4
- package/src/metrics/index.ts +43 -27
- package/src/multistream/mediaRequestManager.ts +337 -63
- package/src/multistream/receiveSlot.ts +68 -26
- package/src/multistream/receiveSlotManager.ts +61 -38
- package/src/multistream/remoteMedia.ts +29 -3
- package/src/multistream/remoteMediaGroup.ts +61 -2
- package/src/multistream/remoteMediaManager.ts +260 -66
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +75 -25
- package/src/reachability/request.ts +10 -5
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +28 -3
- package/src/reconnection-manager/index.ts +53 -32
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +51 -52
- package/src/roap/turnDiscovery.ts +51 -27
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +380 -390
- package/src/statsAnalyzer/mqaUtil.ts +106 -99
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +331 -254
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +436 -0
- package/test/unit/spec/breakouts/breakout.ts +233 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +77 -0
- package/test/unit/spec/breakouts/index.ts +1790 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +518 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +329 -0
- package/test/unit/spec/interpretation/siLanguage.ts +26 -0
- package/test/unit/spec/locus-info/controlsUtils.js +323 -30
- package/test/unit/spec/locus-info/index.js +680 -4
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/selfConstant.js +48 -0
- package/test/unit/spec/locus-info/selfUtils.js +275 -0
- package/test/unit/spec/media/index.ts +118 -22
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +76 -0
- package/test/unit/spec/meeting/index.js +2695 -1513
- package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +354 -42
- package/test/unit/spec/meeting/utils.js +270 -156
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +866 -120
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +31 -0
- package/test/unit/spec/member/util.js +408 -32
- package/test/unit/spec/members/index.js +320 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +98 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +1012 -109
- package/test/unit/spec/multistream/receiveSlot.ts +77 -18
- package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +672 -65
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +176 -25
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +46 -13
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +21 -51
- package/test/unit/spec/roap/request.ts +187 -0
- package/test/unit/spec/roap/turnDiscovery.ts +73 -34
- package/test/unit/spec/stats-analyzer/index.js +94 -43
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +7 -3
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -18
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -106
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -15
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting/effectsState.ts +0 -211
- package/src/multistream/multistreamMedia.ts +0 -93
- package/test/unit/spec/meeting/effectsState.js +0 -281
package/dist/meeting/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeetingUtil","parseLocusJoin","response","parsed","locus","body","mediaConnections","locusUrl","url","locusId","split","pop","selfId","self","id","forEach","mediaConnection","mediaId","remoteUpdateAudioVideo","audioMuted","videoMuted","meeting","reject","ParameterError","localMedias","Media","generateLocalMedias","Metrics","postEvent","event","eventType","MEDIA_REQUEST","meetingRequest","remoteAudioVideoToggle","deviceUrl","correlationId","preferTranscoding","isMultistream","then","MEDIA_RESPONSE","hasOwner","info","owner","isOwnerSelf","isPinOrGuest","err","errorCode","INTENT_TO_JOIN","includes","joinMeeting","options","LOCUS_JOIN_REQUEST","inviteeAddress","meetingJoinUrl","sipUri","meetingNumber","roapMessage","permissionToken","resourceId","moderator","pin","moveToResource","asResourceOccupant","res","LOCUS_JOIN_RESPONSE","data","trigger","LOCI_UPDATE","trackingId","headers","trackingid","cleanUp","stopStatsAnalyzer","statsAnalyzer","stopAnalyzer","resolve","closeLocalStream","closeLocalShare","closeRemoteTracks","closePeerConnections","unsetLocalVideoTrack","unsetLocalShareTrack","unsetRemoteTracks","unsetPeerConnections","reconnectionManager","stopKeepAlive","updateLLMConnection","disconnectPhoneAudio","phoneUrl","meetingState","FULL_STATE","INACTIVE","MeetingNotActiveError","locusInfo","onFullLocus","catch","LoggerProxy","logger","error","leaveMeeting","isUserInLeftState","UserNotJoinedError","defaultOptions","leaveOptions","moveMeeting","declineMeeting","reason","parsedLocus","state","_LEFT_","isUserInIdleState","_IDLE_","isUserInJoinedState","_JOINED_","isMediaEstablished","currentMediaStatus","audio","video","share","joinMeetingOptions","requiredCaptcha","CaptchaError","passwordStatus","PASSWORD_STATUS","REQUIRED","PasswordError","PIN_COLLECTED","setLocus","PIN_PROMPT","IntentToJoinError","JoinMeetingError","validateOptions","sendVideo","sendAudio","sendShare","localStream","localShare","getTrack","videoTrack","audioTrack","stream","audioTracks","videoTracks","getAudioTracks","getVideoTracks","length","getModeratorFromLocusInfo","getPolicyFromLocusInfo","policy","getUserDisplayHintsFromLocusInfo","userDisplayHints","canInviteNewParticipants","displayHints","DISPLAY_HINTS","ADD_GUEST","canAdmitParticipant","ROSTER_WAITING_TO_JOIN","canUserLock","LOCK_CONTROL_LOCK","LOCK_STATUS_UNLOCKED","canUserUnlock","LOCK_CONTROL_UNLOCK","LOCK_STATUS_LOCKED","canUserRecord","RECORDING_CONTROL_START","canUserPause","RECORDING_CONTROL_PAUSE","canUserResume","RECORDING_CONTROL_RESUME","canUserStop","RECORDING_CONTROL_STOP","startRecording","request","recordMeeting","recording","paused","PermissionError","pauseRecording","resumeRecording","stopRecording","canUserRaiseHand","RAISE_HAND","canUserLowerAllHands","LOWER_ALL_HANDS","canUserLowerSomeoneElsesHand","LOWER_SOMEONE_ELSES_HAND","bothLeaveAndEndMeetingAvailable","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","lockMeeting","actions","canLock","lock","unlockMeeting","canUnlock","handleAudioLogging","LOG_HEADER","settings","getSettings","deviceId","log","handleVideoLogging","handleDeviceLogging","devices","device","endMeetingForAll","endOptions","canEnableClosedCaption","CAPTION_START","canStartTranscribing","TRANSCRIPTION_CONTROL_START","canStopTranscribing","TRANSCRIPTION_CONTROL_STOP","isClosedCaptionActive","CAPTION_STATUS_ACTIVE","isWebexAssistantActive","WEBEX_ASSISTANT_STATUS_ACTIVE","canViewCaptionPanel","ENABLE_CAPTION_PANEL","isRealTimeTranslationEnabled","DISPLAY_REAL_TIME_TRANSLATION","canSelectSpokenLanguages","DISPLAY_NON_ENGLISH_ASR","waitingForOthersToJoin","WAITING_FOR_OTHERS"],"sources":["util.ts"],"sourcesContent":["import {isEmpty} from 'lodash';\n\nimport {MeetingNotActiveError, UserNotJoinedError} from '../common/errors/webex-errors';\nimport Metrics from '../metrics';\nimport {eventType, trigger} from '../metrics/config';\nimport Media from '../media';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {\n INTENT_TO_JOIN,\n _LEFT_,\n _IDLE_,\n _JOINED_,\n PASSWORD_STATUS,\n DISPLAY_HINTS,\n FULL_STATE,\n} from '../constants';\nimport IntentToJoinError from '../common/errors/intent-to-join';\nimport JoinMeetingError from '../common/errors/join-meeting';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\nimport PasswordError from '../common/errors/password-error';\nimport CaptchaError from '../common/errors/captcha-error';\n\nconst MeetingUtil: any = {};\n\nMeetingUtil.parseLocusJoin = (response) => {\n const parsed: any = {};\n\n // First todo: add check for existance\n parsed.locus = response.body.locus;\n parsed.mediaConnections = response.body.mediaConnections;\n parsed.locusUrl = parsed.locus.url;\n parsed.locusId = parsed.locus.url.split('/').pop();\n parsed.selfId = parsed.locus.self.id;\n\n // we need mediaId before making roap calls\n parsed.mediaConnections.forEach((mediaConnection) => {\n if (mediaConnection.mediaId) {\n parsed.mediaId = mediaConnection.mediaId;\n }\n });\n\n return parsed;\n};\n\nMeetingUtil.remoteUpdateAudioVideo = (audioMuted, videoMuted, meeting) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n const localMedias = Media.generateLocalMedias(meeting.mediaId, audioMuted, videoMuted);\n\n if (isEmpty(localMedias)) {\n return Promise.reject(\n new ParameterError('You need a media id on the meeting to change remote audio.')\n );\n }\n\n Metrics.postEvent({event: eventType.MEDIA_REQUEST, meeting});\n\n return meeting.meetingRequest\n .remoteAudioVideoToggle({\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n localMedias,\n deviceUrl: meeting.deviceUrl,\n correlationId: meeting.correlationId,\n preferTranscoding: !meeting.isMultistream,\n })\n .then((response) => {\n Metrics.postEvent({event: eventType.MEDIA_RESPONSE, meeting});\n\n return response.body.locus;\n });\n};\n\nMeetingUtil.hasOwner = (info) => info && info.owner;\n\nMeetingUtil.isOwnerSelf = (owner, selfId) => owner === selfId;\n\nMeetingUtil.isPinOrGuest = (err) =>\n err?.body?.errorCode && INTENT_TO_JOIN.includes(err.body.errorCode);\n\nMeetingUtil.joinMeeting = (meeting, options) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n\n Metrics.postEvent({event: eventType.LOCUS_JOIN_REQUEST, meeting});\n\n // eslint-disable-next-line no-warning-comments\n // TODO: check if the meeting is in JOINING state\n // if Joining state termintate the request as user might click multiple times\n return meeting.meetingRequest\n .joinMeeting({\n inviteeAddress: meeting.meetingJoinUrl || meeting.sipUri,\n meetingNumber: meeting.meetingNumber,\n deviceUrl: meeting.deviceUrl,\n locusUrl: meeting.locusUrl,\n correlationId: meeting.correlationId,\n roapMessage: options.roapMessage,\n permissionToken: meeting.permissionToken,\n resourceId: options.resourceId || null,\n moderator: options.moderator,\n pin: options.pin,\n moveToResource: options.moveToResource,\n preferTranscoding: !meeting.isMultistream,\n asResourceOccupant: options.asResourceOccupant,\n })\n .then((res) => {\n Metrics.postEvent({\n event: eventType.LOCUS_JOIN_RESPONSE,\n meeting,\n data: {\n trigger: trigger.LOCI_UPDATE,\n locus: res.body.locus,\n mediaConnections: res.body.mediaConnections,\n trackingId: res.headers.trackingid,\n },\n });\n\n return MeetingUtil.parseLocusJoin(res);\n });\n};\n\nMeetingUtil.cleanUp = (meeting) => {\n // make sure we send last metrics before we close the peerconnection\n const stopStatsAnalyzer = meeting.statsAnalyzer\n ? meeting.statsAnalyzer.stopAnalyzer()\n : Promise.resolve();\n\n return stopStatsAnalyzer\n .then(() => meeting.closeLocalStream())\n .then(() => meeting.closeLocalShare())\n .then(() => meeting.closeRemoteTracks())\n .then(() => meeting.closePeerConnections())\n .then(() => {\n meeting.unsetLocalVideoTrack();\n meeting.unsetLocalShareTrack();\n meeting.unsetRemoteTracks();\n meeting.unsetPeerConnections();\n meeting.reconnectionManager.cleanUp();\n })\n .then(() => meeting.stopKeepAlive())\n .then(() => meeting.updateLLMConnection());\n};\n\nMeetingUtil.disconnectPhoneAudio = (meeting, phoneUrl) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const options = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n phoneUrl,\n };\n\n return meeting.meetingRequest\n .disconnectPhoneAudio(options)\n .then((response) => {\n if (response?.body?.locus) {\n meeting.locusInfo.onFullLocus(response.body.locus);\n }\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#disconnectPhoneAudio --> An error occured while disconnecting phone audio in meeting ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n};\n\n// by default will leave on meeting's resourceId\n// if you explicity want it not to leave on resource id, pass\n// {resourceId: null}\n// TODO: chris, you can modify this however you want\nMeetingUtil.leaveMeeting = (meeting, options: any = {}) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n // TODO: clean up if the meeting is already inactive\n return Promise.reject(new MeetingNotActiveError());\n }\n\n if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {\n return Promise.reject(new UserNotJoinedError());\n }\n\n const defaultOptions = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n resourceId: meeting.resourceId,\n deviceUrl: meeting.deviceUrl,\n };\n\n const leaveOptions = {...defaultOptions, ...options};\n\n return meeting.meetingRequest\n .leaveMeeting(leaveOptions)\n .then((response) => {\n if (response && response.body && response.body.locus) {\n // && !options.moveMeeting) {\n meeting.locusInfo.onFullLocus(response.body.locus);\n }\n\n return Promise.resolve();\n })\n .then(() => {\n if (options.moveMeeting) {\n return Promise.resolve();\n }\n\n return MeetingUtil.cleanUp(meeting);\n })\n .catch((err) => {\n // TODO: If the meeting state comes as LEFT or INACTIVE as response then\n // 1) on leave clean up the meeting or simply do a sync on the meeting\n // 2) If the error says meeting is inactive then destroy the meeting object\n LoggerProxy.logger.error(\n `Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n};\nMeetingUtil.declineMeeting = (meeting, reason) =>\n meeting.meetingRequest.declineMeeting({\n locusUrl: meeting.locusUrl,\n deviceUrl: meeting.deviceUrl,\n reason,\n });\n\nMeetingUtil.isUserInLeftState = (locusInfo) => locusInfo.parsedLocus?.self?.state === _LEFT_;\n\nMeetingUtil.isUserInIdleState = (locusInfo) => locusInfo.parsedLocus?.self?.state === _IDLE_;\n\nMeetingUtil.isUserInJoinedState = (locusInfo) => locusInfo.parsedLocus?.self?.state === _JOINED_;\n\nMeetingUtil.isMediaEstablished = (currentMediaStatus) =>\n currentMediaStatus &&\n (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share);\n\nMeetingUtil.joinMeetingOptions = (meeting, options: any = {}) => {\n meeting.resourceId = meeting.resourceId || options.resourceId;\n\n if (meeting.requiredCaptcha) {\n return Promise.reject(new CaptchaError());\n }\n if (meeting.passwordStatus === PASSWORD_STATUS.REQUIRED) {\n return Promise.reject(new PasswordError());\n }\n\n if (options.pin) {\n Metrics.postEvent({\n event: eventType.PIN_COLLECTED,\n meeting,\n });\n }\n\n // normal join meeting, scenario A, D\n return MeetingUtil.joinMeeting(meeting, options)\n .then((response) => {\n meeting.setLocus(response);\n\n return Promise.resolve(response);\n })\n .catch((err) => {\n // joining a claimed PMR that is not my own, scenario B\n if (MeetingUtil.isPinOrGuest(err)) {\n Metrics.postEvent({\n event: eventType.PIN_PROMPT,\n meeting,\n });\n\n // request host pin or non host for unclaimed PMR, start of Scenario C\n // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature\n return Promise.reject(new IntentToJoinError('Error Joining Meeting', err));\n }\n LoggerProxy.logger.error('Meeting:util#joinMeetingOptions --> Error joining the call, ', err);\n\n return Promise.reject(new JoinMeetingError(options, 'Error Joining Meeting', err));\n });\n};\n\nMeetingUtil.validateOptions = (options) => {\n const {sendVideo, sendAudio, sendShare, localStream, localShare} = options;\n\n if (sendVideo && !MeetingUtil.getTrack(localStream).videoTrack) {\n return Promise.reject(new ParameterError('please pass valid video streams'));\n }\n\n if (sendAudio && !MeetingUtil.getTrack(localStream).audioTrack) {\n return Promise.reject(new ParameterError('please pass valid audio streams'));\n }\n\n if (sendShare && !MeetingUtil.getTrack(localShare).videoTrack) {\n return Promise.reject(new ParameterError('please pass valid share streams'));\n }\n\n return Promise.resolve();\n};\n\nMeetingUtil.getTrack = (stream) => {\n let audioTrack = null;\n let videoTrack = null;\n let audioTracks = null;\n let videoTracks = null;\n\n if (!stream) {\n return {audioTrack: null, videoTrack: null};\n }\n if (stream.getAudioTracks) {\n audioTracks = stream.getAudioTracks();\n }\n if (stream.getVideoTracks) {\n videoTracks = stream.getVideoTracks();\n }\n\n if (audioTracks && audioTracks.length > 0) {\n [audioTrack] = audioTracks;\n }\n\n if (videoTracks && videoTracks.length > 0) {\n [videoTrack] = videoTracks;\n }\n\n return {audioTrack, videoTrack};\n};\n\nMeetingUtil.getModeratorFromLocusInfo = (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.moderator;\n\nMeetingUtil.getPolicyFromLocusInfo = (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.policy;\n\nMeetingUtil.getUserDisplayHintsFromLocusInfo = (locusInfo) =>\n locusInfo?.parsedLocus?.info?.userDisplayHints || [];\n\nMeetingUtil.canInviteNewParticipants = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.ADD_GUEST);\n\nMeetingUtil.canAdmitParticipant = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.ROSTER_WAITING_TO_JOIN);\n\nMeetingUtil.canUserLock = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_LOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_UNLOCKED);\n\nMeetingUtil.canUserUnlock = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_UNLOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_LOCKED);\n\nMeetingUtil.canUserRecord = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_START);\n\nMeetingUtil.canUserPause = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_PAUSE);\n\nMeetingUtil.canUserResume = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_RESUME);\n\nMeetingUtil.canUserStop = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_STOP);\n\nMeetingUtil.startRecording = (request, locusUrl, locusInfo) => {\n const displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);\n\n if (MeetingUtil.canUserRecord(displayHints)) {\n return request.recordMeeting({locusUrl, recording: true, paused: false});\n }\n\n return Promise.reject(\n new PermissionError('Start recording not allowed, due to moderator property.')\n );\n};\n\nMeetingUtil.pauseRecording = (request, locusUrl, locusInfo) => {\n const displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);\n\n if (MeetingUtil.canUserPause(displayHints)) {\n return request.recordMeeting({locusUrl, recording: true, paused: true});\n }\n\n return Promise.reject(\n new PermissionError('Pause recording not allowed, due to moderator property.')\n );\n};\n\nMeetingUtil.resumeRecording = (request, locusUrl, locusInfo) => {\n const displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);\n\n if (MeetingUtil.canUserResume(displayHints)) {\n return request.recordMeeting({locusUrl, recording: true, paused: false});\n }\n\n return Promise.reject(\n new PermissionError('Resume recording not allowed, due to moderator property.')\n );\n};\n\nMeetingUtil.stopRecording = (request, locusUrl, locusInfo) => {\n const displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);\n\n if (MeetingUtil.canUserStop(displayHints)) {\n return request.recordMeeting({locusUrl, recording: false, paused: false});\n }\n\n return Promise.reject(\n new PermissionError('Stop recording not allowed, due to moderator property.')\n );\n};\n\nMeetingUtil.canUserRaiseHand = (displayHints) => displayHints.includes(DISPLAY_HINTS.RAISE_HAND);\n\nMeetingUtil.canUserLowerAllHands = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOWER_ALL_HANDS);\n\nMeetingUtil.canUserLowerSomeoneElsesHand = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOWER_SOMEONE_ELSES_HAND);\n\nMeetingUtil.bothLeaveAndEndMeetingAvailable = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LEAVE_TRANSFER_HOST_END_MEETING) ||\n displayHints.includes(DISPLAY_HINTS.LEAVE_END_MEETING);\n\nMeetingUtil.lockMeeting = (actions, request, locusUrl) => {\n if (actions && actions.canLock) {\n return request.lockMeeting({locusUrl, lock: true});\n }\n\n return Promise.reject(new PermissionError('Lock not allowed, due to joined property.'));\n};\n\nMeetingUtil.unlockMeeting = (actions, request, locusUrl) => {\n if (actions && actions.canUnlock) {\n return request.lockMeeting({locusUrl, lock: false});\n }\n\n return Promise.reject(new PermissionError('Unlock not allowed, due to joined property.'));\n};\n\nMeetingUtil.handleAudioLogging = (audioTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';\n\n if (audioTrack) {\n const settings = audioTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n};\n\nMeetingUtil.handleVideoLogging = (videoTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';\n\n if (videoTrack) {\n const settings = videoTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n};\n\nMeetingUtil.handleDeviceLogging = (devices = []) => {\n const LOG_HEADER = 'MeetingUtil#handleDeviceLogging -->';\n\n devices.forEach((device) => {\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${device.deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings', JSON.stringify(device));\n });\n};\n\nMeetingUtil.endMeetingForAll = (meeting) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const endOptions = {\n locusUrl: meeting.locusUrl,\n };\n\n return meeting.meetingRequest\n .endMeetingForAll(endOptions)\n .then((response) => {\n if (response && response.body && response.body.locus) {\n meeting.locusInfo.onFullLocus(response.body.locus);\n }\n\n return Promise.resolve();\n })\n .then(() => MeetingUtil.cleanUp(meeting))\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#endMeetingForAll An error occured while trying to end meeting for all with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n};\n\nMeetingUtil.canEnableClosedCaption = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAPTION_START);\n\nMeetingUtil.canStartTranscribing = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_START);\n\nMeetingUtil.canStopTranscribing = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_STOP);\n\nMeetingUtil.isClosedCaptionActive = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAPTION_STATUS_ACTIVE);\n\nMeetingUtil.isWebexAssistantActive = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.WEBEX_ASSISTANT_STATUS_ACTIVE);\n\nMeetingUtil.canViewCaptionPanel = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.ENABLE_CAPTION_PANEL);\n\nMeetingUtil.isRealTimeTranslationEnabled = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_REAL_TIME_TRANSLATION);\n\nMeetingUtil.canSelectSpokenLanguages = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_NON_ENGLISH_ASR);\n\nMeetingUtil.waitingForOthersToJoin = (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.WAITING_FOR_OTHERS);\n\nexport default MeetingUtil;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["MeetingUtil","parseLocusJoin","response","parsed","locus","body","mediaConnections","locusUrl","url","locusId","split","pop","selfId","self","id","forEach","mediaConnection","mediaId","remoteUpdateAudioVideo","meeting","audioMuted","videoMuted","reject","ParameterError","locusMediaRequest","Metrics","postEvent","event","eventType","MEDIA_REQUEST","send","type","selfUrl","sequence","locusInfo","muteOptions","then","MEDIA_RESPONSE","hasOwner","info","owner","isOwnerSelf","isPinOrGuest","err","errorCode","INTENT_TO_JOIN","includes","joinMeeting","options","LOCUS_JOIN_REQUEST","meetingRequest","inviteeAddress","meetingJoinUrl","sipUri","meetingNumber","deviceUrl","correlationId","roapMessage","permissionToken","resourceId","moderator","pin","moveToResource","preferTranscoding","isMultistream","asResourceOccupant","breakoutsSupported","locale","deviceCapabilities","liveAnnotationSupported","res","LOCUS_JOIN_RESPONSE","data","trigger","LOCI_UPDATE","trackingId","headers","trackingid","cleanUp","breakouts","simultaneousInterpretation","stopStatsAnalyzer","statsAnalyzer","stopAnalyzer","resolve","closeRemoteTracks","closePeerConnections","cleanupLocalTracks","unsetRemoteTracks","unsetPeerConnections","reconnectionManager","stopKeepAlive","updateLLMConnection","disconnectPhoneAudio","phoneUrl","meetingState","FULL_STATE","INACTIVE","MeetingNotActiveError","catch","LoggerProxy","logger","error","leaveMeeting","isUserInLeftState","UserNotJoinedError","defaultOptions","leaveOptions","moveMeeting","declineMeeting","reason","parsedLocus","state","_LEFT_","isUserInIdleState","_IDLE_","isUserInJoinedState","_JOINED_","isMediaEstablished","currentMediaStatus","audio","video","share","joinMeetingOptions","requiredCaptcha","CaptchaError","passwordStatus","PASSWORD_STATUS","REQUIRED","PasswordError","PIN_COLLECTED","setLocus","PIN_PROMPT","IntentToJoinError","JoinMeetingError","getTrack","stream","audioTrack","videoTrack","audioTracks","videoTracks","getAudioTracks","getVideoTracks","length","getModeratorFromLocusInfo","getPolicyFromLocusInfo","policy","getUserDisplayHintsFromLocusInfo","userDisplayHints","canInviteNewParticipants","displayHints","DISPLAY_HINTS","ADD_GUEST","canAdmitParticipant","ROSTER_WAITING_TO_JOIN","canUserLock","LOCK_CONTROL_LOCK","LOCK_STATUS_UNLOCKED","canUserUnlock","LOCK_CONTROL_UNLOCK","LOCK_STATUS_LOCKED","canUserRaiseHand","RAISE_HAND","canUserLowerAllHands","LOWER_ALL_HANDS","canUserLowerSomeoneElsesHand","LOWER_SOMEONE_ELSES_HAND","bothLeaveAndEndMeetingAvailable","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","canManageBreakout","BREAKOUT_MANAGEMENT","canBroadcastMessageToBreakout","BROADCAST_MESSAGE_TO_BREAKOUT","isSuppressBreakoutSupport","UCF_SUPPRESS_BREAKOUTS_SUPPORT","canAdmitLobbyToBreakout","DISABLE_LOBBY_TO_BREAKOUT","isBreakoutPreassignmentsEnabled","DISABLE_BREAKOUT_PREASSIGNMENTS","canUserAskForHelp","DISABLE_ASK_FOR_HELP","lockMeeting","actions","request","canLock","lock","PermissionError","unlockMeeting","canUnlock","handleAudioLogging","LOG_HEADER","settings","underlyingTrack","getSettings","deviceId","log","handleVideoLogging","handleDeviceLogging","devices","device","endMeetingForAll","endOptions","canEnableClosedCaption","CAPTION_START","isSaveTranscriptsEnabled","SAVE_TRANSCRIPTS_ENABLED","canStartTranscribing","TRANSCRIPTION_CONTROL_START","canStopTranscribing","TRANSCRIPTION_CONTROL_STOP","isClosedCaptionActive","CAPTION_STATUS_ACTIVE","isWebexAssistantActive","WEBEX_ASSISTANT_STATUS_ACTIVE","canViewCaptionPanel","ENABLE_CAPTION_PANEL","isRealTimeTranslationEnabled","DISPLAY_REAL_TIME_TRANSLATION","canSelectSpokenLanguages","DISPLAY_NON_ENGLISH_ASR","waitingForOthersToJoin","WAITING_FOR_OTHERS","canSendReactions","originalValue","REACTIONS_ACTIVE","REACTIONS_INACTIVE","canUserRenameSelfAndObserved","CAN_RENAME_SELF_AND_OBSERVED","canUserRenameOthers","CAN_RENAME_OTHERS","addSequence","requestBody","updateLocusWithDelta","onDeltaLocus","generateLocusDeltaRequest","originalMeeting","meetingRef","WeakRef","locusDeltaRequest","originalOptions","deref"],"sources":["util.ts"],"sourcesContent":["import {LocalCameraTrack, LocalMicrophoneTrack} from '@webex/media-helpers';\n\nimport {cloneDeep} from 'lodash';\nimport {MeetingNotActiveError, UserNotJoinedError} from '../common/errors/webex-errors';\nimport Metrics from '../metrics';\nimport {eventType, trigger} from '../metrics/config';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {\n INTENT_TO_JOIN,\n _LEFT_,\n _IDLE_,\n _JOINED_,\n PASSWORD_STATUS,\n DISPLAY_HINTS,\n FULL_STATE,\n} from '../constants';\nimport IntentToJoinError from '../common/errors/intent-to-join';\nimport JoinMeetingError from '../common/errors/join-meeting';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\nimport PasswordError from '../common/errors/password-error';\nimport CaptchaError from '../common/errors/captcha-error';\n\nconst MeetingUtil = {\n parseLocusJoin: (response) => {\n const parsed: any = {};\n\n // First todo: add check for existance\n parsed.locus = response.body.locus;\n parsed.mediaConnections = response.body.mediaConnections;\n parsed.locusUrl = parsed.locus.url;\n parsed.locusId = parsed.locus.url.split('/').pop();\n parsed.selfId = parsed.locus.self.id;\n\n // we need mediaId before making roap calls\n parsed.mediaConnections.forEach((mediaConnection) => {\n if (mediaConnection.mediaId) {\n parsed.mediaId = mediaConnection.mediaId;\n }\n });\n\n return parsed;\n },\n\n remoteUpdateAudioVideo: (meeting, audioMuted?: boolean, videoMuted?: boolean) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n\n if (!meeting.locusMediaRequest) {\n return Promise.reject(\n new ParameterError(\n 'You need a meeting with a media connection, call Meeting.addMedia() first.'\n )\n );\n }\n\n Metrics.postEvent({event: eventType.MEDIA_REQUEST, meeting});\n\n return meeting.locusMediaRequest\n .send({\n type: 'LocalMute',\n selfUrl: meeting.selfUrl,\n mediaId: meeting.mediaId,\n sequence: meeting.locusInfo.sequence,\n muteOptions: {\n audioMuted,\n videoMuted,\n },\n })\n .then((response) => {\n Metrics.postEvent({event: eventType.MEDIA_RESPONSE, meeting});\n\n return response?.body?.locus;\n });\n },\n\n hasOwner: (info) => info && info.owner,\n\n isOwnerSelf: (owner, selfId) => owner === selfId,\n\n isPinOrGuest: (err) => err?.body?.errorCode && INTENT_TO_JOIN.includes(err.body.errorCode),\n\n joinMeeting: (meeting, options) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n\n Metrics.postEvent({event: eventType.LOCUS_JOIN_REQUEST, meeting});\n\n // eslint-disable-next-line no-warning-comments\n // TODO: check if the meeting is in JOINING state\n // if Joining state termintate the request as user might click multiple times\n return meeting.meetingRequest\n .joinMeeting({\n inviteeAddress: meeting.meetingJoinUrl || meeting.sipUri,\n meetingNumber: meeting.meetingNumber,\n deviceUrl: meeting.deviceUrl,\n locusUrl: meeting.locusUrl,\n correlationId: meeting.correlationId,\n roapMessage: options.roapMessage,\n permissionToken: meeting.permissionToken,\n resourceId: options.resourceId || null,\n moderator: options.moderator,\n pin: options.pin,\n moveToResource: options.moveToResource,\n preferTranscoding: !meeting.isMultistream,\n asResourceOccupant: options.asResourceOccupant,\n breakoutsSupported: options.breakoutsSupported,\n locale: options.locale,\n deviceCapabilities: options.deviceCapabilities,\n liveAnnotationSupported: options.liveAnnotationSupported,\n })\n .then((res) => {\n Metrics.postEvent({\n event: eventType.LOCUS_JOIN_RESPONSE,\n meeting,\n data: {\n trigger: trigger.LOCI_UPDATE,\n locus: res.body.locus,\n mediaConnections: res.body.mediaConnections,\n trackingId: res.headers.trackingid,\n },\n });\n\n return MeetingUtil.parseLocusJoin(res);\n });\n },\n\n cleanUp: (meeting) => {\n meeting.breakouts.cleanUp();\n meeting.simultaneousInterpretation.cleanUp();\n\n // make sure we send last metrics before we close the peerconnection\n const stopStatsAnalyzer = meeting.statsAnalyzer\n ? meeting.statsAnalyzer.stopAnalyzer()\n : Promise.resolve();\n\n return stopStatsAnalyzer\n .then(() => meeting.closeRemoteTracks())\n .then(() => meeting.closePeerConnections())\n .then(() => {\n meeting.cleanupLocalTracks();\n meeting.unsetRemoteTracks();\n meeting.unsetPeerConnections();\n meeting.reconnectionManager.cleanUp();\n })\n .then(() => meeting.stopKeepAlive())\n .then(() => meeting.updateLLMConnection());\n },\n\n disconnectPhoneAudio: (meeting, phoneUrl) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const options = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n phoneUrl,\n };\n\n return meeting.meetingRequest.disconnectPhoneAudio(options).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#disconnectPhoneAudio --> An error occured while disconnecting phone audio in meeting ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n\n // by default will leave on meeting's resourceId\n // if you explicity want it not to leave on resource id, pass\n // {resourceId: null}\n // TODO: chris, you can modify this however you want\n leaveMeeting: (meeting, options: any = {}) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n // TODO: clean up if the meeting is already inactive\n return Promise.reject(new MeetingNotActiveError());\n }\n\n if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {\n return Promise.reject(new UserNotJoinedError());\n }\n\n const defaultOptions = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n resourceId: meeting.resourceId,\n deviceUrl: meeting.deviceUrl,\n };\n\n const leaveOptions = {...defaultOptions, ...options};\n\n return meeting.meetingRequest\n .leaveMeeting(leaveOptions)\n .then(() => {\n if (options.moveMeeting) {\n return Promise.resolve();\n }\n\n return MeetingUtil.cleanUp(meeting);\n })\n .catch((err) => {\n // TODO: If the meeting state comes as LEFT or INACTIVE as response then\n // 1) on leave clean up the meeting or simply do a sync on the meeting\n // 2) If the error says meeting is inactive then destroy the meeting object\n LoggerProxy.logger.error(\n `Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n declineMeeting: (meeting, reason) =>\n meeting.meetingRequest.declineMeeting({\n locusUrl: meeting.locusUrl,\n deviceUrl: meeting.deviceUrl,\n reason,\n }),\n\n isUserInLeftState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _LEFT_,\n\n isUserInIdleState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _IDLE_,\n\n isUserInJoinedState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _JOINED_,\n\n isMediaEstablished: (currentMediaStatus) =>\n currentMediaStatus &&\n (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share),\n\n joinMeetingOptions: (meeting, options: any = {}) => {\n meeting.resourceId = meeting.resourceId || options.resourceId;\n\n if (meeting.requiredCaptcha) {\n return Promise.reject(new CaptchaError());\n }\n if (meeting.passwordStatus === PASSWORD_STATUS.REQUIRED) {\n return Promise.reject(new PasswordError());\n }\n\n if (options.pin) {\n Metrics.postEvent({\n event: eventType.PIN_COLLECTED,\n meeting,\n });\n }\n\n // normal join meeting, scenario A, D\n return MeetingUtil.joinMeeting(meeting, options)\n .then((response) => {\n meeting.setLocus(response);\n\n return Promise.resolve(response);\n })\n .catch((err) => {\n // joining a claimed PMR that is not my own, scenario B\n if (MeetingUtil.isPinOrGuest(err)) {\n Metrics.postEvent({\n event: eventType.PIN_PROMPT,\n meeting,\n });\n\n // request host pin or non host for unclaimed PMR, start of Scenario C\n // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature\n return Promise.reject(new IntentToJoinError('Error Joining Meeting', err));\n }\n LoggerProxy.logger.error(\n 'Meeting:util#joinMeetingOptions --> Error joining the call, ',\n err\n );\n\n return Promise.reject(new JoinMeetingError(options, 'Error Joining Meeting', err));\n });\n },\n\n getTrack: (stream) => {\n let audioTrack = null;\n let videoTrack = null;\n let audioTracks = null;\n let videoTracks = null;\n\n if (!stream) {\n return {audioTrack: null, videoTrack: null};\n }\n if (stream.getAudioTracks) {\n audioTracks = stream.getAudioTracks();\n }\n if (stream.getVideoTracks) {\n videoTracks = stream.getVideoTracks();\n }\n\n if (audioTracks && audioTracks.length > 0) {\n [audioTrack] = audioTracks;\n }\n\n if (videoTracks && videoTracks.length > 0) {\n [videoTrack] = videoTracks;\n }\n\n return {audioTrack, videoTrack};\n },\n\n getModeratorFromLocusInfo: (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.moderator,\n\n getPolicyFromLocusInfo: (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.policy,\n\n getUserDisplayHintsFromLocusInfo: (locusInfo) =>\n locusInfo?.parsedLocus?.info?.userDisplayHints || [],\n\n canInviteNewParticipants: (displayHints) => displayHints.includes(DISPLAY_HINTS.ADD_GUEST),\n\n canAdmitParticipant: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.ROSTER_WAITING_TO_JOIN),\n\n canUserLock: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_LOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_UNLOCKED),\n\n canUserUnlock: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_UNLOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_LOCKED),\n\n canUserRaiseHand: (displayHints) => displayHints.includes(DISPLAY_HINTS.RAISE_HAND),\n\n canUserLowerAllHands: (displayHints) => displayHints.includes(DISPLAY_HINTS.LOWER_ALL_HANDS),\n\n canUserLowerSomeoneElsesHand: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOWER_SOMEONE_ELSES_HAND),\n\n bothLeaveAndEndMeetingAvailable: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LEAVE_TRANSFER_HOST_END_MEETING) ||\n displayHints.includes(DISPLAY_HINTS.LEAVE_END_MEETING),\n\n canManageBreakout: (displayHints) => displayHints.includes(DISPLAY_HINTS.BREAKOUT_MANAGEMENT),\n canBroadcastMessageToBreakout: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.BROADCAST_MESSAGE_TO_BREAKOUT),\n\n isSuppressBreakoutSupport: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.UCF_SUPPRESS_BREAKOUTS_SUPPORT),\n\n canAdmitLobbyToBreakout: (displayHints) =>\n !displayHints.includes(DISPLAY_HINTS.DISABLE_LOBBY_TO_BREAKOUT),\n\n isBreakoutPreassignmentsEnabled: (displayHints) =>\n !displayHints.includes(DISPLAY_HINTS.DISABLE_BREAKOUT_PREASSIGNMENTS),\n\n canUserAskForHelp: (displayHints) => !displayHints.includes(DISPLAY_HINTS.DISABLE_ASK_FOR_HELP),\n\n lockMeeting: (actions, request, locusUrl) => {\n if (actions && actions.canLock) {\n return request.lockMeeting({locusUrl, lock: true});\n }\n\n return Promise.reject(new PermissionError('Lock not allowed, due to joined property.'));\n },\n\n unlockMeeting: (actions, request, locusUrl) => {\n if (actions && actions.canUnlock) {\n return request.lockMeeting({locusUrl, lock: false});\n }\n\n return Promise.reject(new PermissionError('Unlock not allowed, due to joined property.'));\n },\n\n handleAudioLogging: (audioTrack?: LocalMicrophoneTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';\n\n if (audioTrack) {\n const settings = audioTrack.underlyingTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n },\n\n handleVideoLogging: (videoTrack?: LocalCameraTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';\n\n if (videoTrack) {\n const settings = videoTrack.underlyingTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n },\n\n handleDeviceLogging: (devices = []) => {\n const LOG_HEADER = 'MeetingUtil#handleDeviceLogging -->';\n\n devices.forEach((device) => {\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${device.deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings', JSON.stringify(device));\n });\n },\n\n endMeetingForAll: (meeting) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const endOptions = {\n locusUrl: meeting.locusUrl,\n };\n\n return meeting.meetingRequest\n .endMeetingForAll(endOptions)\n .then(() => MeetingUtil.cleanUp(meeting))\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#endMeetingForAll An error occured while trying to end meeting for all with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n\n canEnableClosedCaption: (displayHints) => displayHints.includes(DISPLAY_HINTS.CAPTION_START),\n\n isSaveTranscriptsEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SAVE_TRANSCRIPTS_ENABLED),\n\n canStartTranscribing: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_START),\n\n canStopTranscribing: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_STOP),\n\n isClosedCaptionActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAPTION_STATUS_ACTIVE),\n\n isWebexAssistantActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.WEBEX_ASSISTANT_STATUS_ACTIVE),\n\n canViewCaptionPanel: (displayHints) => displayHints.includes(DISPLAY_HINTS.ENABLE_CAPTION_PANEL),\n\n isRealTimeTranslationEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_REAL_TIME_TRANSLATION),\n\n canSelectSpokenLanguages: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_NON_ENGLISH_ASR),\n\n waitingForOthersToJoin: (displayHints) => displayHints.includes(DISPLAY_HINTS.WAITING_FOR_OTHERS),\n\n canSendReactions: (originalValue, displayHints) => {\n if (displayHints.includes(DISPLAY_HINTS.REACTIONS_ACTIVE)) {\n return true;\n }\n if (displayHints.includes(DISPLAY_HINTS.REACTIONS_INACTIVE)) {\n return false;\n }\n\n return originalValue;\n },\n canUserRenameSelfAndObserved: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAN_RENAME_SELF_AND_OBSERVED),\n\n canUserRenameOthers: (displayHints) => displayHints.includes(DISPLAY_HINTS.CAN_RENAME_OTHERS),\n\n /**\n * Adds the current locus sequence information to a request body\n * @param {Object} meeting The meeting object\n * @param {Object} requestBody The body of a request to locus\n * @returns {void}\n */\n addSequence: (meeting, requestBody) => {\n const sequence = meeting?.locusInfo?.sequence;\n\n if (!sequence) {\n return;\n }\n\n requestBody.sequence = sequence;\n },\n\n /**\n * Updates the locus info for the meeting with the delta locus\n * returned from requests that include the sequence information\n * Returns the original response object\n * @param {Object} meeting The meeting object\n * @param {Object} response The response of the http request\n * @returns {Object}\n */\n updateLocusWithDelta: (meeting, response) => {\n if (!meeting) {\n return response;\n }\n\n const locus = response?.body?.locus;\n\n if (locus) {\n meeting.locusInfo.onDeltaLocus(locus);\n }\n\n return response;\n },\n\n generateLocusDeltaRequest: (originalMeeting) => {\n const meetingRef = new WeakRef(originalMeeting);\n\n const locusDeltaRequest = (originalOptions) => {\n const meeting = meetingRef.deref();\n\n if (!meeting) {\n return Promise.resolve();\n }\n\n const options = cloneDeep(originalOptions);\n\n if (!options.body) {\n options.body = {};\n }\n\n MeetingUtil.addSequence(meeting, options.body);\n\n return meeting\n .request(options)\n .then((response) => MeetingUtil.updateLocusWithDelta(meeting, response));\n };\n\n return locusDeltaRequest;\n },\n};\n\nexport default MeetingUtil;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
-
var _Object$
|
|
4
|
+
var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
5
5
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
6
6
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
7
7
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
@@ -11,7 +11,8 @@ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequ
|
|
|
11
11
|
_Object$defineProperty(exports, "__esModule", {
|
|
12
12
|
value: true
|
|
13
13
|
});
|
|
14
|
-
exports.default = exports.MeetingInfoV2PasswordError = exports.MeetingInfoV2CaptchaError = exports.MeetingInfoV2AdhocMeetingError = void 0;
|
|
14
|
+
exports.default = exports.MeetingInfoV2PolicyError = exports.MeetingInfoV2PasswordError = exports.MeetingInfoV2CaptchaError = exports.MeetingInfoV2AdhocMeetingError = void 0;
|
|
15
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
15
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
16
17
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
17
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
@@ -22,11 +23,13 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
22
23
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
23
24
|
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapNativeSuper"));
|
|
24
25
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
26
|
+
var _difference2 = _interopRequireDefault(require("lodash/difference"));
|
|
25
27
|
var _constants = require("../constants");
|
|
26
28
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
29
|
+
var _config = require("../metrics/config");
|
|
27
30
|
var _constants2 = _interopRequireDefault(require("../metrics/constants"));
|
|
28
31
|
var _utilv = _interopRequireDefault(require("./utilv2"));
|
|
29
|
-
function ownKeys(object, enumerableOnly) { var keys = _Object$
|
|
32
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
30
33
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
34
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
32
35
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -34,6 +37,7 @@ var PASSWORD_ERROR_DEFAULT_MESSAGE = 'Password required. Call fetchMeetingInfo()
|
|
|
34
37
|
var CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';
|
|
35
38
|
var ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';
|
|
36
39
|
var CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];
|
|
40
|
+
var POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];
|
|
37
41
|
|
|
38
42
|
/**
|
|
39
43
|
* Error to indicate that wbxappapi requires a password
|
|
@@ -56,6 +60,7 @@ var MeetingInfoV2PasswordError = /*#__PURE__*/function (_Error) {
|
|
|
56
60
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingInfo", void 0);
|
|
57
61
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkMessage", void 0);
|
|
58
62
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "wbxAppApiCode", void 0);
|
|
63
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "body", void 0);
|
|
59
64
|
_this.name = 'MeetingInfoV2PasswordError';
|
|
60
65
|
_this.sdkMessage = message;
|
|
61
66
|
_this.stack = new Error().stack;
|
|
@@ -94,36 +99,67 @@ var MeetingInfoV2AdhocMeetingError = /*#__PURE__*/function (_Error2) {
|
|
|
94
99
|
return (0, _createClass2.default)(MeetingInfoV2AdhocMeetingError);
|
|
95
100
|
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
96
101
|
/**
|
|
97
|
-
* Error
|
|
102
|
+
* Error preventing join because of a meeting policy
|
|
98
103
|
*/
|
|
99
104
|
exports.MeetingInfoV2AdhocMeetingError = MeetingInfoV2AdhocMeetingError;
|
|
100
|
-
var
|
|
101
|
-
(0, _inherits2.default)(
|
|
102
|
-
var _super3 = _createSuper(
|
|
105
|
+
var MeetingInfoV2PolicyError = /*#__PURE__*/function (_Error3) {
|
|
106
|
+
(0, _inherits2.default)(MeetingInfoV2PolicyError, _Error3);
|
|
107
|
+
var _super3 = _createSuper(MeetingInfoV2PolicyError);
|
|
103
108
|
/**
|
|
104
109
|
*
|
|
105
110
|
* @constructor
|
|
106
111
|
* @param {Number} [wbxAppApiErrorCode]
|
|
107
|
-
* @param {Object} [
|
|
112
|
+
* @param {Object} [meetingInfo]
|
|
108
113
|
* @param {String} [message]
|
|
109
114
|
*/
|
|
110
|
-
function
|
|
115
|
+
function MeetingInfoV2PolicyError(wbxAppApiErrorCode, meetingInfo, message) {
|
|
111
116
|
var _this3;
|
|
112
|
-
|
|
113
|
-
(0, _classCallCheck2.default)(this, MeetingInfoV2CaptchaError);
|
|
117
|
+
(0, _classCallCheck2.default)(this, MeetingInfoV2PolicyError);
|
|
114
118
|
_this3 = _super3.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
|
|
115
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "
|
|
116
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "isPasswordRequired", void 0);
|
|
119
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "meetingInfo", void 0);
|
|
117
120
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "sdkMessage", void 0);
|
|
118
121
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "wbxAppApiCode", void 0);
|
|
119
|
-
_this3.name = '
|
|
122
|
+
_this3.name = 'MeetingInfoV2AdhocMeetingError';
|
|
120
123
|
_this3.sdkMessage = message;
|
|
121
124
|
_this3.stack = new Error().stack;
|
|
122
125
|
_this3.wbxAppApiCode = wbxAppApiErrorCode;
|
|
123
|
-
_this3.
|
|
124
|
-
_this3.captchaInfo = captchaInfo;
|
|
126
|
+
_this3.meetingInfo = meetingInfo;
|
|
125
127
|
return _this3;
|
|
126
128
|
}
|
|
129
|
+
return (0, _createClass2.default)(MeetingInfoV2PolicyError);
|
|
130
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
131
|
+
/**
|
|
132
|
+
* Error to indicate that preferred webex site not present to start adhoc meeting
|
|
133
|
+
*/
|
|
134
|
+
exports.MeetingInfoV2PolicyError = MeetingInfoV2PolicyError;
|
|
135
|
+
var MeetingInfoV2CaptchaError = /*#__PURE__*/function (_Error4) {
|
|
136
|
+
(0, _inherits2.default)(MeetingInfoV2CaptchaError, _Error4);
|
|
137
|
+
var _super4 = _createSuper(MeetingInfoV2CaptchaError);
|
|
138
|
+
/**
|
|
139
|
+
*
|
|
140
|
+
* @constructor
|
|
141
|
+
* @param {Number} [wbxAppApiErrorCode]
|
|
142
|
+
* @param {Object} [captchaInfo]
|
|
143
|
+
* @param {String} [message]
|
|
144
|
+
*/
|
|
145
|
+
function MeetingInfoV2CaptchaError(wbxAppApiErrorCode, captchaInfo) {
|
|
146
|
+
var _this4;
|
|
147
|
+
var message = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : CAPTCHA_ERROR_DEFAULT_MESSAGE;
|
|
148
|
+
(0, _classCallCheck2.default)(this, MeetingInfoV2CaptchaError);
|
|
149
|
+
_this4 = _super4.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
|
|
150
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "captchaInfo", void 0);
|
|
151
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "isPasswordRequired", void 0);
|
|
152
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "sdkMessage", void 0);
|
|
153
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "wbxAppApiCode", void 0);
|
|
154
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "body", void 0);
|
|
155
|
+
_this4.name = 'MeetingInfoV2PasswordError';
|
|
156
|
+
_this4.sdkMessage = message;
|
|
157
|
+
_this4.stack = new Error().stack;
|
|
158
|
+
_this4.wbxAppApiCode = wbxAppApiErrorCode;
|
|
159
|
+
_this4.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);
|
|
160
|
+
_this4.captchaInfo = captchaInfo;
|
|
161
|
+
return _this4;
|
|
162
|
+
}
|
|
127
163
|
return (0, _createClass2.default)(MeetingInfoV2CaptchaError);
|
|
128
164
|
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
129
165
|
/**
|
|
@@ -138,6 +174,19 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
138
174
|
function MeetingInfoV2(webex) {
|
|
139
175
|
(0, _classCallCheck2.default)(this, MeetingInfoV2);
|
|
140
176
|
(0, _defineProperty2.default)(this, "webex", void 0);
|
|
177
|
+
(0, _defineProperty2.default)(this, "handlePolicyError", function (err) {
|
|
178
|
+
var _err$body;
|
|
179
|
+
if (!err.body) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
if (POLICY_ERROR_CODES.includes((_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.code)) {
|
|
183
|
+
var _err$body2, _err$body3, _err$body4, _err$body4$data, _err$body5;
|
|
184
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_INFO_POLICY_ERROR, {
|
|
185
|
+
code: (_err$body2 = err.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.code
|
|
186
|
+
});
|
|
187
|
+
throw new MeetingInfoV2PolicyError((_err$body3 = err.body) === null || _err$body3 === void 0 ? void 0 : _err$body3.code, (_err$body4 = err.body) === null || _err$body4 === void 0 ? void 0 : (_err$body4$data = _err$body4.data) === null || _err$body4$data === void 0 ? void 0 : _err$body4$data.meetingInfo, (_err$body5 = err.body) === null || _err$body5 === void 0 ? void 0 : _err$body5.message);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
141
190
|
this.webex = webex;
|
|
142
191
|
}
|
|
143
192
|
|
|
@@ -160,18 +209,25 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
160
209
|
});
|
|
161
210
|
}
|
|
162
211
|
|
|
212
|
+
/**
|
|
213
|
+
* Raises a MeetingInfoV2PolicyError for policy error codes
|
|
214
|
+
* @param {any} err the error from the request
|
|
215
|
+
* @returns {void}
|
|
216
|
+
*/
|
|
217
|
+
}, {
|
|
218
|
+
key: "createAdhocSpaceMeeting",
|
|
219
|
+
value:
|
|
163
220
|
/**
|
|
164
221
|
* Creates adhoc space meetings for a space by fetching the conversation infomation
|
|
165
222
|
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
|
223
|
+
* @param {String} installedOrgID org ID of user's machine
|
|
166
224
|
* @returns {Promise} returns a meeting info object
|
|
167
225
|
* @public
|
|
168
226
|
* @memberof MeetingInfo
|
|
169
227
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conversationUrl) {
|
|
174
|
-
var _this4 = this;
|
|
228
|
+
function () {
|
|
229
|
+
var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conversationUrl, installedOrgID) {
|
|
230
|
+
var _this5 = this;
|
|
175
231
|
var getInvitees;
|
|
176
232
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
177
233
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -209,20 +265,26 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
209
265
|
kroUrl: conversation.kmsResourceObjectUrl,
|
|
210
266
|
invitees: getInvitees((_conversation$partici = conversation.participants) === null || _conversation$partici === void 0 ? void 0 : _conversation$partici.items)
|
|
211
267
|
};
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
268
|
+
if (installedOrgID) {
|
|
269
|
+
body.installedOrgID = installedOrgID;
|
|
270
|
+
}
|
|
271
|
+
var uri = _this5.webex.meetings.preferredWebexSite ? "https://".concat(_this5.webex.meetings.preferredWebexSite, "/wbxappapi/v2/meetings/spaceInstant") : '';
|
|
272
|
+
return _this5.webex.request({
|
|
215
273
|
method: _constants.HTTP_VERBS.POST,
|
|
216
274
|
uri: uri,
|
|
217
275
|
body: body
|
|
218
276
|
});
|
|
277
|
+
}).then(function (requestResult) {
|
|
278
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_SUCCESS);
|
|
279
|
+
return requestResult;
|
|
219
280
|
}).catch(function (err) {
|
|
220
|
-
var _err$
|
|
281
|
+
var _err$body6, _err$body7;
|
|
282
|
+
_this5.handlePolicyError(err);
|
|
221
283
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_FAILURE, {
|
|
222
284
|
reason: err.message,
|
|
223
285
|
stack: err.stack
|
|
224
286
|
});
|
|
225
|
-
throw new MeetingInfoV2AdhocMeetingError((_err$
|
|
287
|
+
throw new MeetingInfoV2AdhocMeetingError((_err$body6 = err.body) === null || _err$body6 === void 0 ? void 0 : _err$body6.code, (_err$body7 = err.body) === null || _err$body7 === void 0 ? void 0 : _err$body7.message);
|
|
226
288
|
}));
|
|
227
289
|
case 4:
|
|
228
290
|
case "end":
|
|
@@ -230,7 +292,7 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
230
292
|
}
|
|
231
293
|
}, _callee, this);
|
|
232
294
|
}));
|
|
233
|
-
function createAdhocSpaceMeeting(_x) {
|
|
295
|
+
function createAdhocSpaceMeeting(_x, _x2) {
|
|
234
296
|
return _createAdhocSpaceMeeting.apply(this, arguments);
|
|
235
297
|
}
|
|
236
298
|
return createAdhocSpaceMeeting;
|
|
@@ -243,6 +305,10 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
243
305
|
* @param {Object} captchaInfo
|
|
244
306
|
* @param {String} captchaInfo.code
|
|
245
307
|
* @param {String} captchaInfo.id
|
|
308
|
+
* @param {String} installedOrgID org ID of user's machine
|
|
309
|
+
* @param {String} locusId
|
|
310
|
+
* @param {Object} extraParams
|
|
311
|
+
* @param {Object} options
|
|
246
312
|
* @returns {Promise} returns a meeting info object
|
|
247
313
|
* @public
|
|
248
314
|
* @memberof MeetingInfo
|
|
@@ -251,12 +317,21 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
251
317
|
key: "fetchMeetingInfo",
|
|
252
318
|
value: function () {
|
|
253
319
|
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(destination) {
|
|
320
|
+
var _this6 = this;
|
|
254
321
|
var type,
|
|
255
322
|
password,
|
|
256
323
|
captchaInfo,
|
|
324
|
+
installedOrgID,
|
|
325
|
+
locusId,
|
|
326
|
+
extraParams,
|
|
327
|
+
options,
|
|
328
|
+
meetingId,
|
|
257
329
|
destinationType,
|
|
258
330
|
body,
|
|
259
|
-
|
|
331
|
+
_destinationType$info,
|
|
332
|
+
_destinationType$info2,
|
|
333
|
+
err,
|
|
334
|
+
requestOptions,
|
|
260
335
|
directURI,
|
|
261
336
|
_args2 = arguments;
|
|
262
337
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
@@ -265,60 +340,93 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
265
340
|
type = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : null;
|
|
266
341
|
password = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : null;
|
|
267
342
|
captchaInfo = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : null;
|
|
268
|
-
|
|
343
|
+
installedOrgID = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : null;
|
|
344
|
+
locusId = _args2.length > 5 && _args2[5] !== undefined ? _args2[5] : null;
|
|
345
|
+
extraParams = _args2.length > 6 && _args2[6] !== undefined ? _args2[6] : {};
|
|
346
|
+
options = _args2.length > 7 && _args2[7] !== undefined ? _args2[7] : {};
|
|
347
|
+
meetingId = options.meetingId;
|
|
348
|
+
_context2.next = 10;
|
|
269
349
|
return _utilv.default.getDestinationType({
|
|
270
350
|
destination: destination,
|
|
271
351
|
type: type,
|
|
272
352
|
webex: this.webex
|
|
273
353
|
});
|
|
274
|
-
case
|
|
354
|
+
case 10:
|
|
275
355
|
destinationType = _context2.sent;
|
|
276
356
|
if (!(destinationType.type === _constants._CONVERSATION_URL_ && this.webex.config.meetings.experimental.enableAdhocMeetings && this.webex.meetings.preferredWebexSite)) {
|
|
277
|
-
_context2.next =
|
|
357
|
+
_context2.next = 13;
|
|
278
358
|
break;
|
|
279
359
|
}
|
|
280
|
-
return _context2.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination));
|
|
281
|
-
case
|
|
282
|
-
_context2.next =
|
|
360
|
+
return _context2.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID));
|
|
361
|
+
case 13:
|
|
362
|
+
_context2.next = 15;
|
|
283
363
|
return _utilv.default.getRequestBody(_objectSpread(_objectSpread({}, destinationType), {}, {
|
|
284
364
|
password: password,
|
|
285
|
-
captchaInfo: captchaInfo
|
|
365
|
+
captchaInfo: captchaInfo,
|
|
366
|
+
installedOrgID: installedOrgID,
|
|
367
|
+
locusId: locusId,
|
|
368
|
+
extraParams: extraParams
|
|
286
369
|
}));
|
|
287
|
-
case
|
|
370
|
+
case 15:
|
|
288
371
|
body = _context2.sent;
|
|
289
|
-
|
|
372
|
+
if ((0, _difference2.default)((0, _keys.default)(body), (0, _keys.default)(_constants.DEFAULT_MEETING_INFO_REQUEST_BODY)).length) {
|
|
373
|
+
_context2.next = 20;
|
|
374
|
+
break;
|
|
375
|
+
}
|
|
376
|
+
err = new Error('Not enough information to fetch meeting info');
|
|
377
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_FAILURE, {
|
|
378
|
+
reason: err.message,
|
|
379
|
+
destinationType: destinationType === null || destinationType === void 0 ? void 0 : destinationType.type,
|
|
380
|
+
webExMeetingId: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info = destinationType.info) === null || _destinationType$info === void 0 ? void 0 : _destinationType$info.webExMeetingId,
|
|
381
|
+
sipUri: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info2 = destinationType.info) === null || _destinationType$info2 === void 0 ? void 0 : _destinationType$info2.sipUri
|
|
382
|
+
});
|
|
383
|
+
throw err;
|
|
384
|
+
case 20:
|
|
385
|
+
requestOptions = {
|
|
290
386
|
method: _constants.HTTP_VERBS.POST,
|
|
291
387
|
body: body
|
|
292
388
|
};
|
|
293
|
-
_context2.next =
|
|
389
|
+
_context2.next = 23;
|
|
294
390
|
return _utilv.default.getDirectMeetingInfoURI(destinationType);
|
|
295
|
-
case
|
|
391
|
+
case 23:
|
|
296
392
|
directURI = _context2.sent;
|
|
297
393
|
if (directURI) {
|
|
298
|
-
|
|
394
|
+
requestOptions.uri = directURI;
|
|
299
395
|
} else {
|
|
300
|
-
|
|
301
|
-
|
|
396
|
+
requestOptions.service = _constants.WBXAPPAPI_SERVICE;
|
|
397
|
+
requestOptions.resource = 'meetingInfo';
|
|
302
398
|
}
|
|
303
|
-
return _context2.abrupt("return", this.webex.request(
|
|
399
|
+
return _context2.abrupt("return", this.webex.request(requestOptions).then(function (response) {
|
|
304
400
|
_metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_SUCCESS);
|
|
305
401
|
return response;
|
|
306
402
|
}).catch(function (err) {
|
|
403
|
+
if (meetingId) {
|
|
404
|
+
var parsedError = _metrics.default.parseWebexApiError(err, true);
|
|
405
|
+
_metrics.default.postEvent({
|
|
406
|
+
event: _config.eventType.MEETING_INFO_RESPONSE,
|
|
407
|
+
meetingId: meetingId,
|
|
408
|
+
data: {
|
|
409
|
+
errors: parsedError ? [parsedError] : undefined,
|
|
410
|
+
meetingLookupUrl: err === null || err === void 0 ? void 0 : err.url
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
}
|
|
307
414
|
if ((err === null || err === void 0 ? void 0 : err.statusCode) === 403) {
|
|
308
|
-
var _err$
|
|
415
|
+
var _err$body8, _err$body9, _err$body9$data;
|
|
416
|
+
_this6.handlePolicyError(err);
|
|
309
417
|
_metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_PASSWORD_ERROR, {
|
|
310
418
|
reason: err.message,
|
|
311
419
|
stack: err.stack
|
|
312
420
|
});
|
|
313
|
-
throw new MeetingInfoV2PasswordError((_err$
|
|
421
|
+
throw new MeetingInfoV2PasswordError((_err$body8 = err.body) === null || _err$body8 === void 0 ? void 0 : _err$body8.code, (_err$body9 = err.body) === null || _err$body9 === void 0 ? void 0 : (_err$body9$data = _err$body9.data) === null || _err$body9$data === void 0 ? void 0 : _err$body9$data.meetingInfo);
|
|
314
422
|
}
|
|
315
423
|
if ((err === null || err === void 0 ? void 0 : err.statusCode) === 423) {
|
|
316
|
-
var _err$
|
|
424
|
+
var _err$body10;
|
|
317
425
|
_metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_CAPTCHA_ERROR, {
|
|
318
426
|
reason: err.message,
|
|
319
427
|
stack: err.stack
|
|
320
428
|
});
|
|
321
|
-
throw new MeetingInfoV2CaptchaError((_err$
|
|
429
|
+
throw new MeetingInfoV2CaptchaError((_err$body10 = err.body) === null || _err$body10 === void 0 ? void 0 : _err$body10.code, {
|
|
322
430
|
captchaId: err.body.captchaID,
|
|
323
431
|
verificationImageURL: err.body.verificationImageURL,
|
|
324
432
|
verificationAudioURL: err.body.verificationAudioURL,
|
|
@@ -331,13 +439,13 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
|
|
|
331
439
|
});
|
|
332
440
|
throw err;
|
|
333
441
|
}));
|
|
334
|
-
case
|
|
442
|
+
case 26:
|
|
335
443
|
case "end":
|
|
336
444
|
return _context2.stop();
|
|
337
445
|
}
|
|
338
446
|
}, _callee2, this);
|
|
339
447
|
}));
|
|
340
|
-
function fetchMeetingInfo(
|
|
448
|
+
function fetchMeetingInfo(_x3) {
|
|
341
449
|
return _fetchMeetingInfo.apply(this, arguments);
|
|
342
450
|
}
|
|
343
451
|
return fetchMeetingInfo;
|