@webex/plugin-meetings 2.59.8 → 2.60.0-next.2
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 +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +41 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +215 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +22 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +51 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +44 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +1047 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +77 -0
- package/dist/breakouts/request.js.map +1 -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.js +50 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/parameter.js +3 -4
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +1 -2
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +1 -2
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reclaim-host-role-errors.js +154 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/reconnection-in-progress.js +1 -2
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +1 -2
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +1 -2
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.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.js +8 -5
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +22 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +8 -11
- package/dist/config.js.map +1 -1
- package/dist/constants.js +437 -435
- 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.js +15 -6
- package/dist/controls-options-manager/enums.js.map +1 -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.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +309 -19
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +116 -4
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +22 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +365 -0
- package/dist/interpretation/index.js.map +1 -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.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.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.js +106 -319
- package/dist/media/index.js.map +1 -1
- 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.js +498 -493
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +92 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +4628 -2971
- 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 +224 -133
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +297 -199
- package/dist/meeting/request.js.map +1 -1
- 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.js +605 -435
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -4
- package/dist/meeting-info/collection.js.map +1 -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.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.js +42 -4
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +477 -123
- 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 +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.js +54 -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.js +23 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +131 -29
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +11 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +174 -10
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +108 -41
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +14 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +327 -234
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +15 -9
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +4 -452
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +344 -0
- package/dist/multistream/mediaRequestManager.js.map +1 -0
- package/dist/multistream/receiveSlot.js +200 -0
- package/dist/multistream/receiveSlot.js.map +1 -0
- package/dist/multistream/receiveSlotManager.js +174 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -0
- package/dist/multistream/remoteMedia.js +268 -0
- package/dist/multistream/remoteMedia.js.map +1 -0
- package/dist/multistream/remoteMediaGroup.js +267 -0
- package/dist/multistream/remoteMediaGroup.js.map +1 -0
- package/dist/multistream/remoteMediaManager.js +1211 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -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/index.js +265 -72
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +18 -10
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +12 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +4 -6
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +21 -23
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +281 -229
- 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.js +57 -46
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +10 -10
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +101 -235
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +126 -180
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +115 -105
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +11 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +140 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.js +2 -85
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +402 -424
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +117 -83
- 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.js +43 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +68 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +34 -25
- 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/reclaim-host-role-errors.ts +134 -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 +5 -7
- package/src/constants.ts +271 -93
- 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 +40 -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 +449 -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 +379 -377
- package/src/meeting/in-meeting-actions.ts +172 -0
- package/src/meeting/index.ts +3861 -2504
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +224 -138
- package/src/meeting/request.ts +207 -127
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/util.ts +590 -423
- 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 +477 -124
- 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 +52 -1
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +139 -28
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +196 -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 +13 -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/index.ts +238 -45
- package/src/reachability/request.ts +17 -8
- 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 +167 -154
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +98 -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 +470 -522
- package/src/statsAnalyzer/mqaUtil.ts +117 -112
- 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/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 +1390 -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 +274 -0
- package/test/unit/spec/media/properties.ts +75 -84
- package/test/unit/spec/meeting/in-meeting-actions.ts +84 -0
- package/test/unit/spec/meeting/index.js +8269 -3145
- 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 +512 -42
- package/test/unit/spec/meeting/utils.js +741 -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 +1201 -210
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +38 -8
- package/test/unit/spec/member/util.js +499 -29
- package/test/unit/spec/members/index.js +597 -3
- 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 +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/index.ts +598 -24
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +145 -22
- 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 +200 -76
- package/test/unit/spec/roap/request.ts +232 -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 +188 -174
- 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/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/parameter.d.ts +0 -15
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -81
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -34
- package/dist/common/queue.d.ts +0 -32
- package/dist/config.d.ts +0 -73
- package/dist/constants.d.ts +0 -926
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -5
- package/dist/controls-options-manager/index.d.ts +0 -120
- package/dist/controls-options-manager/util.d.ts +0 -7
- package/dist/index.d.ts +0 -4
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -269
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -212
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -32
- package/dist/media/properties.d.ts +0 -108
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -233
- 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/meeting/in-meeting-actions.d.ts +0 -79
- package/dist/meeting/index.d.ts +0 -1622
- package/dist/meeting/muteState.d.ts +0 -116
- package/dist/meeting/request.d.ts +0 -255
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -2
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -57
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -23
- package/dist/meetings/index.d.ts +0 -296
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -147
- package/dist/member/member.types.d.ts +0 -11
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -24
- package/dist/members/index.d.ts +0 -298
- package/dist/members/request.d.ts +0 -50
- package/dist/members/util.d.ts +0 -2
- 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/metrics/constants.d.ts +0 -59
- package/dist/metrics/index.d.ts +0 -152
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- 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/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/reachability/index.d.ts +0 -139
- package/dist/reachability/request.d.ts +0 -35
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -32
- package/dist/reconnection-manager/index.d.ts +0 -112
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -193
- package/dist/recording-controller/util.d.ts +0 -13
- 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/index.d.ts +0 -116
- package/dist/roap/request.d.ts +0 -35
- 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/turnDiscovery.d.ts +0 -81
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- package/dist/roap/util.js.map +0 -1
- package/dist/statsAnalyzer/global.d.ts +0 -118
- package/dist/statsAnalyzer/index.d.ts +0 -193
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
- package/dist/transcription/index.d.ts +0 -64
- 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/member/util.js
CHANGED
|
@@ -6,10 +6,80 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
+
var _types = require("./types");
|
|
9
10
|
var _constants = require("../constants");
|
|
10
11
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
11
12
|
var MemberUtil = {};
|
|
12
13
|
|
|
14
|
+
/**
|
|
15
|
+
* @param {Object} participant the locus participant
|
|
16
|
+
* @returns {Boolean}
|
|
17
|
+
*/
|
|
18
|
+
MemberUtil.canReclaimHost = function (participant) {
|
|
19
|
+
if (!participant) {
|
|
20
|
+
throw new _parameter.default('canReclaimHostRole could not be processed, participant is undefined.');
|
|
21
|
+
}
|
|
22
|
+
return participant.canReclaimHostRole || false;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {Object} participant the locus participant
|
|
27
|
+
* @returns {[ServerRoleShape]}
|
|
28
|
+
*/
|
|
29
|
+
MemberUtil.getControlsRoles = function (participant) {
|
|
30
|
+
var _participant$controls, _participant$controls2;
|
|
31
|
+
return participant === null || participant === void 0 ? void 0 : (_participant$controls = participant.controls) === null || _participant$controls === void 0 ? void 0 : (_participant$controls2 = _participant$controls.role) === null || _participant$controls2 === void 0 ? void 0 : _participant$controls2.roles;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @param {Object} participant the locus participant
|
|
36
|
+
* @param {ServerRoles} controlRole the search role
|
|
37
|
+
* @returns {Boolean}
|
|
38
|
+
*/
|
|
39
|
+
MemberUtil.hasRole = function (participant, controlRole) {
|
|
40
|
+
var _MemberUtil$getContro;
|
|
41
|
+
return (_MemberUtil$getContro = MemberUtil.getControlsRoles(participant)) === null || _MemberUtil$getContro === void 0 ? void 0 : _MemberUtil$getContro.some(function (role) {
|
|
42
|
+
return role.type === controlRole && role.hasRole;
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @param {Object} participant the locus participant
|
|
48
|
+
* @returns {Boolean}
|
|
49
|
+
*/
|
|
50
|
+
MemberUtil.hasCohost = function (participant) {
|
|
51
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Cohost) || false;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @param {Object} participant the locus participant
|
|
56
|
+
* @returns {Boolean}
|
|
57
|
+
*/
|
|
58
|
+
MemberUtil.hasModerator = function (participant) {
|
|
59
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Moderator) || false;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @param {Object} participant the locus participant
|
|
64
|
+
* @returns {Boolean}
|
|
65
|
+
*/
|
|
66
|
+
MemberUtil.hasPresenter = function (participant) {
|
|
67
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Presenter) || false;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @param {Object} participant the locus participant
|
|
72
|
+
* @returns {IExternalRoles}
|
|
73
|
+
*/
|
|
74
|
+
MemberUtil.extractControlRoles = function (participant) {
|
|
75
|
+
var roles = {
|
|
76
|
+
cohost: MemberUtil.hasCohost(participant),
|
|
77
|
+
moderator: MemberUtil.hasModerator(participant),
|
|
78
|
+
presenter: MemberUtil.hasPresenter(participant)
|
|
79
|
+
};
|
|
80
|
+
return roles;
|
|
81
|
+
};
|
|
82
|
+
|
|
13
83
|
/**
|
|
14
84
|
* @param {Object} participant the locus participant
|
|
15
85
|
* @returns {Boolean}
|
|
@@ -86,16 +156,7 @@ MemberUtil.isAudioMuted = function (participant) {
|
|
|
86
156
|
if (!participant) {
|
|
87
157
|
throw new _parameter.default('Audio could not be processed, participant is undefined.');
|
|
88
158
|
}
|
|
89
|
-
|
|
90
|
-
if (participant.controls && participant.controls.audio) {
|
|
91
|
-
if (participant.controls.audio.muted) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
if (mutedStatus) {
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return false;
|
|
159
|
+
return MemberUtil.isMuted(participant, _constants.AUDIO_STATUS, _constants.AUDIO);
|
|
99
160
|
};
|
|
100
161
|
|
|
101
162
|
/**
|
|
@@ -106,7 +167,7 @@ MemberUtil.isVideoMuted = function (participant) {
|
|
|
106
167
|
if (!participant) {
|
|
107
168
|
throw new _parameter.default('Video could not be processed, participant is undefined.');
|
|
108
169
|
}
|
|
109
|
-
return MemberUtil.isMuted(participant.
|
|
170
|
+
return MemberUtil.isMuted(participant, _constants.VIDEO_STATUS, _constants.VIDEO);
|
|
110
171
|
};
|
|
111
172
|
|
|
112
173
|
/**
|
|
@@ -114,29 +175,70 @@ MemberUtil.isVideoMuted = function (participant) {
|
|
|
114
175
|
* @returns {Boolean}
|
|
115
176
|
*/
|
|
116
177
|
MemberUtil.isHandRaised = function (participant) {
|
|
117
|
-
var _participant$
|
|
178
|
+
var _participant$controls3, _participant$controls4;
|
|
118
179
|
if (!participant) {
|
|
119
180
|
throw new _parameter.default('Raise hand could not be processed, participant is undefined.');
|
|
120
181
|
}
|
|
121
|
-
return ((_participant$
|
|
182
|
+
return ((_participant$controls3 = participant.controls) === null || _participant$controls3 === void 0 ? void 0 : (_participant$controls4 = _participant$controls3.hand) === null || _participant$controls4 === void 0 ? void 0 : _participant$controls4.raised) || false;
|
|
122
183
|
};
|
|
123
184
|
|
|
124
185
|
/**
|
|
125
|
-
*
|
|
126
|
-
* @param {String} status
|
|
127
|
-
* @param {String} accessor
|
|
186
|
+
* @param {Object} participant the locus participant
|
|
128
187
|
* @returns {Boolean}
|
|
129
188
|
*/
|
|
130
|
-
MemberUtil.
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
return true;
|
|
134
|
-
}
|
|
135
|
-
if (status[accessor] === _constants._SEND_RECEIVE_) {
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
189
|
+
MemberUtil.isBreakoutsSupported = function (participant) {
|
|
190
|
+
if (!participant) {
|
|
191
|
+
throw new _parameter.default('Breakout support could not be processed, participant is undefined.');
|
|
138
192
|
}
|
|
139
|
-
return
|
|
193
|
+
return !participant.doesNotSupportBreakouts;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* @param {Object} participant the locus participant
|
|
198
|
+
* @returns {Boolean}
|
|
199
|
+
*/
|
|
200
|
+
MemberUtil.isInterpretationSupported = function (participant) {
|
|
201
|
+
if (!participant) {
|
|
202
|
+
throw new _parameter.default('Interpretation support could not be processed, participant is undefined.');
|
|
203
|
+
}
|
|
204
|
+
return !participant.doesNotSupportSiInterpreter;
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* @param {Object} participant the locus participant
|
|
209
|
+
* @returns {Boolean}
|
|
210
|
+
*/
|
|
211
|
+
MemberUtil.isLiveAnnotationSupported = function (participant) {
|
|
212
|
+
if (!participant) {
|
|
213
|
+
throw new _parameter.default('LiveAnnotation support could not be processed, participant is undefined.');
|
|
214
|
+
}
|
|
215
|
+
return !participant.annotatorAssignmentNotAllowed;
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* utility method for audio/video muted status
|
|
220
|
+
* @param {any} participant
|
|
221
|
+
* @param {String} statusAccessor
|
|
222
|
+
* @param {String} controlsAccessor
|
|
223
|
+
* @returns {Boolean | undefined}
|
|
224
|
+
*/
|
|
225
|
+
MemberUtil.isMuted = function (participant, statusAccessor, controlsAccessor) {
|
|
226
|
+
var _participant$controls5, _participant$controls6, _participant$status;
|
|
227
|
+
// check remote mute
|
|
228
|
+
var remoteMute = participant === null || participant === void 0 ? void 0 : (_participant$controls5 = participant.controls) === null || _participant$controls5 === void 0 ? void 0 : (_participant$controls6 = _participant$controls5[controlsAccessor]) === null || _participant$controls6 === void 0 ? void 0 : _participant$controls6.muted;
|
|
229
|
+
if (remoteMute === true) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// check local mute
|
|
234
|
+
var localStatus = participant === null || participant === void 0 ? void 0 : (_participant$status = participant.status) === null || _participant$status === void 0 ? void 0 : _participant$status[statusAccessor];
|
|
235
|
+
if (localStatus === _constants._RECEIVE_ONLY_) {
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
if (localStatus === _constants._SEND_RECEIVE_) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
return remoteMute;
|
|
140
242
|
};
|
|
141
243
|
|
|
142
244
|
/**
|
|
@@ -238,12 +340,13 @@ MemberUtil.extractId = function (participant) {
|
|
|
238
340
|
* @returns {Object}
|
|
239
341
|
*/
|
|
240
342
|
MemberUtil.extractMediaStatus = function (participant) {
|
|
343
|
+
var _participant$status2, _participant$status3;
|
|
241
344
|
if (!participant) {
|
|
242
345
|
throw new _parameter.default('Media status could not be extracted, participant is undefined.');
|
|
243
346
|
}
|
|
244
347
|
return {
|
|
245
|
-
audio: participant.status.audioStatus,
|
|
246
|
-
video: participant.status.videoStatus
|
|
348
|
+
audio: (_participant$status2 = participant.status) === null || _participant$status2 === void 0 ? void 0 : _participant$status2.audioStatus,
|
|
349
|
+
video: (_participant$status3 = participant.status) === null || _participant$status3 === void 0 ? void 0 : _participant$status3.videoStatus
|
|
247
350
|
};
|
|
248
351
|
};
|
|
249
352
|
|
|
@@ -257,6 +360,5 @@ MemberUtil.extractName = function (participant) {
|
|
|
257
360
|
}
|
|
258
361
|
return null;
|
|
259
362
|
};
|
|
260
|
-
var _default = MemberUtil;
|
|
261
|
-
exports.default = _default;
|
|
363
|
+
var _default = exports.default = MemberUtil;
|
|
262
364
|
//# sourceMappingURL=util.js.map
|
package/dist/member/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_parameter","_interopRequireDefault","MemberUtil","isUser","participant","type","_USER_","isModerator","moderator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","some","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","ParameterError","mutedStatus","isMuted","AUDIO_STATUS","controls","audio","muted","isVideoMuted","VIDEO_STATUS","isHandRaised","_participant$controls","_participant$controls2","hand","raised","accessor","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractMediaStatus","audioStatus","video","videoStatus","extractName","name","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["import {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport {IMediaStatus} from './member.types';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n const mutedStatus = MemberUtil.isMuted(participant.status, AUDIO_STATUS);\n\n if (participant.controls && participant.controls.audio) {\n if (participant.controls.audio.muted) {\n return true;\n }\n if (mutedStatus) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant.status, VIDEO_STATUS);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {String} status\n * @param {String} accessor\n * @returns {Boolean}\n */\nMemberUtil.isMuted = (status: string, accessor: string) => {\n if (status) {\n if (status[accessor] === _RECEIVE_ONLY_) {\n return true;\n }\n if (status[accessor] === _SEND_RECEIVE_) {\n return false;\n }\n }\n\n return null;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * extracts the media status from nested participant object\n * @param {Object} participant the locus participant\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status.audioStatus,\n video: participant.status.videoStatus,\n };\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_types","require","_constants","_parameter","_interopRequireDefault","MemberUtil","canReclaimHost","participant","ParameterError","canReclaimHostRole","getControlsRoles","_participant$controls","_participant$controls2","controls","role","roles","hasRole","controlRole","_MemberUtil$getContro","some","type","hasCohost","ServerRoles","Cohost","hasModerator","Moderator","hasPresenter","Presenter","extractControlRoles","cohost","moderator","presenter","isUser","_USER_","isModerator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","isMuted","AUDIO_STATUS","AUDIO","isVideoMuted","VIDEO_STATUS","VIDEO","isHandRaised","_participant$controls3","_participant$controls4","hand","raised","isBreakoutsSupported","doesNotSupportBreakouts","isInterpretationSupported","doesNotSupportSiInterpreter","isLiveAnnotationSupported","annotatorAssignmentNotAllowed","statusAccessor","controlsAccessor","_participant$controls5","_participant$controls6","_participant$status","remoteMute","muted","localStatus","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractMediaStatus","_participant$status2","_participant$status3","audio","audioStatus","video","videoStatus","extractName","name","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["import {\n IExternalRoles,\n ParticipantWithRoles,\n ServerRoles,\n ServerRoleShape,\n IMediaStatus,\n} from './types';\nimport {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n VIDEO,\n AUDIO,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.canReclaimHost = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'canReclaimHostRole could not be processed, participant is undefined.'\n );\n }\n\n return participant.canReclaimHostRole || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {[ServerRoleShape]}\n */\nMemberUtil.getControlsRoles = (participant: ParticipantWithRoles): Array<ServerRoleShape> =>\n participant?.controls?.role?.roles;\n\n/**\n * @param {Object} participant the locus participant\n * @param {ServerRoles} controlRole the search role\n * @returns {Boolean}\n */\nMemberUtil.hasRole = (participant: any, controlRole: ServerRoles): boolean =>\n MemberUtil.getControlsRoles(participant)?.some(\n (role) => role.type === controlRole && role.hasRole\n );\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasCohost = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Cohost) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasModerator = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Moderator) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasPresenter = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Presenter) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {IExternalRoles}\n */\nMemberUtil.extractControlRoles = (participant: ParticipantWithRoles): IExternalRoles => {\n const roles = {\n cohost: MemberUtil.hasCohost(participant),\n moderator: MemberUtil.hasModerator(participant),\n presenter: MemberUtil.hasPresenter(participant),\n };\n\n return roles;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, AUDIO_STATUS, AUDIO);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any): boolean => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, VIDEO_STATUS, VIDEO);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isBreakoutsSupported = (participant) => {\n if (!participant) {\n throw new ParameterError('Breakout support could not be processed, participant is undefined.');\n }\n\n return !participant.doesNotSupportBreakouts;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isInterpretationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'Interpretation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.doesNotSupportSiInterpreter;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isLiveAnnotationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'LiveAnnotation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.annotatorAssignmentNotAllowed;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {any} participant\n * @param {String} statusAccessor\n * @param {String} controlsAccessor\n * @returns {Boolean | undefined}\n */\nMemberUtil.isMuted = (participant: any, statusAccessor: string, controlsAccessor: string) => {\n // check remote mute\n const remoteMute = participant?.controls?.[controlsAccessor]?.muted;\n if (remoteMute === true) {\n return true;\n }\n\n // check local mute\n const localStatus = participant?.status?.[statusAccessor];\n if (localStatus === _RECEIVE_ONLY_) {\n return true;\n }\n if (localStatus === _SEND_RECEIVE_) {\n return false;\n }\n\n return remoteMute;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * extracts the media status from nested participant object\n * @param {Object} participant the locus participant\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status?.audioStatus,\n video: participant.status?.videoStatus,\n };\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ var _constants = require("../constants");
|
|
|
13
13
|
/**
|
|
14
14
|
* @class MembersCollection
|
|
15
15
|
*/
|
|
16
|
-
var MembersCollection = /*#__PURE__*/function () {
|
|
16
|
+
var MembersCollection = exports.default = /*#__PURE__*/function () {
|
|
17
17
|
/**
|
|
18
18
|
* @param {Object} locus
|
|
19
19
|
* @memberof Members
|
|
@@ -54,8 +54,17 @@ var MembersCollection = /*#__PURE__*/function () {
|
|
|
54
54
|
value: function getAll() {
|
|
55
55
|
return this.members;
|
|
56
56
|
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @returns {void}
|
|
60
|
+
* reset members
|
|
61
|
+
*/
|
|
62
|
+
}, {
|
|
63
|
+
key: "reset",
|
|
64
|
+
value: function reset() {
|
|
65
|
+
this.members = {};
|
|
66
|
+
}
|
|
57
67
|
}]);
|
|
58
68
|
return MembersCollection;
|
|
59
69
|
}();
|
|
60
|
-
exports.default = MembersCollection;
|
|
61
70
|
//# sourceMappingURL=collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","MembersCollection","
|
|
1
|
+
{"version":3,"names":["_constants","require","MembersCollection","exports","default","_classCallCheck2","_defineProperty2","MEETINGS","members","_createClass2","key","value","set","id","member","setAll","get","getAll","reset"],"sources":["collection.ts"],"sourcesContent":["import {MEETINGS} from '../constants';\n\n/**\n * @class MembersCollection\n */\nexport default class MembersCollection {\n members: any;\n namespace = MEETINGS;\n /**\n * @param {Object} locus\n * @memberof Members\n */\n constructor() {\n this.members = {};\n }\n\n set(id, member) {\n this.members[id] = member;\n }\n\n setAll(members) {\n this.members = members;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.members[id];\n }\n\n /**\n * @returns {Object} returns an object map of Member instances\n * @memberof MembersCollection\n */\n getAll() {\n return this.members;\n }\n\n /**\n * @returns {void}\n * reset members\n */\n reset() {\n this.members = {};\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA;AACA;AACA;AAFA,IAGqBC,iBAAiB,GAAAC,OAAA,CAAAC,OAAA;EAGpC;AACF;AACA;AACA;EACE,SAAAF,kBAAA,EAAc;IAAA,IAAAG,gBAAA,CAAAD,OAAA,QAAAF,iBAAA;IAAA,IAAAI,gBAAA,CAAAF,OAAA;IAAA,IAAAE,gBAAA,CAAAF,OAAA,qBALFG,mBAAQ;IAMlB,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC;EACnB;EAAC,IAAAC,aAAA,CAAAL,OAAA,EAAAF,iBAAA;IAAAQ,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAIC,EAAE,EAAEC,MAAM,EAAE;MACd,IAAI,CAACN,OAAO,CAACK,EAAE,CAAC,GAAGC,MAAM;IAC3B;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAI,OAAOP,OAAO,EAAE;MACd,IAAI,CAACA,OAAO,GAAGA,OAAO;IACxB;;IAEA;AACF;AACA;AACA;EAHE;IAAAE,GAAA;IAAAC,KAAA,EAIA,SAAAK,IAAIH,EAAU,EAAE;MACd,OAAO,IAAI,CAACL,OAAO,CAACK,EAAE,CAAC;IACzB;;IAEA;AACF;AACA;AACA;EAHE;IAAAH,GAAA;IAAAC,KAAA,EAIA,SAAAM,OAAA,EAAS;MACP,OAAO,IAAI,CAACT,OAAO;IACrB;;IAEA;AACF;AACA;AACA;EAHE;IAAAE,GAAA;IAAAC,KAAA,EAIA,SAAAO,MAAA,EAAQ;MACN,IAAI,CAACV,OAAO,GAAG,CAAC,CAAC;IACnB;EAAC;EAAA,OAAAN,iBAAA;AAAA"}
|
package/dist/members/index.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
7
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
8
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
4
9
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
5
10
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
11
|
_Object$defineProperty(exports, "__esModule", {
|
|
@@ -8,6 +13,8 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
8
13
|
});
|
|
9
14
|
exports.default = void 0;
|
|
10
15
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
16
|
+
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
17
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
|
|
11
18
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
12
19
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
13
20
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
@@ -15,18 +22,23 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
|
|
|
15
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
16
23
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
17
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
18
|
-
var
|
|
25
|
+
var _lodash = require("lodash");
|
|
19
26
|
var _webexCore = require("@webex/webex-core");
|
|
20
27
|
var _constants = require("../constants");
|
|
21
28
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
22
29
|
var _member = _interopRequireDefault(require("../member"));
|
|
23
30
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
24
31
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
32
|
+
var _reclaimHostRoleErrors = require("../common/errors/reclaim-host-role-errors");
|
|
25
33
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
26
34
|
var _request = _interopRequireDefault(require("./request"));
|
|
27
35
|
var _util = _interopRequireDefault(require("./util"));
|
|
36
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
37
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
38
|
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); }; }
|
|
29
|
-
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; } }
|
|
39
|
+
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; } } /*!
|
|
40
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
41
|
+
*/ // @ts-ignore
|
|
30
42
|
/**
|
|
31
43
|
* Members Update Event
|
|
32
44
|
* Emitted when something in the roster list needs to be updated
|
|
@@ -68,7 +80,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
68
80
|
/**
|
|
69
81
|
* @class Members
|
|
70
82
|
*/
|
|
71
|
-
var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
83
|
+
var Members = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
72
84
|
(0, _inherits2.default)(Members, _StatelessWebexPlugin);
|
|
73
85
|
var _super = _createSuper(Members);
|
|
74
86
|
/**
|
|
@@ -88,6 +100,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
88
100
|
* @private
|
|
89
101
|
* @memberof Members
|
|
90
102
|
*/
|
|
103
|
+
|
|
91
104
|
// @ts-ignore
|
|
92
105
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hostId", void 0);
|
|
93
106
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
@@ -95,11 +108,15 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
95
108
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaShareWhiteboardId", void 0);
|
|
96
109
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "membersCollection", void 0);
|
|
97
110
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "membersRequest", void 0);
|
|
111
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "receiveSlotManager", void 0);
|
|
112
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaRequestManagers", void 0);
|
|
98
113
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "recordingId", void 0);
|
|
99
114
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selfId", void 0);
|
|
100
115
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", void 0);
|
|
101
116
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
|
|
102
|
-
_this.membersRequest = new _request.default({
|
|
117
|
+
_this.membersRequest = new _request.default({
|
|
118
|
+
meeting: attrs.meeting
|
|
119
|
+
}, options);
|
|
103
120
|
/**
|
|
104
121
|
* The Members Collection cache
|
|
105
122
|
* @instance
|
|
@@ -170,6 +187,18 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
170
187
|
* @memberof Members
|
|
171
188
|
*/
|
|
172
189
|
_this.recordingId = null;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* reference to a ReceiveSlotManager instance (for multistream)
|
|
193
|
+
* @private
|
|
194
|
+
*/
|
|
195
|
+
_this.receiveSlotManager = attrs.receiveSlotManager;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* reference to a MediaRequestManager instance that manages main video requests (for multistream)
|
|
199
|
+
* @private
|
|
200
|
+
*/
|
|
201
|
+
_this.mediaRequestManagers = attrs.mediaRequestManagers;
|
|
173
202
|
return _this;
|
|
174
203
|
}
|
|
175
204
|
|
|
@@ -261,6 +290,22 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
261
290
|
});
|
|
262
291
|
}
|
|
263
292
|
|
|
293
|
+
/**
|
|
294
|
+
* clear member collection
|
|
295
|
+
* @returns {void}
|
|
296
|
+
* @private
|
|
297
|
+
* @memberof Members
|
|
298
|
+
*/
|
|
299
|
+
}, {
|
|
300
|
+
key: "clearMembers",
|
|
301
|
+
value: function clearMembers() {
|
|
302
|
+
this.membersCollection.reset();
|
|
303
|
+
_triggerProxy.default.trigger(this, {
|
|
304
|
+
file: 'members',
|
|
305
|
+
function: 'clearMembers'
|
|
306
|
+
}, _constants.EVENT_TRIGGERS.MEMBERS_CLEAR, {});
|
|
307
|
+
}
|
|
308
|
+
|
|
264
309
|
/**
|
|
265
310
|
* when new participant updates come in, both delta and full participants, update them in members collection
|
|
266
311
|
* delta object in the event will have {updated, added} and full will be the full membersCollection
|
|
@@ -274,15 +319,21 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
274
319
|
key: "locusParticipantsUpdate",
|
|
275
320
|
value: function locusParticipantsUpdate(payload) {
|
|
276
321
|
if (payload) {
|
|
322
|
+
var _this$receiveSlotMana;
|
|
323
|
+
if (payload.isReplace) {
|
|
324
|
+
this.clearMembers();
|
|
325
|
+
}
|
|
277
326
|
var delta = this.handleLocusInfoUpdatedParticipants(payload);
|
|
278
327
|
var full = this.handleMembersUpdate(delta); // SDK should propagate the full list for both delta and non delta updates
|
|
279
328
|
|
|
329
|
+
(_this$receiveSlotMana = this.receiveSlotManager) === null || _this$receiveSlotMana === void 0 ? void 0 : _this$receiveSlotMana.updateMemberIds();
|
|
280
330
|
_triggerProxy.default.trigger(this, {
|
|
281
331
|
file: 'members',
|
|
282
332
|
function: 'locusParticipantsUpdate'
|
|
283
333
|
}, _constants.EVENT_TRIGGERS.MEMBERS_UPDATE, {
|
|
284
334
|
delta: delta,
|
|
285
|
-
full: full
|
|
335
|
+
full: full,
|
|
336
|
+
isReplace: !!payload.isReplace
|
|
286
337
|
});
|
|
287
338
|
}
|
|
288
339
|
}
|
|
@@ -676,17 +727,20 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
676
727
|
/**
|
|
677
728
|
* Admits waiting members (invited guests to meeting)
|
|
678
729
|
* @param {Array} memberIds
|
|
730
|
+
* @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
|
|
679
731
|
* @returns {Promise}
|
|
680
732
|
* @public
|
|
681
733
|
* @memberof Members
|
|
682
734
|
*/
|
|
683
735
|
}, {
|
|
684
736
|
key: "admitMembers",
|
|
685
|
-
value: function admitMembers(memberIds) {
|
|
686
|
-
if ((0,
|
|
737
|
+
value: function admitMembers(memberIds, sessionLocusUrls) {
|
|
738
|
+
if ((0, _lodash.isEmpty)(memberIds)) {
|
|
687
739
|
return _promise.default.reject(new _parameter.default('No member ids provided to admit.'));
|
|
688
740
|
}
|
|
689
|
-
var options =
|
|
741
|
+
var options = _objectSpread({
|
|
742
|
+
sessionLocusUrls: sessionLocusUrls
|
|
743
|
+
}, _util.default.generateAdmitMemberOptions(memberIds, this.locusUrl));
|
|
690
744
|
return this.membersRequest.admitMember(options);
|
|
691
745
|
}
|
|
692
746
|
|
|
@@ -714,6 +768,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
714
768
|
* Audio mutes another member in a meeting
|
|
715
769
|
* @param {String} memberId
|
|
716
770
|
* @param {boolean} [mute] default true
|
|
771
|
+
* @param {boolean} [isAudio] default true
|
|
717
772
|
* @returns {Promise}
|
|
718
773
|
* @public
|
|
719
774
|
* @memberof Members
|
|
@@ -722,16 +777,53 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
722
777
|
key: "muteMember",
|
|
723
778
|
value: function muteMember(memberId) {
|
|
724
779
|
var mute = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
780
|
+
var isAudio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
725
781
|
if (!this.locusUrl) {
|
|
726
782
|
return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
|
|
727
783
|
}
|
|
728
784
|
if (!memberId) {
|
|
729
785
|
return _promise.default.reject(new _parameter.default('The member id must be defined to mute the member.'));
|
|
730
786
|
}
|
|
731
|
-
var options = _util.default.generateMuteMemberOptions(memberId, mute, this.locusUrl);
|
|
787
|
+
var options = _util.default.generateMuteMemberOptions(memberId, mute, this.locusUrl, isAudio);
|
|
732
788
|
return this.membersRequest.muteMember(options);
|
|
733
789
|
}
|
|
734
790
|
|
|
791
|
+
/**
|
|
792
|
+
* Assign role(s) to a member in the meeting
|
|
793
|
+
* @param {String} memberId
|
|
794
|
+
* @param {[ServerRoleShape]} roles - to assign an array of roles
|
|
795
|
+
* @returns {Promise}
|
|
796
|
+
* @public
|
|
797
|
+
* @memberof Members
|
|
798
|
+
*/
|
|
799
|
+
}, {
|
|
800
|
+
key: "assignRoles",
|
|
801
|
+
value: function assignRoles(memberId, roles) {
|
|
802
|
+
if (!this.locusUrl) {
|
|
803
|
+
return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
|
|
804
|
+
}
|
|
805
|
+
if (!memberId) {
|
|
806
|
+
return _promise.default.reject(new _parameter.default('The member id must be defined to assign the roles to a member.'));
|
|
807
|
+
}
|
|
808
|
+
var options = _util.default.generateRoleAssignmentMemberOptions(memberId, roles, this.locusUrl);
|
|
809
|
+
return this.membersRequest.assignRolesMember(options).catch(function (error) {
|
|
810
|
+
var _error$body;
|
|
811
|
+
var errorCode = (_error$body = error.body) === null || _error$body === void 0 ? void 0 : _error$body.errorCode;
|
|
812
|
+
switch (errorCode) {
|
|
813
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotSupportedErrorCode:
|
|
814
|
+
return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostNotSupportedError());
|
|
815
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotAllowedErrorCode:
|
|
816
|
+
return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostNotAllowedError());
|
|
817
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostEmptyWrongKeyErrorCode:
|
|
818
|
+
return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostEmptyWrongKeyError());
|
|
819
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostIsHostAlreadyErrorCode:
|
|
820
|
+
return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostIsHostAlreadyError());
|
|
821
|
+
default:
|
|
822
|
+
return _promise.default.reject(error);
|
|
823
|
+
}
|
|
824
|
+
});
|
|
825
|
+
}
|
|
826
|
+
|
|
735
827
|
/**
|
|
736
828
|
* Raise or lower the hand of a member in a meeting
|
|
737
829
|
* @param {String} memberId
|
|
@@ -830,8 +922,80 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
830
922
|
}
|
|
831
923
|
return _promise.default.reject(new Error('Members:index#sendDialPadKey --> cannot send DTMF, meeting does not have a connection to the "locus" call control service.'));
|
|
832
924
|
}
|
|
925
|
+
|
|
926
|
+
/** Finds a member that has any device with a csi matching provided value
|
|
927
|
+
*
|
|
928
|
+
* @param {number} csi
|
|
929
|
+
* @returns {Member}
|
|
930
|
+
*/
|
|
931
|
+
}, {
|
|
932
|
+
key: "findMemberByCsi",
|
|
933
|
+
value: function findMemberByCsi(csi) {
|
|
934
|
+
return (0, _values.default)(this.membersCollection.getAll()).find(function (member) {
|
|
935
|
+
var _member$participant, _member$participant$d;
|
|
936
|
+
return (// @ts-ignore
|
|
937
|
+
(_member$participant = member.participant) === null || _member$participant === void 0 ? void 0 : (_member$participant$d = _member$participant.devices) === null || _member$participant$d === void 0 ? void 0 : _member$participant$d.find(function (device) {
|
|
938
|
+
var _device$csis;
|
|
939
|
+
return (_device$csis = device.csis) === null || _device$csis === void 0 ? void 0 : _device$csis.find(function (memberCsi) {
|
|
940
|
+
return memberCsi === csi;
|
|
941
|
+
});
|
|
942
|
+
})
|
|
943
|
+
);
|
|
944
|
+
});
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
/**
|
|
948
|
+
* Returns an array of a member's CSIs matching the mediaType and mediaContent
|
|
949
|
+
*
|
|
950
|
+
* @param {string} memberId
|
|
951
|
+
* @param {string} mediaType 'audio' or 'video'
|
|
952
|
+
* @param {string} mediaContent 'main' or 'slides'
|
|
953
|
+
* @returns {Member}
|
|
954
|
+
*/
|
|
955
|
+
}, {
|
|
956
|
+
key: "getCsisForMember",
|
|
957
|
+
value: function getCsisForMember(memberId) {
|
|
958
|
+
var _this$membersCollecti, _this$membersCollecti2, _this$membersCollecti3;
|
|
959
|
+
var mediaType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'video';
|
|
960
|
+
var mediaContent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'main';
|
|
961
|
+
var csis = [];
|
|
962
|
+
(_this$membersCollecti = this.membersCollection.get(memberId)) === null || _this$membersCollecti === void 0 ? void 0 : (_this$membersCollecti2 = _this$membersCollecti.participant) === null || _this$membersCollecti2 === void 0 ? void 0 : (_this$membersCollecti3 = _this$membersCollecti2.devices) === null || _this$membersCollecti3 === void 0 ? void 0 : _this$membersCollecti3.forEach(function (device) {
|
|
963
|
+
if (device.mediaSessions) {
|
|
964
|
+
var _device$mediaSessions;
|
|
965
|
+
var deviceCsis = (_device$mediaSessions = device.mediaSessions) === null || _device$mediaSessions === void 0 ? void 0 : _device$mediaSessions.filter(function (mediaSession) {
|
|
966
|
+
return mediaSession.mediaType === mediaType && mediaSession.mediaContent === mediaContent;
|
|
967
|
+
}).map(function (mediaSession) {
|
|
968
|
+
return mediaSession.csi;
|
|
969
|
+
});
|
|
970
|
+
csis.push.apply(csis, (0, _toConsumableArray2.default)(deviceCsis));
|
|
971
|
+
}
|
|
972
|
+
});
|
|
973
|
+
return csis;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* Edit display name of participants in a meeting
|
|
978
|
+
* @param {string} memberId - id of the participant who is receiving request
|
|
979
|
+
* @param {string} requestingParticipantId - id of the participant who is sending request (optional)
|
|
980
|
+
* @param {string} [alias] - alias name
|
|
981
|
+
* @returns {Promise}
|
|
982
|
+
* @public
|
|
983
|
+
* @memberof Members
|
|
984
|
+
*/
|
|
985
|
+
}, {
|
|
986
|
+
key: "editDisplayName",
|
|
987
|
+
value: function editDisplayName(memberId, requestingParticipantId, alias) {
|
|
988
|
+
if (!this.locusUrl) {
|
|
989
|
+
return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
|
|
990
|
+
}
|
|
991
|
+
if (!memberId) {
|
|
992
|
+
return _promise.default.reject(new _parameter.default('The member id must be defined to edit display name of the member.'));
|
|
993
|
+
}
|
|
994
|
+
var locusUrl = this.locusUrl;
|
|
995
|
+
var options = _util.default.generateEditDisplayNameMemberOptions(memberId, requestingParticipantId, alias, locusUrl);
|
|
996
|
+
return this.membersRequest.editDisplayNameMember(options);
|
|
997
|
+
}
|
|
833
998
|
}]);
|
|
834
999
|
return Members;
|
|
835
1000
|
}(_webexCore.StatelessWebexPlugin);
|
|
836
|
-
exports.default = Members;
|
|
837
1001
|
//# sourceMappingURL=index.js.map
|