@webex/plugin-meetings 3.0.0-beta.41 → 3.0.0-beta.411
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.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 +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +94 -15
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +625 -123
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +27 -8
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +48 -7
- 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/common/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +6 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +247 -34
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- 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 +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +116 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.js +93 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +380 -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 +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +386 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +71 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +249 -72
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +65 -102
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +73 -124
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +135 -330
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +86 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +4531 -2994
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +236 -136
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +189 -155
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +676 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +172 -0
- package/dist/meeting/voicea-meeting.js.map +1 -0
- package/dist/meeting-info/index.js +73 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +201 -57
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +8 -7
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +44 -40
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +39 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +484 -119
- 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 +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +73 -7
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +57 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +132 -25
- 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 +100 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- 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 +326 -232
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +18 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -446
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +223 -32
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +10 -0
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +39 -36
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +3 -1
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +76 -5
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +366 -104
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +255 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/clusterReachability.js +356 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.js +263 -390
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +6 -4
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reconnection-manager/index.js +266 -202
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +66 -28
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +48 -64
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +407 -79
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +179 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +389 -304
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +296 -156
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/utils.d.ts +9 -2
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +25 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +2 -7
- package/dist/types/constants.d.ts +204 -32
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- package/dist/types/index.d.ts +6 -5
- package/dist/types/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -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/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +66 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -49
- package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
- package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
- package/dist/types/meeting/index.d.ts +630 -505
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +88 -26
- package/dist/types/meeting/request.d.ts +67 -43
- package/dist/types/meeting/util.d.ts +117 -1
- package/dist/types/meeting/voicea-meeting.d.ts +16 -0
- package/dist/types/meeting-info/index.d.ts +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +17 -0
- package/dist/types/meetings/index.d.ts +113 -21
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +14 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +25 -0
- package/dist/types/members/util.d.ts +214 -1
- package/dist/types/metrics/constants.d.ts +17 -0
- package/dist/types/metrics/index.d.ts +4 -111
- package/dist/types/multistream/mediaRequestManager.d.ts +71 -3
- package/dist/types/multistream/receiveSlot.d.ts +7 -3
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
- package/dist/types/multistream/remoteMedia.d.ts +3 -31
- package/dist/types/multistream/remoteMediaGroup.d.ts +2 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +61 -2
- package/dist/types/multistream/sendSlotManager.d.ts +69 -0
- package/dist/types/reachability/clusterReachability.d.ts +109 -0
- package/dist/types/reachability/index.d.ts +60 -95
- package/dist/types/reachability/request.d.ts +3 -1
- package/dist/types/reachability/util.d.ts +8 -0
- package/dist/types/reconnection-manager/index.d.ts +19 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/index.d.ts +11 -2
- package/dist/types/roap/request.d.ts +9 -8
- package/dist/types/roap/turnDiscovery.d.ts +90 -9
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +61 -0
- package/dist/types/statsAnalyzer/index.d.ts +34 -12
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +22 -19
- 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 +27 -6
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +494 -73
- package/src/breakouts/utils.ts +26 -8
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +44 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +6 -13
- package/src/constants.ts +234 -22
- 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 +45 -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 +349 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +417 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +80 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -108
- package/src/media/properties.ts +88 -117
- package/src/mediaQualityMetrics/config.ts +103 -238
- package/src/meeting/in-meeting-actions.ts +171 -3
- package/src/meeting/index.ts +3929 -2622
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +237 -136
- package/src/meeting/request.ts +173 -122
- package/src/meeting/util.ts +690 -395
- package/src/meeting/voicea-meeting.ts +122 -0
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +166 -16
- package/src/meeting-info/util.ts +13 -10
- package/src/meeting-info/utilv2.ts +47 -37
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +507 -127
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +81 -12
- package/src/member/index.ts +57 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +141 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +133 -7
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +333 -240
- package/src/metrics/constants.ts +17 -0
- package/src/metrics/index.ts +1 -469
- package/src/multistream/mediaRequestManager.ts +271 -56
- package/src/multistream/receiveSlot.ts +11 -4
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +5 -3
- package/src/multistream/remoteMediaGroup.ts +78 -0
- package/src/multistream/remoteMediaManager.ts +248 -45
- package/src/multistream/sendSlotManager.ts +198 -0
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +229 -346
- package/src/reachability/request.ts +8 -4
- package/src/reachability/util.ts +24 -0
- package/src/reconnection-manager/index.ts +128 -97
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +76 -25
- package/src/roap/request.ts +48 -67
- package/src/roap/turnDiscovery.ts +331 -67
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +166 -0
- package/src/statsAnalyzer/index.ts +496 -419
- package/src/statsAnalyzer/mqaUtil.ts +317 -170
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +321 -262
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +119 -28
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1204 -118
- package/test/unit/spec/breakouts/utils.js +27 -2
- 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 +625 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1372 -37
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +203 -17
- package/test/unit/spec/media/index.ts +178 -81
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
- package/test/unit/spec/meeting/index.js +7835 -2501
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +549 -207
- package/test/unit/spec/meeting/request.js +494 -54
- package/test/unit/spec/meeting/utils.js +827 -74
- package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +535 -9
- 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 +1489 -219
- package/test/unit/spec/meetings/utils.js +229 -2
- package/test/unit/spec/member/index.js +61 -6
- package/test/unit/spec/member/util.js +510 -34
- package/test/unit/spec/members/index.js +432 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +210 -0
- package/test/unit/spec/metrics/index.js +2 -52
- package/test/unit/spec/multistream/mediaRequestManager.ts +782 -114
- package/test/unit/spec/multistream/receiveSlot.ts +9 -1
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- package/test/unit/spec/multistream/remoteMedia.ts +2 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +344 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +524 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +551 -14
- package/test/unit/spec/reachability/request.js +3 -1
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +171 -11
- 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 +233 -81
- package/test/unit/spec/roap/request.ts +100 -62
- package/test/unit/spec/roap/turnDiscovery.ts +682 -108
- package/test/unit/spec/rtcMetrics/index.ts +122 -0
- package/test/unit/spec/stats-analyzer/index.js +1431 -12
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -57
- package/test/utils/webex-test-users.js +12 -4
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/metrics/config.d.ts +0 -169
- package/src/index.js +0 -18
- package/src/metrics/config.ts +0 -485
package/src/meeting/request.ts
CHANGED
|
@@ -4,6 +4,7 @@ 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 {
|
|
@@ -18,22 +19,27 @@ import {
|
|
|
18
19
|
HTTP_VERBS,
|
|
19
20
|
LEAVE,
|
|
20
21
|
LOCI,
|
|
21
|
-
LOCUS,
|
|
22
|
-
MEDIA,
|
|
23
22
|
PARTICIPANT,
|
|
24
23
|
PROVISIONAL_TYPE_DIAL_IN,
|
|
25
24
|
PROVISIONAL_TYPE_DIAL_OUT,
|
|
26
25
|
REACHABILITY,
|
|
27
26
|
SEND_DTMF_ENDPOINT,
|
|
28
27
|
_SLIDES_,
|
|
28
|
+
ANNOTATION,
|
|
29
|
+
IP_VERSION,
|
|
29
30
|
} from '../constants';
|
|
30
31
|
import {SendReactionOptions, ToggleReactionsOptions} from './request.type';
|
|
32
|
+
import MeetingUtil from './util';
|
|
33
|
+
import {AnnotationInfo} from '../annotation/annotation.types';
|
|
31
34
|
|
|
32
35
|
/**
|
|
33
36
|
* @class MeetingRequest
|
|
34
37
|
*/
|
|
35
38
|
export default class MeetingRequest extends StatelessWebexPlugin {
|
|
36
39
|
changeVideoLayoutDebounced: any;
|
|
40
|
+
meetingRef: WeakRef<any>;
|
|
41
|
+
locusDeltaRequest: (options: object) => Promise<any>;
|
|
42
|
+
buildLocusDeltaRequestOptions: (options: object) => Promise<any>;
|
|
37
43
|
|
|
38
44
|
/**
|
|
39
45
|
* Constructor
|
|
@@ -41,7 +47,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
41
47
|
* @param {Object} options
|
|
42
48
|
*/
|
|
43
49
|
constructor(attrs: any, options: any) {
|
|
44
|
-
|
|
50
|
+
const {meeting, ...otherAttrs} = attrs;
|
|
51
|
+
|
|
52
|
+
super(otherAttrs, options);
|
|
53
|
+
|
|
54
|
+
this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);
|
|
55
|
+
this.buildLocusDeltaRequestOptions = MeetingUtil.generateBuildLocusDeltaRequestOptions(meeting);
|
|
56
|
+
|
|
45
57
|
this.changeVideoLayoutDebounced = debounce(this.changeVideoLayout, 2000, {
|
|
46
58
|
leading: true,
|
|
47
59
|
trailing: true,
|
|
@@ -88,12 +100,17 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
88
100
|
* @param {boolean} options.moveToResource
|
|
89
101
|
* @param {Object} options.roapMessage
|
|
90
102
|
* @param {boolean} options.breakoutsSupported
|
|
103
|
+
* @param {String} options.locale,
|
|
104
|
+
* @param {Array} options.deviceCapabilities
|
|
105
|
+
* @param {boolean} options.liveAnnotationSupported
|
|
106
|
+
* @param {String} options.alias
|
|
91
107
|
* @returns {Promise}
|
|
92
108
|
*/
|
|
93
109
|
async joinMeeting(options: {
|
|
94
110
|
sipUri: string;
|
|
95
111
|
deviceUrl: string;
|
|
96
112
|
locusUrl: string;
|
|
113
|
+
locusClusterUrl: string;
|
|
97
114
|
resourceId: string;
|
|
98
115
|
correlationId: string;
|
|
99
116
|
ensureConversation: boolean;
|
|
@@ -106,7 +123,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
106
123
|
meetingNumber: any;
|
|
107
124
|
permissionToken: any;
|
|
108
125
|
preferTranscoding: any;
|
|
126
|
+
reachability: any;
|
|
109
127
|
breakoutsSupported: boolean;
|
|
128
|
+
locale?: string;
|
|
129
|
+
deviceCapabilities?: Array<string>;
|
|
130
|
+
liveAnnotationSupported: boolean;
|
|
131
|
+
ipVersion?: IP_VERSION;
|
|
132
|
+
alias?: string;
|
|
110
133
|
}) {
|
|
111
134
|
const {
|
|
112
135
|
asResourceOccupant,
|
|
@@ -115,6 +138,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
115
138
|
permissionToken,
|
|
116
139
|
deviceUrl,
|
|
117
140
|
locusUrl,
|
|
141
|
+
locusClusterUrl,
|
|
118
142
|
resourceId,
|
|
119
143
|
correlationId,
|
|
120
144
|
ensureConversation,
|
|
@@ -122,8 +146,14 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
122
146
|
pin,
|
|
123
147
|
moveToResource,
|
|
124
148
|
roapMessage,
|
|
149
|
+
reachability,
|
|
125
150
|
preferTranscoding,
|
|
126
151
|
breakoutsSupported,
|
|
152
|
+
locale,
|
|
153
|
+
deviceCapabilities = [],
|
|
154
|
+
liveAnnotationSupported,
|
|
155
|
+
ipVersion,
|
|
156
|
+
alias,
|
|
127
157
|
} = options;
|
|
128
158
|
|
|
129
159
|
LoggerProxy.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
|
|
@@ -149,19 +179,46 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
149
179
|
clientMediaPreferences: {
|
|
150
180
|
preferTranscoding: preferTranscoding ?? true,
|
|
151
181
|
joinCookie,
|
|
182
|
+
ipver: ipVersion,
|
|
152
183
|
},
|
|
153
184
|
};
|
|
154
185
|
|
|
186
|
+
if (alias) {
|
|
187
|
+
body.alias = alias;
|
|
188
|
+
}
|
|
189
|
+
|
|
155
190
|
if (breakoutsSupported) {
|
|
156
|
-
|
|
191
|
+
deviceCapabilities.push(BREAKOUTS.BREAKOUTS_SUPPORTED);
|
|
192
|
+
}
|
|
193
|
+
if (liveAnnotationSupported) {
|
|
194
|
+
deviceCapabilities.push(ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// append installationId to device config if it exists
|
|
198
|
+
// @ts-ignore
|
|
199
|
+
if (this.webex.internal.device.config.installationId) {
|
|
200
|
+
// @ts-ignore
|
|
201
|
+
body.device.installationId = this.webex.internal.device.config.installationId;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
if (locale) {
|
|
205
|
+
body.locale = locale;
|
|
157
206
|
}
|
|
158
207
|
|
|
208
|
+
// add deviceCapabilities prop
|
|
209
|
+
if (deviceCapabilities.length) {
|
|
210
|
+
body.deviceCapabilities = deviceCapabilities;
|
|
211
|
+
}
|
|
159
212
|
// @ts-ignore
|
|
160
|
-
if (this.webex.meetings.
|
|
213
|
+
if (this.webex.meetings.geoHintInfo) {
|
|
161
214
|
// @ts-ignore
|
|
162
|
-
body.device.countryCode = this.webex.meetings.
|
|
215
|
+
body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
|
|
163
216
|
// @ts-ignore
|
|
164
|
-
body.device.regionCode = this.webex.meetings.
|
|
217
|
+
body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
|
|
218
|
+
body.device.localIp =
|
|
219
|
+
// @ts-ignore
|
|
220
|
+
CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) ||
|
|
221
|
+
undefined;
|
|
165
222
|
}
|
|
166
223
|
|
|
167
224
|
if (moderator !== undefined) {
|
|
@@ -180,10 +237,18 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
180
237
|
url = `${locusUrl}/${PARTICIPANT}`;
|
|
181
238
|
} else if (inviteeAddress || meetingNumber) {
|
|
182
239
|
try {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
240
|
+
let clusterUrl;
|
|
241
|
+
|
|
242
|
+
if (locusClusterUrl) {
|
|
243
|
+
clusterUrl = `https://${locusClusterUrl}/locus/api/v1`;
|
|
244
|
+
} else {
|
|
245
|
+
// @ts-ignore
|
|
246
|
+
await this.webex.internal.services.waitForCatalog('postauth');
|
|
247
|
+
// @ts-ignore
|
|
248
|
+
clusterUrl = this.webex.internal.services.get('locus');
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
url = `${clusterUrl}/${LOCI}/${CALL}`;
|
|
187
252
|
body.invitee = {
|
|
188
253
|
address: inviteeAddress || `wbxmn:${meetingNumber}`,
|
|
189
254
|
};
|
|
@@ -204,8 +269,15 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
204
269
|
};
|
|
205
270
|
}
|
|
206
271
|
|
|
207
|
-
if (roapMessage) {
|
|
208
|
-
body.localMedias =
|
|
272
|
+
if (roapMessage || reachability) {
|
|
273
|
+
body.localMedias = [
|
|
274
|
+
{
|
|
275
|
+
localSdp: JSON.stringify({
|
|
276
|
+
roapMessage,
|
|
277
|
+
reachability,
|
|
278
|
+
}),
|
|
279
|
+
},
|
|
280
|
+
];
|
|
209
281
|
}
|
|
210
282
|
|
|
211
283
|
/// @ts-ignore
|
|
@@ -285,7 +357,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
285
357
|
};
|
|
286
358
|
|
|
287
359
|
// @ts-ignore
|
|
288
|
-
return this.
|
|
360
|
+
return this.locusDeltaRequest({
|
|
289
361
|
method: HTTP_VERBS.POST,
|
|
290
362
|
uri,
|
|
291
363
|
body,
|
|
@@ -340,7 +412,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
340
412
|
};
|
|
341
413
|
|
|
342
414
|
// @ts-ignore
|
|
343
|
-
return this.
|
|
415
|
+
return this.locusDeltaRequest({
|
|
344
416
|
method: HTTP_VERBS.POST,
|
|
345
417
|
uri,
|
|
346
418
|
body,
|
|
@@ -354,65 +426,25 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
354
426
|
}
|
|
355
427
|
|
|
356
428
|
/**
|
|
357
|
-
*
|
|
429
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
358
430
|
* @param {Object} options
|
|
359
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
360
|
-
* @param {String} options.syncUrl sync url to get ht elatest locus delta
|
|
361
|
-
* @returns {Promise}
|
|
362
|
-
*/
|
|
363
|
-
syncMeeting(options: {desync: boolean; syncUrl: string}) {
|
|
364
|
-
/* eslint-disable no-else-return */
|
|
365
|
-
const {desync} = options;
|
|
366
|
-
let {syncUrl} = options;
|
|
367
|
-
|
|
368
|
-
/* istanbul ignore else */
|
|
369
|
-
if (desync) {
|
|
370
|
-
// check for existing URL parameters
|
|
371
|
-
syncUrl = syncUrl
|
|
372
|
-
.concat(syncUrl.split('?')[1] ? '&' : '?')
|
|
373
|
-
.concat(`${LOCUS.SYNCDEBUG}=${desync}`);
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
// @ts-ignore
|
|
377
|
-
return this.request({
|
|
378
|
-
method: HTTP_VERBS.GET,
|
|
379
|
-
uri: syncUrl,
|
|
380
|
-
}) // TODO: Handle if delta sync failed . Get the full locus object
|
|
381
|
-
.catch((err) => {
|
|
382
|
-
LoggerProxy.logger.error(
|
|
383
|
-
`Meeting:request#syncMeeting --> Error syncing meeting, error ${err}`
|
|
384
|
-
);
|
|
385
|
-
|
|
386
|
-
return err;
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
/**
|
|
391
|
-
* Request to get the complete locus object
|
|
392
|
-
* @param {Object} options
|
|
393
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
394
431
|
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
395
432
|
* @returns {Promise}
|
|
396
433
|
*/
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
const {desync} = options;
|
|
400
|
-
|
|
401
|
-
if (locusUrl) {
|
|
402
|
-
if (desync) {
|
|
403
|
-
locusUrl += `?${LOCUS.SYNCDEBUG}=${desync}`;
|
|
404
|
-
}
|
|
434
|
+
getLocusDTO(options: {url: string}) {
|
|
435
|
+
const {url} = options;
|
|
405
436
|
|
|
437
|
+
if (url) {
|
|
406
438
|
// @ts-ignore
|
|
407
439
|
return this.request({
|
|
408
440
|
method: HTTP_VERBS.GET,
|
|
409
|
-
uri:
|
|
441
|
+
uri: url,
|
|
410
442
|
}).catch((err) => {
|
|
411
443
|
LoggerProxy.logger.error(
|
|
412
|
-
`Meeting:request#
|
|
444
|
+
`Meeting:request#getLocusDTO --> Error getting latest locus, error ${err}`
|
|
413
445
|
);
|
|
414
446
|
|
|
415
|
-
|
|
447
|
+
throw err;
|
|
416
448
|
});
|
|
417
449
|
}
|
|
418
450
|
|
|
@@ -455,7 +487,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
455
487
|
};
|
|
456
488
|
|
|
457
489
|
// @ts-ignore
|
|
458
|
-
return this.
|
|
490
|
+
return this.locusDeltaRequest({
|
|
459
491
|
method: HTTP_VERBS.PUT,
|
|
460
492
|
uri,
|
|
461
493
|
body,
|
|
@@ -469,13 +501,49 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
469
501
|
}
|
|
470
502
|
|
|
471
503
|
/**
|
|
472
|
-
*
|
|
504
|
+
* Prepares request options to to leave a meeting
|
|
473
505
|
* @param {Object} options
|
|
474
506
|
* @param {Url} options.locusUrl
|
|
475
507
|
* @param {String} options.selfId
|
|
476
508
|
* @param {Url} options.deviceUrl
|
|
477
509
|
* @param {String} options.resourceId,
|
|
478
510
|
* @param {String} options.correlationId
|
|
511
|
+
* @returns {Object} request options
|
|
512
|
+
*/
|
|
513
|
+
prepareLeaveMeetingRequestOptions({
|
|
514
|
+
locusUrl,
|
|
515
|
+
selfId,
|
|
516
|
+
deviceUrl: url,
|
|
517
|
+
resourceId,
|
|
518
|
+
correlationId,
|
|
519
|
+
}: {
|
|
520
|
+
locusUrl: string;
|
|
521
|
+
selfId: string;
|
|
522
|
+
deviceUrl: string;
|
|
523
|
+
resourceId: string;
|
|
524
|
+
correlationId: string;
|
|
525
|
+
}) {
|
|
526
|
+
const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;
|
|
527
|
+
const body = {
|
|
528
|
+
device: {
|
|
529
|
+
// @ts-ignore
|
|
530
|
+
deviceType: this.config.meetings.deviceType,
|
|
531
|
+
url,
|
|
532
|
+
},
|
|
533
|
+
usingResource: resourceId || null,
|
|
534
|
+
correlationId,
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
return {
|
|
538
|
+
method: HTTP_VERBS.PUT,
|
|
539
|
+
uri,
|
|
540
|
+
body,
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* Make a network request to leave a meeting
|
|
546
|
+
* @param {Object} options
|
|
479
547
|
* @returns {Promise}
|
|
480
548
|
*/
|
|
481
549
|
leaveMeeting({
|
|
@@ -504,14 +572,22 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
504
572
|
correlationId,
|
|
505
573
|
};
|
|
506
574
|
|
|
507
|
-
|
|
508
|
-
return this.request({
|
|
575
|
+
return this.locusDeltaRequest({
|
|
509
576
|
method: HTTP_VERBS.PUT,
|
|
510
577
|
uri,
|
|
511
578
|
body,
|
|
512
579
|
});
|
|
513
580
|
}
|
|
514
581
|
|
|
582
|
+
/**
|
|
583
|
+
* Builds request options to leave a meeting
|
|
584
|
+
* @param {Object} options
|
|
585
|
+
* @returns {Object} request options
|
|
586
|
+
*/
|
|
587
|
+
buildLeaveMeetingRequestOptions(options: any) {
|
|
588
|
+
return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));
|
|
589
|
+
}
|
|
590
|
+
|
|
515
591
|
/**
|
|
516
592
|
* Make a network request to acknowledge a meeting
|
|
517
593
|
* @param {Object} options
|
|
@@ -531,14 +607,19 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
531
607
|
correlationId: options.correlationId,
|
|
532
608
|
};
|
|
533
609
|
|
|
534
|
-
|
|
535
|
-
return this.request({
|
|
610
|
+
return this.locusDeltaRequest({
|
|
536
611
|
method: HTTP_VERBS.PUT,
|
|
537
612
|
uri,
|
|
538
613
|
body,
|
|
539
614
|
});
|
|
540
615
|
}
|
|
541
616
|
|
|
617
|
+
/**
|
|
618
|
+
* Makes a network request to lock the meeting
|
|
619
|
+
* @param {Object} options
|
|
620
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
621
|
+
* @returns {Promise}
|
|
622
|
+
*/
|
|
542
623
|
lockMeeting(options) {
|
|
543
624
|
const uri = `${options.locusUrl}/${CONTROLS}`;
|
|
544
625
|
const body = {
|
|
@@ -547,8 +628,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
547
628
|
},
|
|
548
629
|
};
|
|
549
630
|
|
|
550
|
-
|
|
551
|
-
return this.request({
|
|
631
|
+
return this.locusDeltaRequest({
|
|
552
632
|
method: HTTP_VERBS.PATCH,
|
|
553
633
|
uri,
|
|
554
634
|
body,
|
|
@@ -574,54 +654,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
574
654
|
...(options.reason && {reason: options.reason}),
|
|
575
655
|
};
|
|
576
656
|
|
|
577
|
-
|
|
578
|
-
return this.request({
|
|
579
|
-
method: HTTP_VERBS.PUT,
|
|
580
|
-
uri,
|
|
581
|
-
body,
|
|
582
|
-
});
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
/**
|
|
586
|
-
* Toggle remote audio and/or video
|
|
587
|
-
* @param {Object} options options for toggling
|
|
588
|
-
* @param {String} options.selfId Locus self id??
|
|
589
|
-
* @param {String} options.locusUrl Locus url
|
|
590
|
-
* @param {String} options.deviceUrl Url of a device
|
|
591
|
-
* @param {String} options.resourceId Populated if you are paired to a device
|
|
592
|
-
* @param {String} options.localMedias local sdps
|
|
593
|
-
* @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
|
|
594
|
-
* @returns {Promise}
|
|
595
|
-
*/
|
|
596
|
-
remoteAudioVideoToggle(
|
|
597
|
-
options:
|
|
598
|
-
| {
|
|
599
|
-
selfId: string;
|
|
600
|
-
locusUrl: string;
|
|
601
|
-
deviceUrl: string;
|
|
602
|
-
resourceId: string;
|
|
603
|
-
localMedias: string;
|
|
604
|
-
}
|
|
605
|
-
| any
|
|
606
|
-
) {
|
|
607
|
-
const uri = `${options.locusUrl}/${PARTICIPANT}/${options.selfId}/${MEDIA}`;
|
|
608
|
-
const body = {
|
|
609
|
-
device: {
|
|
610
|
-
// @ts-ignore
|
|
611
|
-
deviceType: this.config.meetings.deviceType,
|
|
612
|
-
url: options.deviceUrl,
|
|
613
|
-
},
|
|
614
|
-
usingResource: options.resourceId || null,
|
|
615
|
-
correlationId: options.correlationId,
|
|
616
|
-
respOnlySdp: true,
|
|
617
|
-
localMedias: options.localMedias,
|
|
618
|
-
clientMediaPreferences: {
|
|
619
|
-
preferTranscoding: options.preferTranscoding ?? true,
|
|
620
|
-
},
|
|
621
|
-
};
|
|
622
|
-
|
|
623
|
-
// @ts-ignore
|
|
624
|
-
return this.request({
|
|
657
|
+
return this.locusDeltaRequest({
|
|
625
658
|
method: HTTP_VERBS.PUT,
|
|
626
659
|
uri,
|
|
627
660
|
body,
|
|
@@ -636,6 +669,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
636
669
|
* @param {String} options.deviceUrl Url of a device
|
|
637
670
|
* @param {String} options.resourceId Populated if you are paired to a device
|
|
638
671
|
* @param {String} options.uri floor grant uri
|
|
672
|
+
* @param {String} options.shareInstanceId id for current share
|
|
639
673
|
* @returns {Promise}
|
|
640
674
|
*/
|
|
641
675
|
changeMeetingFloor(
|
|
@@ -646,6 +680,8 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
646
680
|
deviceUrl: string;
|
|
647
681
|
resourceId: string;
|
|
648
682
|
uri: string;
|
|
683
|
+
annotationInfo: AnnotationInfo;
|
|
684
|
+
shareInstanceId: string;
|
|
649
685
|
}
|
|
650
686
|
| any
|
|
651
687
|
) {
|
|
@@ -676,9 +712,16 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
676
712
|
resourceUrl: options.resourceUrl,
|
|
677
713
|
};
|
|
678
714
|
|
|
715
|
+
if (options?.shareInstanceId) {
|
|
716
|
+
body.floor.shareInstanceId = options.shareInstanceId;
|
|
717
|
+
}
|
|
718
|
+
|
|
679
719
|
if (options?.resourceToken) {
|
|
680
720
|
body.resourceToken = options?.resourceToken;
|
|
681
721
|
}
|
|
722
|
+
if (options?.annotationInfo) {
|
|
723
|
+
body.annotation = options?.annotationInfo;
|
|
724
|
+
}
|
|
682
725
|
|
|
683
726
|
// @ts-ignore
|
|
684
727
|
return this.request({
|
|
@@ -698,7 +741,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
698
741
|
*/
|
|
699
742
|
sendDTMF({locusUrl, deviceUrl, tones}: {locusUrl: string; deviceUrl: string; tones: string}) {
|
|
700
743
|
// @ts-ignore
|
|
701
|
-
return this.
|
|
744
|
+
return this.locusDeltaRequest({
|
|
702
745
|
method: HTTP_VERBS.POST,
|
|
703
746
|
uri: `${locusUrl}/${SEND_DTMF_ENDPOINT}`,
|
|
704
747
|
body: {
|
|
@@ -779,7 +822,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
779
822
|
: undefined;
|
|
780
823
|
|
|
781
824
|
// @ts-ignore
|
|
782
|
-
return this.
|
|
825
|
+
return this.locusDeltaRequest({
|
|
783
826
|
method: HTTP_VERBS.PUT,
|
|
784
827
|
uri: `${locusUrl}/${CONTROLS}`,
|
|
785
828
|
body: {
|
|
@@ -802,7 +845,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
802
845
|
const uri = `${locusUrl}/${END}`;
|
|
803
846
|
|
|
804
847
|
// @ts-ignore
|
|
805
|
-
return this.
|
|
848
|
+
return this.locusDeltaRequest({
|
|
806
849
|
method: HTTP_VERBS.POST,
|
|
807
850
|
uri,
|
|
808
851
|
});
|
|
@@ -854,7 +897,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
854
897
|
const uri = `${locusUrl}/${CONTROLS}`;
|
|
855
898
|
|
|
856
899
|
// @ts-ignore
|
|
857
|
-
return this.
|
|
900
|
+
return this.locusDeltaRequest({
|
|
858
901
|
method: HTTP_VERBS.PUT,
|
|
859
902
|
uri,
|
|
860
903
|
body: {
|
|
@@ -865,4 +908,12 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
865
908
|
},
|
|
866
909
|
});
|
|
867
910
|
}
|
|
911
|
+
|
|
912
|
+
getLocusStatusByUrl(locusUrl: string) {
|
|
913
|
+
// @ts-ignore
|
|
914
|
+
return this.request({
|
|
915
|
+
method: HTTP_VERBS.GET,
|
|
916
|
+
uri: locusUrl,
|
|
917
|
+
});
|
|
918
|
+
}
|
|
868
919
|
}
|