@webex/plugin-meetings 2.60.0 → 2.60.1-next.10
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 +58 -8
- 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.d.ts +8 -0
- package/dist/breakouts/breakout.js +215 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/collection.js +22 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/edit-lock-error.js +51 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- 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.d.ts +5 -0
- package/dist/breakouts/index.js +1047 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/request.js +77 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/breakouts/utils.js +64 -0
- package/dist/breakouts/utils.js.map +1 -0
- 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/common/errors/no-meeting-info.d.ts +14 -0
- 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-error.js → reclaim-host-role-errors.js} +7 -11
- 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 +48 -28
- 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 +8 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +234 -100
- package/dist/constants.js +433 -444
- 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 +15 -6
- 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 +127 -38
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.d.ts +43 -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.d.ts +1 -7
- package/dist/controls-options-manager/util.js +309 -19
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +121 -5
- 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 +365 -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 +100 -11
- 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 +425 -84
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +13 -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 +97 -13
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.js +107 -319
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +38 -53
- package/dist/media/properties.js +96 -153
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -22
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +234 -230
- package/dist/mediaQualityMetrics/config.js +302 -498
- 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 +94 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +705 -520
- package/dist/meeting/index.js +5047 -3089
- 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 +224 -133
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +82 -47
- package/dist/meeting/request.js +304 -199
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- 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 +676 -435
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.d.ts +20 -0
- package/dist/meeting/voicea-meeting.js +201 -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 +200 -63
- 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 +2 -3
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +39 -41
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +17 -0
- package/dist/meetings/collection.js +42 -4
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +114 -20
- package/dist/meetings/index.js +540 -126
- 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 +4 -3
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +107 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +13 -1
- package/dist/member/index.js +45 -2
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.js +3 -4
- package/dist/member/member.types.js.map +1 -1
- package/dist/member/types.d.ts +32 -0
- package/dist/member/types.js +23 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +120 -29
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +5 -0
- package/dist/members/collection.js +11 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +56 -11
- package/dist/members/index.js +174 -47
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +67 -11
- package/dist/members/request.js +102 -54
- package/dist/members/request.js.map +1 -1
- 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 +327 -284
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.d.ts +15 -6
- package/dist/metrics/constants.js +17 -9
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +4 -111
- package/dist/metrics/index.js +4 -452
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/mediaRequestManager.js +344 -0
- package/dist/multistream/mediaRequestManager.js.map +1 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlot.js +200 -0
- package/dist/multistream/receiveSlot.js.map +1 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/receiveSlotManager.js +174 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMedia.js +268 -0
- package/dist/multistream/remoteMedia.js.map +1 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaGroup.js +267 -0
- package/dist/multistream/remoteMediaGroup.js.map +1 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/remoteMediaManager.js +1211 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/multistream/sendSlotManager.js +236 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/networkQualityMonitor/index.js +5 -4
- 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 +304 -392
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +7 -3
- package/dist/reachability/request.js +18 -10
- 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.d.ts +3 -0
- package/dist/reactions/constants.js +12 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.d.ts +2 -2
- package/dist/reactions/reactions.js +4 -6
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +23 -3
- package/dist/reactions/reactions.type.js +21 -23
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +32 -8
- package/dist/reconnection-manager/index.js +285 -232
- 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 +100 -238
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +18 -12
- package/dist/roap/request.js +126 -180
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +27 -16
- package/dist/roap/turnDiscovery.js +115 -105
- 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 +54 -0
- package/dist/rtcMetrics/index.js +140 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +1 -83
- package/dist/statsAnalyzer/global.js +2 -85
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +50 -30
- package/dist/statsAnalyzer/index.js +436 -511
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
- package/dist/statsAnalyzer/mqaUtil.js +130 -90
- 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/package.json +39 -26
- 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 +220 -0
- package/src/breakouts/breakout.ts +188 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +925 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/webex-errors.ts +36 -12
- 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 +6 -7
- package/src/constants.ts +265 -100
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +44 -0
- 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 +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +110 -0
- package/src/locus-info/index.ts +450 -61
- package/src/locus-info/infoUtils.ts +14 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +85 -2
- package/src/media/index.ts +153 -370
- package/src/media/properties.ts +106 -136
- package/src/media/util.ts +0 -21
- package/src/mediaQualityMetrics/config.ts +244 -377
- package/src/meeting/in-meeting-actions.ts +176 -0
- package/src/meeting/index.ts +4306 -2581
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +224 -138
- package/src/meeting/request.ts +214 -127
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/util.ts +687 -423
- package/src/meeting/voicea-meeting.ts +161 -0
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +163 -13
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +28 -28
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +529 -127
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +116 -5
- package/src/member/index.ts +43 -1
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +125 -28
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +187 -52
- package/src/members/request.ts +87 -27
- package/src/members/util.ts +332 -291
- package/src/metrics/constants.ts +15 -6
- package/src/metrics/index.ts +1 -471
- package/src/multistream/mediaRequestManager.ts +440 -0
- package/src/multistream/receiveSlot.ts +184 -0
- package/src/multistream/receiveSlotManager.ts +166 -0
- package/src/multistream/remoteMedia.ts +254 -0
- package/src/multistream/remoteMediaGroup.ts +284 -0
- package/src/multistream/remoteMediaManager.ts +1145 -0
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +246 -347
- package/src/reachability/request.ts +17 -8
- package/src/reachability/util.ts +24 -0
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +30 -4
- package/src/reconnection-manager/index.ts +168 -156
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +96 -241
- package/src/roap/request.ts +74 -148
- package/src/roap/turnDiscovery.ts +62 -56
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +124 -0
- package/src/statsAnalyzer/global.ts +1 -84
- package/src/statsAnalyzer/index.ts +479 -645
- package/src/statsAnalyzer/mqaUtil.ts +128 -126
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +320 -264
- 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 +237 -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 +89 -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/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- 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 +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +323 -30
- package/test/unit/spec/locus-info/index.js +1438 -16
- package/test/unit/spec/locus-info/infoUtils.js +54 -16
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/lib/selfConstant.js +48 -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 +275 -0
- package/test/unit/spec/media/index.ts +290 -0
- package/test/unit/spec/media/properties.ts +75 -84
- package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
- package/test/unit/spec/meeting/index.js +8886 -2815
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +409 -213
- package/test/unit/spec/meeting/request.js +523 -43
- package/test/unit/spec/meeting/utils.js +834 -24
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1446 -217
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +32 -9
- package/test/unit/spec/member/util.js +499 -61
- package/test/unit/spec/members/index.js +394 -5
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +173 -38
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
- package/test/unit/spec/multistream/receiveSlot.ts +163 -0
- package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
- package/test/unit/spec/multistream/remoteMedia.ts +255 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +532 -24
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +163 -24
- 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 +187 -77
- package/test/unit/spec/roap/request.ts +255 -0
- package/test/unit/spec/roap/turnDiscovery.ts +86 -48
- package/test/unit/spec/rtcMetrics/index.ts +93 -0
- package/test/unit/spec/stats-analyzer/index.js +644 -165
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- 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/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- 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 -289
- 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/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/src/index.js +0 -15
- package/src/meeting/effectsState.ts +0 -209
- package/src/metrics/config.ts +0 -485
- package/src/peer-connection-manager/index.ts +0 -847
- package/src/peer-connection-manager/util.ts +0 -119
- package/src/roap/collection.ts +0 -62
- package/src/roap/handler.ts +0 -294
- package/src/roap/state.ts +0 -156
- package/src/roap/util.ts +0 -100
- package/test/unit/spec/meeting/effectsState.js +0 -281
- package/test/unit/spec/peerconnection-manager/index.js +0 -218
- package/test/unit/spec/peerconnection-manager/utils.js +0 -49
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
- package/test/unit/spec/roap/util.js +0 -30
- /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
- /package/src/common/errors/{reclaim-host-role-error.ts → reclaim-host-role-errors.ts} +0 -0
package/src/meeting/request.ts
CHANGED
|
@@ -4,11 +4,13 @@ import {debounce} from 'lodash';
|
|
|
4
4
|
import {StatelessWebexPlugin} from '@webex/webex-core';
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
import {deviceType} from '@webex/common';
|
|
7
|
+
import {CallDiagnosticUtils} from '@webex/internal-plugin-metrics';
|
|
7
8
|
|
|
8
9
|
import LoggerProxy from '../common/logs/logger-proxy';
|
|
9
10
|
import {
|
|
10
11
|
ALERT,
|
|
11
12
|
ALTERNATE_REDIRECT_TRUE,
|
|
13
|
+
BREAKOUTS,
|
|
12
14
|
CALL,
|
|
13
15
|
CONTROLS,
|
|
14
16
|
DECLINE,
|
|
@@ -17,30 +19,73 @@ import {
|
|
|
17
19
|
HTTP_VERBS,
|
|
18
20
|
LEAVE,
|
|
19
21
|
LOCI,
|
|
20
|
-
LOCUS,
|
|
21
|
-
MEDIA,
|
|
22
22
|
PARTICIPANT,
|
|
23
23
|
PROVISIONAL_TYPE_DIAL_IN,
|
|
24
24
|
PROVISIONAL_TYPE_DIAL_OUT,
|
|
25
|
+
REACHABILITY,
|
|
25
26
|
SEND_DTMF_ENDPOINT,
|
|
26
27
|
_SLIDES_,
|
|
28
|
+
ANNOTATION,
|
|
29
|
+
IP_VERSION,
|
|
27
30
|
} from '../constants';
|
|
28
|
-
import {
|
|
31
|
+
import {SendReactionOptions, ToggleReactionsOptions} from './request.type';
|
|
32
|
+
import MeetingUtil from './util';
|
|
33
|
+
import {AnnotationInfo} from '../annotation/annotation.types';
|
|
29
34
|
|
|
30
35
|
/**
|
|
31
36
|
* @class MeetingRequest
|
|
32
37
|
*/
|
|
33
38
|
export default class MeetingRequest extends StatelessWebexPlugin {
|
|
34
39
|
changeVideoLayoutDebounced: any;
|
|
40
|
+
meetingRef: WeakRef<any>;
|
|
41
|
+
locusDeltaRequest: (options: object) => Promise<any>;
|
|
42
|
+
buildLocusDeltaRequestOptions: (options: object) => Promise<any>;
|
|
35
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Constructor
|
|
46
|
+
* @param {Object} attrs
|
|
47
|
+
* @param {Object} options
|
|
48
|
+
*/
|
|
36
49
|
constructor(attrs: any, options: any) {
|
|
37
|
-
|
|
50
|
+
const {meeting, ...otherAttrs} = attrs;
|
|
51
|
+
|
|
52
|
+
super(otherAttrs, options);
|
|
53
|
+
|
|
54
|
+
this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);
|
|
55
|
+
this.buildLocusDeltaRequestOptions = MeetingUtil.generateBuildLocusDeltaRequestOptions(meeting);
|
|
56
|
+
|
|
38
57
|
this.changeVideoLayoutDebounced = debounce(this.changeVideoLayout, 2000, {
|
|
39
58
|
leading: true,
|
|
40
59
|
trailing: true,
|
|
41
60
|
});
|
|
42
61
|
}
|
|
43
62
|
|
|
63
|
+
/**
|
|
64
|
+
* Returns joinCookie from boundedStorage if present.
|
|
65
|
+
* @returns {Object} joinCookie
|
|
66
|
+
*/
|
|
67
|
+
private getJoinCookie = async () => {
|
|
68
|
+
// @ts-ignore
|
|
69
|
+
const joinCookieRaw = await this.webex.boundedStorage
|
|
70
|
+
.get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)
|
|
71
|
+
.catch(() => {});
|
|
72
|
+
|
|
73
|
+
if (joinCookieRaw) {
|
|
74
|
+
try {
|
|
75
|
+
const joinCookie = JSON.parse(joinCookieRaw);
|
|
76
|
+
if (joinCookie) {
|
|
77
|
+
return joinCookie;
|
|
78
|
+
}
|
|
79
|
+
} catch (e) {
|
|
80
|
+
LoggerProxy.logger.error(
|
|
81
|
+
`MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return null;
|
|
87
|
+
};
|
|
88
|
+
|
|
44
89
|
/**
|
|
45
90
|
* Make a network request to join a meeting
|
|
46
91
|
* @param {Object} options
|
|
@@ -54,12 +99,17 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
54
99
|
* @param {boolean} options.pin
|
|
55
100
|
* @param {boolean} options.moveToResource
|
|
56
101
|
* @param {Object} options.roapMessage
|
|
102
|
+
* @param {boolean} options.breakoutsSupported
|
|
103
|
+
* @param {String} options.locale,
|
|
104
|
+
* @param {Array} options.deviceCapabilities
|
|
105
|
+
* @param {boolean} options.liveAnnotationSupported
|
|
57
106
|
* @returns {Promise}
|
|
58
107
|
*/
|
|
59
108
|
async joinMeeting(options: {
|
|
60
109
|
sipUri: string;
|
|
61
110
|
deviceUrl: string;
|
|
62
111
|
locusUrl: string;
|
|
112
|
+
locusClusterUrl: string;
|
|
63
113
|
resourceId: string;
|
|
64
114
|
correlationId: string;
|
|
65
115
|
ensureConversation: boolean;
|
|
@@ -72,6 +122,11 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
72
122
|
meetingNumber: any;
|
|
73
123
|
permissionToken: any;
|
|
74
124
|
preferTranscoding: any;
|
|
125
|
+
breakoutsSupported: boolean;
|
|
126
|
+
locale?: string;
|
|
127
|
+
deviceCapabilities?: Array<string>;
|
|
128
|
+
liveAnnotationSupported: boolean;
|
|
129
|
+
ipVersion?: IP_VERSION;
|
|
75
130
|
}) {
|
|
76
131
|
const {
|
|
77
132
|
asResourceOccupant,
|
|
@@ -80,6 +135,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
80
135
|
permissionToken,
|
|
81
136
|
deviceUrl,
|
|
82
137
|
locusUrl,
|
|
138
|
+
locusClusterUrl,
|
|
83
139
|
resourceId,
|
|
84
140
|
correlationId,
|
|
85
141
|
ensureConversation,
|
|
@@ -88,12 +144,19 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
88
144
|
moveToResource,
|
|
89
145
|
roapMessage,
|
|
90
146
|
preferTranscoding,
|
|
147
|
+
breakoutsSupported,
|
|
148
|
+
locale,
|
|
149
|
+
deviceCapabilities = [],
|
|
150
|
+
liveAnnotationSupported,
|
|
151
|
+
ipVersion,
|
|
91
152
|
} = options;
|
|
92
153
|
|
|
93
154
|
LoggerProxy.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
|
|
94
155
|
|
|
95
156
|
let url = '';
|
|
96
157
|
|
|
158
|
+
const joinCookie = await this.getJoinCookie();
|
|
159
|
+
|
|
97
160
|
const body: any = {
|
|
98
161
|
asResourceOccupant,
|
|
99
162
|
device: {
|
|
@@ -110,15 +173,43 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
110
173
|
supportsNativeLobby: 1,
|
|
111
174
|
clientMediaPreferences: {
|
|
112
175
|
preferTranscoding: preferTranscoding ?? true,
|
|
176
|
+
joinCookie,
|
|
177
|
+
ipver: ipVersion,
|
|
113
178
|
},
|
|
114
179
|
};
|
|
115
180
|
|
|
181
|
+
if (breakoutsSupported) {
|
|
182
|
+
deviceCapabilities.push(BREAKOUTS.BREAKOUTS_SUPPORTED);
|
|
183
|
+
}
|
|
184
|
+
if (liveAnnotationSupported) {
|
|
185
|
+
deviceCapabilities.push(ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// append installationId to device config if it exists
|
|
116
189
|
// @ts-ignore
|
|
117
|
-
if (this.webex.
|
|
190
|
+
if (this.webex.internal.device.config.installationId) {
|
|
118
191
|
// @ts-ignore
|
|
119
|
-
body.device.
|
|
192
|
+
body.device.installationId = this.webex.internal.device.config.installationId;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (locale) {
|
|
196
|
+
body.locale = locale;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// add deviceCapabilities prop
|
|
200
|
+
if (deviceCapabilities.length) {
|
|
201
|
+
body.deviceCapabilities = deviceCapabilities;
|
|
202
|
+
}
|
|
203
|
+
// @ts-ignore
|
|
204
|
+
if (this.webex.meetings.geoHintInfo) {
|
|
205
|
+
// @ts-ignore
|
|
206
|
+
body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
|
|
120
207
|
// @ts-ignore
|
|
121
|
-
body.device.regionCode = this.webex.meetings.
|
|
208
|
+
body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
|
|
209
|
+
body.device.localIp =
|
|
210
|
+
// @ts-ignore
|
|
211
|
+
CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) ||
|
|
212
|
+
undefined;
|
|
122
213
|
}
|
|
123
214
|
|
|
124
215
|
if (moderator !== undefined) {
|
|
@@ -137,10 +228,18 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
137
228
|
url = `${locusUrl}/${PARTICIPANT}`;
|
|
138
229
|
} else if (inviteeAddress || meetingNumber) {
|
|
139
230
|
try {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
231
|
+
let clusterUrl;
|
|
232
|
+
|
|
233
|
+
if (locusClusterUrl) {
|
|
234
|
+
clusterUrl = `https://${locusClusterUrl}/locus/api/v1`;
|
|
235
|
+
} else {
|
|
236
|
+
// @ts-ignore
|
|
237
|
+
await this.webex.internal.services.waitForCatalog('postauth');
|
|
238
|
+
// @ts-ignore
|
|
239
|
+
clusterUrl = this.webex.internal.services.get('locus');
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
url = `${clusterUrl}/${LOCI}/${CALL}`;
|
|
144
243
|
body.invitee = {
|
|
145
244
|
address: inviteeAddress || `wbxmn:${meetingNumber}`,
|
|
146
245
|
};
|
|
@@ -242,7 +341,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
242
341
|
};
|
|
243
342
|
|
|
244
343
|
// @ts-ignore
|
|
245
|
-
return this.
|
|
344
|
+
return this.locusDeltaRequest({
|
|
246
345
|
method: HTTP_VERBS.POST,
|
|
247
346
|
uri,
|
|
248
347
|
body,
|
|
@@ -297,7 +396,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
297
396
|
};
|
|
298
397
|
|
|
299
398
|
// @ts-ignore
|
|
300
|
-
return this.
|
|
399
|
+
return this.locusDeltaRequest({
|
|
301
400
|
method: HTTP_VERBS.POST,
|
|
302
401
|
uri,
|
|
303
402
|
body,
|
|
@@ -311,65 +410,25 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
311
410
|
}
|
|
312
411
|
|
|
313
412
|
/**
|
|
314
|
-
*
|
|
413
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
315
414
|
* @param {Object} options
|
|
316
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
317
|
-
* @param {String} options.syncUrl sync url to get ht elatest locus delta
|
|
318
|
-
* @returns {Promise}
|
|
319
|
-
*/
|
|
320
|
-
syncMeeting(options: {desync: boolean; syncUrl: string}) {
|
|
321
|
-
/* eslint-disable no-else-return */
|
|
322
|
-
const {desync} = options;
|
|
323
|
-
let {syncUrl} = options;
|
|
324
|
-
|
|
325
|
-
/* istanbul ignore else */
|
|
326
|
-
if (desync) {
|
|
327
|
-
// check for existing URL parameters
|
|
328
|
-
syncUrl = syncUrl
|
|
329
|
-
.concat(syncUrl.split('?')[1] ? '&' : '?')
|
|
330
|
-
.concat(`${LOCUS.SYNCDEBUG}=${desync}`);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
// @ts-ignore
|
|
334
|
-
return this.request({
|
|
335
|
-
method: HTTP_VERBS.GET,
|
|
336
|
-
uri: syncUrl,
|
|
337
|
-
}) // TODO: Handle if delta sync failed . Get the full locus object
|
|
338
|
-
.catch((err) => {
|
|
339
|
-
LoggerProxy.logger.error(
|
|
340
|
-
`Meeting:request#syncMeeting --> Error syncing meeting, error ${err}`
|
|
341
|
-
);
|
|
342
|
-
|
|
343
|
-
return err;
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* Request to get the complete locus object
|
|
349
|
-
* @param {Object} options
|
|
350
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
351
415
|
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
352
416
|
* @returns {Promise}
|
|
353
417
|
*/
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
const {desync} = options;
|
|
357
|
-
|
|
358
|
-
if (locusUrl) {
|
|
359
|
-
if (desync) {
|
|
360
|
-
locusUrl += `?${LOCUS.SYNCDEBUG}=${desync}`;
|
|
361
|
-
}
|
|
418
|
+
getLocusDTO(options: {url: string}) {
|
|
419
|
+
const {url} = options;
|
|
362
420
|
|
|
421
|
+
if (url) {
|
|
363
422
|
// @ts-ignore
|
|
364
423
|
return this.request({
|
|
365
424
|
method: HTTP_VERBS.GET,
|
|
366
|
-
uri:
|
|
425
|
+
uri: url,
|
|
367
426
|
}).catch((err) => {
|
|
368
427
|
LoggerProxy.logger.error(
|
|
369
|
-
`Meeting:request#
|
|
428
|
+
`Meeting:request#getLocusDTO --> Error getting latest locus, error ${err}`
|
|
370
429
|
);
|
|
371
430
|
|
|
372
|
-
|
|
431
|
+
throw err;
|
|
373
432
|
});
|
|
374
433
|
}
|
|
375
434
|
|
|
@@ -412,7 +471,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
412
471
|
};
|
|
413
472
|
|
|
414
473
|
// @ts-ignore
|
|
415
|
-
return this.
|
|
474
|
+
return this.locusDeltaRequest({
|
|
416
475
|
method: HTTP_VERBS.PUT,
|
|
417
476
|
uri,
|
|
418
477
|
body,
|
|
@@ -426,13 +485,49 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
426
485
|
}
|
|
427
486
|
|
|
428
487
|
/**
|
|
429
|
-
*
|
|
488
|
+
* Prepares request options to to leave a meeting
|
|
430
489
|
* @param {Object} options
|
|
431
490
|
* @param {Url} options.locusUrl
|
|
432
491
|
* @param {String} options.selfId
|
|
433
492
|
* @param {Url} options.deviceUrl
|
|
434
493
|
* @param {String} options.resourceId,
|
|
435
494
|
* @param {String} options.correlationId
|
|
495
|
+
* @returns {Object} request options
|
|
496
|
+
*/
|
|
497
|
+
prepareLeaveMeetingRequestOptions({
|
|
498
|
+
locusUrl,
|
|
499
|
+
selfId,
|
|
500
|
+
deviceUrl: url,
|
|
501
|
+
resourceId,
|
|
502
|
+
correlationId,
|
|
503
|
+
}: {
|
|
504
|
+
locusUrl: string;
|
|
505
|
+
selfId: string;
|
|
506
|
+
deviceUrl: string;
|
|
507
|
+
resourceId: string;
|
|
508
|
+
correlationId: string;
|
|
509
|
+
}) {
|
|
510
|
+
const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;
|
|
511
|
+
const body = {
|
|
512
|
+
device: {
|
|
513
|
+
// @ts-ignore
|
|
514
|
+
deviceType: this.config.meetings.deviceType,
|
|
515
|
+
url,
|
|
516
|
+
},
|
|
517
|
+
usingResource: resourceId || null,
|
|
518
|
+
correlationId,
|
|
519
|
+
};
|
|
520
|
+
|
|
521
|
+
return {
|
|
522
|
+
method: HTTP_VERBS.PUT,
|
|
523
|
+
uri,
|
|
524
|
+
body,
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Make a network request to leave a meeting
|
|
530
|
+
* @param {Object} options
|
|
436
531
|
* @returns {Promise}
|
|
437
532
|
*/
|
|
438
533
|
leaveMeeting({
|
|
@@ -461,14 +556,22 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
461
556
|
correlationId,
|
|
462
557
|
};
|
|
463
558
|
|
|
464
|
-
|
|
465
|
-
return this.request({
|
|
559
|
+
return this.locusDeltaRequest({
|
|
466
560
|
method: HTTP_VERBS.PUT,
|
|
467
561
|
uri,
|
|
468
562
|
body,
|
|
469
563
|
});
|
|
470
564
|
}
|
|
471
565
|
|
|
566
|
+
/**
|
|
567
|
+
* Builds request options to leave a meeting
|
|
568
|
+
* @param {Object} options
|
|
569
|
+
* @returns {Object} request options
|
|
570
|
+
*/
|
|
571
|
+
buildLeaveMeetingRequestOptions(options: any) {
|
|
572
|
+
return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));
|
|
573
|
+
}
|
|
574
|
+
|
|
472
575
|
/**
|
|
473
576
|
* Make a network request to acknowledge a meeting
|
|
474
577
|
* @param {Object} options
|
|
@@ -488,14 +591,19 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
488
591
|
correlationId: options.correlationId,
|
|
489
592
|
};
|
|
490
593
|
|
|
491
|
-
|
|
492
|
-
return this.request({
|
|
594
|
+
return this.locusDeltaRequest({
|
|
493
595
|
method: HTTP_VERBS.PUT,
|
|
494
596
|
uri,
|
|
495
597
|
body,
|
|
496
598
|
});
|
|
497
599
|
}
|
|
498
600
|
|
|
601
|
+
/**
|
|
602
|
+
* Makes a network request to lock the meeting
|
|
603
|
+
* @param {Object} options
|
|
604
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
605
|
+
* @returns {Promise}
|
|
606
|
+
*/
|
|
499
607
|
lockMeeting(options) {
|
|
500
608
|
const uri = `${options.locusUrl}/${CONTROLS}`;
|
|
501
609
|
const body = {
|
|
@@ -504,8 +612,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
504
612
|
},
|
|
505
613
|
};
|
|
506
614
|
|
|
507
|
-
|
|
508
|
-
return this.request({
|
|
615
|
+
return this.locusDeltaRequest({
|
|
509
616
|
method: HTTP_VERBS.PATCH,
|
|
510
617
|
uri,
|
|
511
618
|
body,
|
|
@@ -531,53 +638,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
531
638
|
...(options.reason && {reason: options.reason}),
|
|
532
639
|
};
|
|
533
640
|
|
|
534
|
-
|
|
535
|
-
return this.request({
|
|
536
|
-
method: HTTP_VERBS.PUT,
|
|
537
|
-
uri,
|
|
538
|
-
body,
|
|
539
|
-
});
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
/**
|
|
543
|
-
* Toggle remote audio and/or video
|
|
544
|
-
* @param {Object} options options for toggling
|
|
545
|
-
* @param {String} options.selfId Locus self id??
|
|
546
|
-
* @param {String} options.locusUrl Locus url
|
|
547
|
-
* @param {String} options.deviceUrl Url of a device
|
|
548
|
-
* @param {String} options.resourceId Populated if you are paired to a device
|
|
549
|
-
* @param {String} options.localMedias local sdps
|
|
550
|
-
* @returns {Promise}
|
|
551
|
-
*/
|
|
552
|
-
remoteAudioVideoToggle(
|
|
553
|
-
options:
|
|
554
|
-
| {
|
|
555
|
-
selfId: string;
|
|
556
|
-
locusUrl: string;
|
|
557
|
-
deviceUrl: string;
|
|
558
|
-
resourceId: string;
|
|
559
|
-
localMedias: string;
|
|
560
|
-
}
|
|
561
|
-
| any
|
|
562
|
-
) {
|
|
563
|
-
const uri = `${options.locusUrl}/${PARTICIPANT}/${options.selfId}/${MEDIA}`;
|
|
564
|
-
const body = {
|
|
565
|
-
device: {
|
|
566
|
-
// @ts-ignore
|
|
567
|
-
deviceType: this.config.meetings.deviceType,
|
|
568
|
-
url: options.deviceUrl,
|
|
569
|
-
},
|
|
570
|
-
usingResource: options.resourceId || null,
|
|
571
|
-
correlationId: options.correlationId,
|
|
572
|
-
respOnlySdp: true,
|
|
573
|
-
localMedias: options.localMedias,
|
|
574
|
-
clientMediaPreferences: {
|
|
575
|
-
preferTranscoding: options.preferTranscoding ?? true,
|
|
576
|
-
},
|
|
577
|
-
};
|
|
578
|
-
|
|
579
|
-
// @ts-ignore
|
|
580
|
-
return this.request({
|
|
641
|
+
return this.locusDeltaRequest({
|
|
581
642
|
method: HTTP_VERBS.PUT,
|
|
582
643
|
uri,
|
|
583
644
|
body,
|
|
@@ -602,6 +663,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
602
663
|
deviceUrl: string;
|
|
603
664
|
resourceId: string;
|
|
604
665
|
uri: string;
|
|
666
|
+
annotationInfo: AnnotationInfo;
|
|
605
667
|
}
|
|
606
668
|
| any
|
|
607
669
|
) {
|
|
@@ -635,6 +697,9 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
635
697
|
if (options?.resourceToken) {
|
|
636
698
|
body.resourceToken = options?.resourceToken;
|
|
637
699
|
}
|
|
700
|
+
if (options?.annotationInfo) {
|
|
701
|
+
body.annotation = options?.annotationInfo;
|
|
702
|
+
}
|
|
638
703
|
|
|
639
704
|
// @ts-ignore
|
|
640
705
|
return this.request({
|
|
@@ -654,7 +719,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
654
719
|
*/
|
|
655
720
|
sendDTMF({locusUrl, deviceUrl, tones}: {locusUrl: string; deviceUrl: string; tones: string}) {
|
|
656
721
|
// @ts-ignore
|
|
657
|
-
return this.
|
|
722
|
+
return this.locusDeltaRequest({
|
|
658
723
|
method: HTTP_VERBS.POST,
|
|
659
724
|
uri: `${locusUrl}/${SEND_DTMF_ENDPOINT}`,
|
|
660
725
|
body: {
|
|
@@ -735,7 +800,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
735
800
|
: undefined;
|
|
736
801
|
|
|
737
802
|
// @ts-ignore
|
|
738
|
-
return this.
|
|
803
|
+
return this.locusDeltaRequest({
|
|
739
804
|
method: HTTP_VERBS.PUT,
|
|
740
805
|
uri: `${locusUrl}/${CONTROLS}`,
|
|
741
806
|
body: {
|
|
@@ -758,7 +823,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
758
823
|
const uri = `${locusUrl}/${END}`;
|
|
759
824
|
|
|
760
825
|
// @ts-ignore
|
|
761
|
-
return this.
|
|
826
|
+
return this.locusDeltaRequest({
|
|
762
827
|
method: HTTP_VERBS.POST,
|
|
763
828
|
uri,
|
|
764
829
|
});
|
|
@@ -786,15 +851,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
786
851
|
* @param {string} options.senderID
|
|
787
852
|
* @returns {Promise}
|
|
788
853
|
*/
|
|
789
|
-
sendReaction({
|
|
790
|
-
reactionChannelUrl,
|
|
791
|
-
reaction,
|
|
792
|
-
participantId,
|
|
793
|
-
}: {
|
|
794
|
-
reactionChannelUrl: string;
|
|
795
|
-
reaction: Reaction;
|
|
796
|
-
participantId: string;
|
|
797
|
-
}) {
|
|
854
|
+
sendReaction({reactionChannelUrl, reaction, participantId}: SendReactionOptions) {
|
|
798
855
|
const uri = reactionChannelUrl;
|
|
799
856
|
|
|
800
857
|
// @ts-ignore
|
|
@@ -807,4 +864,34 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
807
864
|
},
|
|
808
865
|
});
|
|
809
866
|
}
|
|
867
|
+
|
|
868
|
+
/**
|
|
869
|
+
* Make a network request to enable or disable reactions.
|
|
870
|
+
* @param {boolean} options.enable - determines if we need to enable or disable.
|
|
871
|
+
* @param {locusUrl} options.locusUrl
|
|
872
|
+
* @returns {Promise}
|
|
873
|
+
*/
|
|
874
|
+
toggleReactions({enable, locusUrl, requestingParticipantId}: ToggleReactionsOptions) {
|
|
875
|
+
const uri = `${locusUrl}/${CONTROLS}`;
|
|
876
|
+
|
|
877
|
+
// @ts-ignore
|
|
878
|
+
return this.locusDeltaRequest({
|
|
879
|
+
method: HTTP_VERBS.PUT,
|
|
880
|
+
uri,
|
|
881
|
+
body: {
|
|
882
|
+
reactions: {
|
|
883
|
+
enabled: enable,
|
|
884
|
+
},
|
|
885
|
+
requestingParticipantId,
|
|
886
|
+
},
|
|
887
|
+
});
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
getLocusStatusByUrl(locusUrl: string) {
|
|
891
|
+
// @ts-ignore
|
|
892
|
+
return this.request({
|
|
893
|
+
method: HTTP_VERBS.GET,
|
|
894
|
+
uri: locusUrl,
|
|
895
|
+
});
|
|
896
|
+
}
|
|
810
897
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {Reaction} from '../reactions/reactions.type';
|
|
2
|
+
|
|
3
|
+
export type SendReactionOptions = {
|
|
4
|
+
reactionChannelUrl: string;
|
|
5
|
+
reaction: Reaction;
|
|
6
|
+
participantId: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type ToggleReactionsOptions = {
|
|
10
|
+
enable: boolean;
|
|
11
|
+
locusUrl: string;
|
|
12
|
+
requestingParticipantId: string;
|
|
13
|
+
};
|