@webex/plugin-meetings 3.7.0 → 3.8.0
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/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/annotation/index.js +17 -0
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1 -1
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/config.d.ts +2 -0
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/join-forbidden-error.js +52 -0
- package/dist/common/errors/join-forbidden-error.js.map +1 -0
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/{webinar-registration-error.js → join-webinar-error.js} +12 -12
- package/dist/common/errors/join-webinar-error.js.map +1 -0
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/multistream-not-supported-error.js +53 -0
- package/dist/common/errors/multistream-not-supported-error.js.map +1 -0
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/reclaim-host-role-error.js +149 -0
- package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection-in-progress.js +33 -0
- package/dist/common/errors/reconnection-in-progress.js.map +1 -0
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/webex-errors.d.ts +93 -0
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/request.d.ts +36 -0
- package/dist/common/queue.d.ts +34 -0
- package/dist/config.d.ts +72 -0
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +1088 -0
- package/dist/constants.js +68 -6
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/enums.d.ts +15 -0
- package/dist/controls-options-manager/index.d.ts +136 -0
- package/dist/controls-options-manager/types.d.ts +43 -0
- package/dist/controls-options-manager/util.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +16 -11
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.d.ts +2 -0
- package/dist/interceptors/locusRetry.d.ts +27 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/index.d.ts +322 -0
- package/dist/locus-info/index.js +14 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/parser.d.ts +272 -0
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/locus-info/selfUtils.js +35 -17
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +1 -0
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/index.d.ts +34 -0
- package/dist/media/properties.d.ts +93 -0
- package/dist/media/properties.js +30 -16
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +241 -0
- package/dist/mediaQualityMetrics/config.js +502 -0
- package/dist/mediaQualityMetrics/config.js.map +1 -0
- package/dist/meeting/brbState.js +167 -0
- package/dist/meeting/brbState.js.map +1 -0
- package/dist/meeting/effectsState.js +260 -0
- package/dist/meeting/effectsState.js.map +1 -0
- package/dist/meeting/in-meeting-actions.d.ts +167 -0
- package/dist/meeting/in-meeting-actions.js +13 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +1825 -0
- package/dist/meeting/index.js +1331 -1051
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/locusMediaRequest.js +11 -6
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.d.ts +178 -0
- package/dist/meeting/muteState.js +1 -6
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +295 -0
- package/dist/meeting/request.js +51 -29
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +119 -0
- package/dist/meeting/util.js +103 -67
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.d.ts +16 -0
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/index.d.ts +69 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
- package/dist/meeting-info/meeting-info-v2.js +115 -45
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meeting-info/utilv2.js +6 -2
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +40 -0
- package/dist/meetings/index.d.ts +390 -0
- package/dist/meetings/index.js +107 -55
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/meetings.types.js +2 -0
- package/dist/meetings/meetings.types.js.map +1 -1
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/meetings/util.js +1 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +160 -0
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.js +17 -0
- package/dist/member/member.types.js.map +1 -0
- package/dist/member/types.d.ts +32 -0
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.d.ts +2 -0
- package/dist/member/util.js +39 -28
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +29 -0
- package/dist/members/index.d.ts +353 -0
- package/dist/members/request.d.ts +114 -0
- package/dist/members/types.d.ts +25 -0
- package/dist/members/util.d.ts +215 -0
- package/dist/members/util.js +4 -2
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +276 -0
- package/dist/metrics/config.js.map +1 -0
- package/dist/metrics/constants.d.ts +70 -0
- package/dist/metrics/constants.js +6 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +45 -0
- package/dist/multistream/mediaRequestManager.d.ts +119 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMedia.js +30 -15
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.d.ts +49 -0
- package/dist/multistream/remoteMediaManager.d.ts +300 -0
- package/dist/multistream/sendSlotManager.d.ts +69 -0
- package/dist/multistream/sendSlotManager.js +24 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/networkQualityMonitor/index.js +13 -19
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/peer-connection-manager/index.js +671 -0
- package/dist/peer-connection-manager/index.js.map +1 -0
- package/dist/peer-connection-manager/util.js +109 -0
- package/dist/peer-connection-manager/util.js.map +1 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/reachability/clusterReachability.d.ts +109 -0
- package/dist/reachability/clusterReachability.js +12 -15
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.d.ts +105 -0
- package/dist/reachability/index.js +461 -136
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +7 -0
- package/dist/reachability/reachability.types.js.map +1 -0
- package/dist/reachability/request.d.ts +39 -0
- package/dist/reachability/request.js +21 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.d.ts +8 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +52 -0
- package/dist/reconnection-manager/index.d.ts +136 -0
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/enums.js +8 -4
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.d.ts +207 -0
- package/dist/recording-controller/index.js +18 -9
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +14 -0
- package/dist/recording-controller/util.js +13 -9
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/collection.js +62 -0
- package/dist/roap/collection.js.map +1 -0
- package/dist/roap/handler.js +275 -0
- package/dist/roap/handler.js.map +1 -0
- package/dist/roap/index.d.ts +86 -0
- package/dist/roap/index.js +15 -15
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +39 -0
- package/dist/roap/request.js +45 -79
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/state.js +126 -0
- package/dist/roap/state.js.map +1 -0
- package/dist/roap/turnDiscovery.d.ts +155 -0
- package/dist/roap/turnDiscovery.js +3 -6
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/util.js +75 -0
- package/dist/roap/util.js.map +1 -0
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/index.d.ts +61 -0
- package/dist/statsAnalyzer/global.d.ts +36 -0
- package/dist/statsAnalyzer/global.js +126 -0
- package/dist/statsAnalyzer/global.js.map +1 -0
- package/dist/statsAnalyzer/index.d.ts +217 -0
- package/dist/statsAnalyzer/index.js +1013 -0
- package/dist/statsAnalyzer/index.js.map +1 -0
- package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
- package/dist/statsAnalyzer/mqaUtil.js +179 -0
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
- package/dist/transcription/index.d.ts +64 -0
- package/dist/types/annotation/index.d.ts +5 -0
- package/dist/types/common/errors/join-forbidden-error.d.ts +15 -0
- package/dist/types/common/errors/{webinar-registration-error.d.ts → join-webinar-error.d.ts} +2 -2
- package/dist/types/common/errors/multistream-not-supported-error.d.ts +17 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/constants.d.ts +53 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/locus-info/index.d.ts +2 -1
- package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
- package/dist/types/meeting/brbState.d.ts +54 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +12 -0
- package/dist/types/meeting/index.d.ts +64 -14
- package/dist/types/meeting/locusMediaRequest.d.ts +6 -3
- package/dist/types/meeting/request.d.ts +14 -3
- package/dist/types/meeting/request.type.d.ts +6 -0
- package/dist/types/meeting/util.d.ts +3 -3
- package/dist/types/meeting-info/meeting-info-v2.d.ts +30 -5
- package/dist/types/meetings/index.d.ts +20 -2
- package/dist/types/meetings/meetings.types.d.ts +8 -0
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/types.d.ts +7 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/constants.d.ts +6 -1
- package/dist/types/multistream/sendSlotManager.d.ts +8 -1
- package/dist/types/reachability/clusterReachability.d.ts +1 -10
- package/dist/types/reachability/index.d.ts +83 -36
- package/dist/types/reachability/reachability.types.d.ts +64 -0
- package/dist/types/reachability/request.d.ts +5 -1
- package/dist/types/recording-controller/enums.d.ts +5 -2
- package/dist/types/recording-controller/index.d.ts +1 -0
- package/dist/types/recording-controller/util.d.ts +2 -1
- package/dist/types/roap/request.d.ts +1 -13
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +217 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +390 -7
- package/dist/webinar/index.js.map +1 -1
- package/package.json +23 -22
- package/src/annotation/index.ts +16 -0
- package/src/common/errors/join-forbidden-error.ts +26 -0
- package/src/common/errors/join-webinar-error.ts +24 -0
- package/src/common/errors/multistream-not-supported-error.ts +30 -0
- package/src/config.ts +1 -0
- package/src/constants.ts +61 -3
- package/src/index.ts +5 -3
- package/src/locus-info/index.ts +20 -3
- package/src/locus-info/selfUtils.ts +24 -6
- package/src/media/MediaConnectionAwaiter.ts +2 -0
- package/src/media/properties.ts +34 -13
- package/src/meeting/brbState.ts +169 -0
- package/src/meeting/in-meeting-actions.ts +25 -0
- package/src/meeting/index.ts +443 -87
- package/src/meeting/locusMediaRequest.ts +11 -8
- package/src/meeting/muteState.ts +1 -6
- package/src/meeting/request.ts +30 -12
- package/src/meeting/request.type.ts +7 -0
- package/src/meeting/util.ts +32 -13
- package/src/meeting-info/meeting-info-v2.ts +83 -12
- package/src/meeting-info/utilv2.ts +17 -3
- package/src/meetings/index.ts +79 -20
- package/src/meetings/meetings.types.ts +10 -0
- package/src/meetings/util.ts +2 -1
- package/src/member/index.ts +9 -0
- package/src/member/types.ts +8 -0
- package/src/member/util.ts +34 -24
- package/src/members/util.ts +1 -0
- package/src/metrics/constants.ts +6 -1
- package/src/multistream/remoteMedia.ts +28 -15
- package/src/multistream/sendSlotManager.ts +31 -0
- package/src/reachability/clusterReachability.ts +5 -15
- package/src/reachability/index.ts +311 -75
- package/src/reachability/reachability.types.ts +85 -0
- package/src/reachability/request.ts +55 -31
- package/src/recording-controller/enums.ts +5 -2
- package/src/recording-controller/index.ts +17 -4
- package/src/recording-controller/util.ts +20 -5
- package/src/roap/index.ts +14 -13
- package/src/roap/request.ts +30 -44
- package/src/roap/turnDiscovery.ts +2 -4
- package/src/webinar/index.ts +235 -9
- package/test/unit/spec/annotation/index.ts +46 -1
- package/test/unit/spec/locus-info/index.js +292 -60
- package/test/unit/spec/locus-info/selfConstant.js +7 -0
- package/test/unit/spec/locus-info/selfUtils.js +101 -1
- package/test/unit/spec/media/properties.ts +15 -0
- package/test/unit/spec/meeting/brbState.ts +114 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +15 -1
- package/test/unit/spec/meeting/index.js +851 -107
- package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
- package/test/unit/spec/meeting/muteState.js +0 -24
- package/test/unit/spec/meeting/request.js +3 -26
- package/test/unit/spec/meeting/utils.js +73 -28
- package/test/unit/spec/meeting-info/meetinginfov2.js +46 -4
- package/test/unit/spec/meeting-info/utilv2.js +26 -0
- package/test/unit/spec/meetings/index.js +159 -18
- package/test/unit/spec/meetings/utils.js +10 -0
- package/test/unit/spec/member/util.js +52 -11
- package/test/unit/spec/members/utils.js +95 -0
- package/test/unit/spec/multistream/remoteMedia.ts +11 -7
- package/test/unit/spec/reachability/clusterReachability.ts +7 -0
- package/test/unit/spec/reachability/index.ts +383 -9
- package/test/unit/spec/reachability/request.js +48 -12
- package/test/unit/spec/recording-controller/index.js +61 -5
- package/test/unit/spec/recording-controller/util.js +39 -3
- package/test/unit/spec/roap/index.ts +48 -1
- package/test/unit/spec/roap/request.ts +51 -109
- package/test/unit/spec/roap/turnDiscovery.ts +202 -147
- package/test/unit/spec/webinar/index.ts +504 -0
- package/dist/common/errors/webinar-registration-error.js.map +0 -1
- package/src/common/errors/webinar-registration-error.ts +0 -27
@@ -0,0 +1,136 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
3
|
+
*/
|
4
|
+
import { RECONNECTION_STATE } from '../constants';
|
5
|
+
import Meeting from '../meeting';
|
6
|
+
/**
|
7
|
+
* @export
|
8
|
+
* @class ReconnectionManager
|
9
|
+
*/
|
10
|
+
export default class ReconnectionManager {
|
11
|
+
autoRejoinEnabled: any;
|
12
|
+
iceState: any;
|
13
|
+
maxRejoinAttempts: any;
|
14
|
+
meeting: any;
|
15
|
+
rejoinAttempts: any;
|
16
|
+
shareStatus: any;
|
17
|
+
status: any;
|
18
|
+
tryCount: any;
|
19
|
+
webex: any;
|
20
|
+
/**
|
21
|
+
* @param {Meeting} meeting
|
22
|
+
*/
|
23
|
+
constructor(meeting: Meeting);
|
24
|
+
/**
|
25
|
+
* @public
|
26
|
+
* @memberof ReconnectionManager
|
27
|
+
* @returns {void}
|
28
|
+
*/
|
29
|
+
resetReconnectionTimer(): void;
|
30
|
+
/**
|
31
|
+
* Sets the iceState to connected and clears any disconnect timeouts and
|
32
|
+
* related timeout data within the iceState.
|
33
|
+
*
|
34
|
+
* @returns {undefined}
|
35
|
+
* @public
|
36
|
+
* @memberof ReconnectionManager
|
37
|
+
*/
|
38
|
+
iceReconnected(): void;
|
39
|
+
/**
|
40
|
+
* Set the iceState to disconnected and generates a timeout that waits for the
|
41
|
+
* iceState to reconnect and then resolves. If the ice state is already
|
42
|
+
* processing a reconnect, it immediately resolves. Rejects if the timeout
|
43
|
+
* duration is reached.
|
44
|
+
*
|
45
|
+
* @returns {Promise<undefined>}
|
46
|
+
* @public
|
47
|
+
* @memberof ReconnectionManager
|
48
|
+
*/
|
49
|
+
waitForIceReconnect(): Promise<void>;
|
50
|
+
/**
|
51
|
+
* @returns {undefined}
|
52
|
+
* @public
|
53
|
+
* @memberof ReconnectionManager
|
54
|
+
*/
|
55
|
+
reset(): void;
|
56
|
+
/**
|
57
|
+
* @returns {undefined}
|
58
|
+
* @public
|
59
|
+
* @memberof ReconnectionManager
|
60
|
+
*/
|
61
|
+
cleanUp(): void;
|
62
|
+
/**
|
63
|
+
* Stop the local share stream.
|
64
|
+
*
|
65
|
+
* @param {string} reason a {@link SHARE_STOPPED_REASON}
|
66
|
+
* @returns {undefined}
|
67
|
+
* @private
|
68
|
+
* @memberof ReconnectionManager
|
69
|
+
*/
|
70
|
+
private stopLocalShareStream;
|
71
|
+
/**
|
72
|
+
* @public
|
73
|
+
* @memberof ReconnectionManager
|
74
|
+
* @returns {Boolean} true if reconnection operation is in progress
|
75
|
+
*/
|
76
|
+
isReconnectInProgress(): boolean;
|
77
|
+
/**
|
78
|
+
* Sets the reconnection status
|
79
|
+
*
|
80
|
+
* @public
|
81
|
+
* @param {RECONNECTION_STATE} status
|
82
|
+
* @memberof ReconnectionManager
|
83
|
+
* @returns {undefined}
|
84
|
+
*/
|
85
|
+
setStatus(status: RECONNECTION_STATE): void;
|
86
|
+
/**
|
87
|
+
* @returns {Boolean}
|
88
|
+
* @throws {ReconnectionError}
|
89
|
+
* @private
|
90
|
+
* @memberof ReconnectionManager
|
91
|
+
*/
|
92
|
+
private validate;
|
93
|
+
/**
|
94
|
+
* Initiates a media reconnect for the active meeting
|
95
|
+
* @param {Object} reconnectOptions
|
96
|
+
* @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
|
97
|
+
* @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect
|
98
|
+
* @returns {Promise}
|
99
|
+
* @public
|
100
|
+
* @memberof ReconnectionManager
|
101
|
+
*/
|
102
|
+
reconnect({ networkDisconnect, networkRetry, }?: {
|
103
|
+
networkDisconnect?: boolean;
|
104
|
+
networkRetry?: boolean;
|
105
|
+
}): any;
|
106
|
+
/**
|
107
|
+
* @param {Object} reconnectOptions
|
108
|
+
* @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
|
109
|
+
* @returns {Promise}
|
110
|
+
* @throws {NeedsRetryError}
|
111
|
+
* @private
|
112
|
+
* @memberof ReconnectionManager
|
113
|
+
*/
|
114
|
+
private executeReconnection;
|
115
|
+
/**
|
116
|
+
* Rejoins a meeting after detecting the member was in a LEFT state
|
117
|
+
*
|
118
|
+
* @async
|
119
|
+
* @param {boolean} wasSharing
|
120
|
+
* @returns {Promise}
|
121
|
+
*/
|
122
|
+
rejoinMeeting(wasSharing?: boolean): Promise<void>;
|
123
|
+
/**
|
124
|
+
* @returns {Promise}
|
125
|
+
* @private
|
126
|
+
* @memberof ReconnectionManager
|
127
|
+
*/
|
128
|
+
reconnectMedia(): Promise<void>;
|
129
|
+
/**
|
130
|
+
* Attempt to Reconnect Mercury Websocket
|
131
|
+
* @returns {Promise}
|
132
|
+
* @private
|
133
|
+
* @memberof ReconnectionManager
|
134
|
+
*/
|
135
|
+
private reconnectMercuryWebSocket;
|
136
|
+
}
|
@@ -4,13 +4,17 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
|
|
4
4
|
_Object$defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports.
|
8
|
-
var RecordingAction = /*#__PURE__*/function (RecordingAction) {
|
7
|
+
exports.RecordingType = exports.RecordingAction = void 0;
|
8
|
+
var RecordingAction = exports.RecordingAction = /*#__PURE__*/function (RecordingAction) {
|
9
9
|
RecordingAction["Start"] = "Start";
|
10
10
|
RecordingAction["Stop"] = "Stop";
|
11
11
|
RecordingAction["Pause"] = "Pause";
|
12
12
|
RecordingAction["Resume"] = "Resume";
|
13
13
|
return RecordingAction;
|
14
|
-
}(
|
15
|
-
var
|
14
|
+
}({});
|
15
|
+
var RecordingType = exports.RecordingType = /*#__PURE__*/function (RecordingType) {
|
16
|
+
RecordingType["Premise"] = "premise";
|
17
|
+
RecordingType["Cloud"] = "cloud";
|
18
|
+
return RecordingType;
|
19
|
+
}({});
|
16
20
|
//# sourceMappingURL=enums.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["RecordingAction","
|
1
|
+
{"version":3,"names":["RecordingAction","exports","RecordingType"],"sources":["enums.ts"],"sourcesContent":["export enum RecordingAction {\n Start = 'Start',\n Stop = 'Stop',\n Pause = 'Pause',\n Resume = 'Resume',\n}\n\nexport enum RecordingType {\n Premise = 'premise',\n Cloud = 'cloud',\n}\n"],"mappings":";;;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAOfE,aAAa,GAAAD,OAAA,CAAAC,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA"}
|
@@ -0,0 +1,207 @@
|
|
1
|
+
import { SELF_POLICY } from '../constants';
|
2
|
+
import MeetingRequest from '../meeting/request';
|
3
|
+
/**
|
4
|
+
* @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting
|
5
|
+
* @export
|
6
|
+
* @private
|
7
|
+
* @class Recording
|
8
|
+
*/
|
9
|
+
export default class RecordingController {
|
10
|
+
/**
|
11
|
+
* @instance
|
12
|
+
* @type {MeetingRequest}
|
13
|
+
* @private
|
14
|
+
* @memberof RecordingController
|
15
|
+
*/
|
16
|
+
private request;
|
17
|
+
/**
|
18
|
+
* @instance
|
19
|
+
* @type {Array}
|
20
|
+
* @private
|
21
|
+
* @memberof RecordingInfo
|
22
|
+
*/
|
23
|
+
private displayHints;
|
24
|
+
/**
|
25
|
+
* @instance
|
26
|
+
* @type {Object}
|
27
|
+
* @private
|
28
|
+
* @memberof RecordingInfo
|
29
|
+
*/
|
30
|
+
private selfUserPolicies;
|
31
|
+
/**
|
32
|
+
* @instance
|
33
|
+
* @type {string}
|
34
|
+
* @private
|
35
|
+
* @memberof RecordingInfo
|
36
|
+
*/
|
37
|
+
private serviceUrl;
|
38
|
+
/**
|
39
|
+
* @instance
|
40
|
+
* @type {string}
|
41
|
+
* @private
|
42
|
+
* @memberof RecordingInfo
|
43
|
+
*/
|
44
|
+
private sessionId;
|
45
|
+
/**
|
46
|
+
* @instance
|
47
|
+
* @type {string}
|
48
|
+
* @private
|
49
|
+
* @memberof RecordingInfo
|
50
|
+
*/
|
51
|
+
private locusUrl;
|
52
|
+
/**
|
53
|
+
* @instance
|
54
|
+
* @type {string}
|
55
|
+
* @private
|
56
|
+
* @memberof RecordingInfo
|
57
|
+
*/
|
58
|
+
private locusId;
|
59
|
+
/**
|
60
|
+
* @param {MeetingRequest} request
|
61
|
+
* @param {Object} options
|
62
|
+
* @constructor
|
63
|
+
* @memberof RecordingController
|
64
|
+
*/
|
65
|
+
constructor(request: MeetingRequest, options?: {
|
66
|
+
serviceUrl?: string;
|
67
|
+
sessionId: string;
|
68
|
+
locusUrl: string;
|
69
|
+
displayHints?: Array<string>;
|
70
|
+
});
|
71
|
+
/**
|
72
|
+
* @param {MeetingRequest} request
|
73
|
+
* @returns {void}
|
74
|
+
* @private
|
75
|
+
* @memberof RecordingController
|
76
|
+
*/
|
77
|
+
private initialize;
|
78
|
+
/**
|
79
|
+
* @param {Object} options
|
80
|
+
* @returns {void}
|
81
|
+
* @public
|
82
|
+
* @memberof RecordingController
|
83
|
+
*/
|
84
|
+
set(options?: {
|
85
|
+
serviceUrl?: string;
|
86
|
+
sessionId: string;
|
87
|
+
locusUrl: string;
|
88
|
+
displayHints?: Array<string>;
|
89
|
+
}): void;
|
90
|
+
/**
|
91
|
+
* @param {string} url
|
92
|
+
* @returns {void}
|
93
|
+
* @public
|
94
|
+
* @memberof RecordingController
|
95
|
+
*/
|
96
|
+
setLocusUrl(url: string): void;
|
97
|
+
/**
|
98
|
+
* @param {Array} hints
|
99
|
+
* @returns {void}
|
100
|
+
* @public
|
101
|
+
* @memberof RecordingController
|
102
|
+
*/
|
103
|
+
setDisplayHints(hints: Array<string>): void;
|
104
|
+
/**
|
105
|
+
* @param {Object} selfUserPolicies
|
106
|
+
* @returns {void}
|
107
|
+
* @public
|
108
|
+
* @memberof RecordingController
|
109
|
+
*/
|
110
|
+
setUserPolicy(selfUserPolicies: Record<SELF_POLICY, boolean>): void;
|
111
|
+
/**
|
112
|
+
* @param {string} id
|
113
|
+
* @returns {void}
|
114
|
+
* @public
|
115
|
+
* @memberof RecordingController
|
116
|
+
*/
|
117
|
+
setSessionId(id: string): void;
|
118
|
+
/**
|
119
|
+
* @param {string} url
|
120
|
+
* @returns {void}
|
121
|
+
* @public
|
122
|
+
* @memberof RecordingController
|
123
|
+
*/
|
124
|
+
setServiceUrl(url: string): void;
|
125
|
+
/**
|
126
|
+
* @returns {string}
|
127
|
+
* @public
|
128
|
+
* @memberof RecordingController
|
129
|
+
*/
|
130
|
+
getLocusUrl(): string;
|
131
|
+
/**
|
132
|
+
* @returns {string}
|
133
|
+
* @public
|
134
|
+
* @memberof RecordingController
|
135
|
+
*/
|
136
|
+
getLocusId(): string;
|
137
|
+
/**
|
138
|
+
* @returns {string}
|
139
|
+
* @public
|
140
|
+
* @memberof RecordingController
|
141
|
+
*/
|
142
|
+
getSessionId(): string;
|
143
|
+
/**
|
144
|
+
* @returns {string}
|
145
|
+
* @public
|
146
|
+
* @memberof RecordingController
|
147
|
+
*/
|
148
|
+
getServiceUrl(): string;
|
149
|
+
/**
|
150
|
+
* @returns {Array}
|
151
|
+
* @public
|
152
|
+
* @memberof RecordingController
|
153
|
+
*/
|
154
|
+
getDisplayHints(): string[];
|
155
|
+
/**
|
156
|
+
* @param {Object} options
|
157
|
+
* @returns {void}
|
158
|
+
* @private
|
159
|
+
* @memberof RecordingController
|
160
|
+
*/
|
161
|
+
private extract;
|
162
|
+
/**
|
163
|
+
* @param {RecordingAction} action
|
164
|
+
* @private
|
165
|
+
* @memberof RecordingController
|
166
|
+
* @returns {Promise}
|
167
|
+
*/
|
168
|
+
private recordingService;
|
169
|
+
/**
|
170
|
+
* @param {RecordingAction} action
|
171
|
+
* @private
|
172
|
+
* @memberof RecordingController
|
173
|
+
* @returns {Promise}
|
174
|
+
*/
|
175
|
+
private recordingControls;
|
176
|
+
/**
|
177
|
+
* @param {RecordingAction} action
|
178
|
+
* @private
|
179
|
+
* @memberof RecordingController
|
180
|
+
* @returns {Promise}
|
181
|
+
*/
|
182
|
+
private recordingFacade;
|
183
|
+
/**
|
184
|
+
* @private
|
185
|
+
* @memberof RecordingController
|
186
|
+
* @returns {Promise}
|
187
|
+
*/
|
188
|
+
startRecording(): Promise<any>;
|
189
|
+
/**
|
190
|
+
* @private
|
191
|
+
* @memberof RecordingController
|
192
|
+
* @returns {Promise}
|
193
|
+
*/
|
194
|
+
stopRecording(): Promise<any>;
|
195
|
+
/**
|
196
|
+
* @private
|
197
|
+
* @memberof RecordingController
|
198
|
+
* @returns {Promise}
|
199
|
+
*/
|
200
|
+
pauseRecording(): Promise<any>;
|
201
|
+
/**
|
202
|
+
* @private
|
203
|
+
* @memberof RecordingController
|
204
|
+
* @returns {Promise}
|
205
|
+
*/
|
206
|
+
resumeRecording(): Promise<any>;
|
207
|
+
}
|
@@ -11,10 +11,10 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
13
13
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
14
|
+
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
14
15
|
var _constants = require("../constants");
|
15
|
-
var _enums =
|
16
|
+
var _enums = require("./enums");
|
16
17
|
var _util = _interopRequireDefault(require("./util"));
|
17
|
-
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
18
18
|
/**
|
19
19
|
* @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting
|
20
20
|
* @export
|
@@ -240,13 +240,14 @@ var RecordingController = exports.default = /*#__PURE__*/function () {
|
|
240
240
|
|
241
241
|
/**
|
242
242
|
* @param {RecordingAction} action
|
243
|
+
* @param {RecordingType} recordingType
|
243
244
|
* @private
|
244
245
|
* @memberof RecordingController
|
245
246
|
* @returns {Promise}
|
246
247
|
*/
|
247
248
|
}, {
|
248
249
|
key: "recordingService",
|
249
|
-
value: function recordingService(action) {
|
250
|
+
value: function recordingService(action, recordingType) {
|
250
251
|
// @ts-ignore
|
251
252
|
return this.request.request({
|
252
253
|
body: {
|
@@ -255,7 +256,8 @@ var RecordingController = exports.default = /*#__PURE__*/function () {
|
|
255
256
|
},
|
256
257
|
recording: {
|
257
258
|
action: action.toLowerCase()
|
258
|
-
}
|
259
|
+
},
|
260
|
+
recordingType: recordingType
|
259
261
|
},
|
260
262
|
uri: "".concat(this.serviceUrl, "/loci/").concat(this.locusId, "/recording"),
|
261
263
|
method: _constants.HTTP_VERBS.PUT
|
@@ -293,12 +295,19 @@ var RecordingController = exports.default = /*#__PURE__*/function () {
|
|
293
295
|
}, {
|
294
296
|
key: "recordingFacade",
|
295
297
|
value: function recordingFacade(action) {
|
298
|
+
var isPremiseRecordingEnabled = _util.default.isPremiseRecordingEnabled(this.displayHints, this.selfUserPolicies);
|
296
299
|
_loggerProxy.default.logger.log("RecordingController:index#recordingFacade --> recording action [".concat(action, "]"));
|
300
|
+
var recordingType;
|
301
|
+
if (isPremiseRecordingEnabled) {
|
302
|
+
recordingType = _enums.RecordingType.Premise;
|
303
|
+
} else {
|
304
|
+
recordingType = _enums.RecordingType.Cloud;
|
305
|
+
}
|
297
306
|
|
298
307
|
// assumes action is proper cased (i.e., Example)
|
299
308
|
if (_util.default !== null && _util.default !== void 0 && _util.default["canUser".concat(action)](this.displayHints, this.selfUserPolicies)) {
|
300
309
|
if (this.serviceUrl) {
|
301
|
-
return this.recordingService(action);
|
310
|
+
return this.recordingService(action, recordingType);
|
302
311
|
}
|
303
312
|
return this.recordingControls(action);
|
304
313
|
}
|
@@ -313,7 +322,7 @@ var RecordingController = exports.default = /*#__PURE__*/function () {
|
|
313
322
|
}, {
|
314
323
|
key: "startRecording",
|
315
324
|
value: function startRecording() {
|
316
|
-
return this.recordingFacade(_enums.
|
325
|
+
return this.recordingFacade(_enums.RecordingAction.Start);
|
317
326
|
}
|
318
327
|
|
319
328
|
/**
|
@@ -324,7 +333,7 @@ var RecordingController = exports.default = /*#__PURE__*/function () {
|
|
324
333
|
}, {
|
325
334
|
key: "stopRecording",
|
326
335
|
value: function stopRecording() {
|
327
|
-
return this.recordingFacade(_enums.
|
336
|
+
return this.recordingFacade(_enums.RecordingAction.Stop);
|
328
337
|
}
|
329
338
|
|
330
339
|
/**
|
@@ -335,7 +344,7 @@ var RecordingController = exports.default = /*#__PURE__*/function () {
|
|
335
344
|
}, {
|
336
345
|
key: "pauseRecording",
|
337
346
|
value: function pauseRecording() {
|
338
|
-
return this.recordingFacade(_enums.
|
347
|
+
return this.recordingFacade(_enums.RecordingAction.Pause);
|
339
348
|
}
|
340
349
|
|
341
350
|
/**
|
@@ -346,7 +355,7 @@ var RecordingController = exports.default = /*#__PURE__*/function () {
|
|
346
355
|
}, {
|
347
356
|
key: "resumeRecording",
|
348
357
|
value: function resumeRecording() {
|
349
|
-
return this.recordingFacade(_enums.
|
358
|
+
return this.recordingFacade(_enums.RecordingAction.Resume);
|
350
359
|
}
|
351
360
|
}]);
|
352
361
|
return RecordingController;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_permission","_interopRequireDefault","require","_constants","_enums","_util","_loggerProxy","RecordingController","exports","default","request","options","_classCallCheck2","_defineProperty2","initialize","set","_createClass2","key","value","extract","setLocusUrl","url","locusUrl","locusId","Util","extractLocusId","setDisplayHints","hints","displayHints","setUserPolicy","selfUserPolicies","setSessionId","id","sessionId","setServiceUrl","serviceUrl","getLocusUrl","getLocusId","getSessionId","getServiceUrl","getDisplayHints","recordingService","action","body","meetingInfo","locusSessionId","recording","toLowerCase","uri","concat","method","HTTP_VERBS","PUT","recordingControls","record","deriveRecordingStates","LoggerProxy","logger","log","CONTROLS","PATCH","recordingFacade","_promise","reject","PermissionError","startRecording","RecordingAction","Start","stopRecording","Stop","pauseRecording","Pause","resumeRecording","Resume"],"sources":["index.ts"],"sourcesContent":["import PermissionError from '../common/errors/permission';\nimport {CONTROLS, HTTP_VERBS, SELF_POLICY} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport RecordingAction from './enums';\nimport Util from './util';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\n/**\n * @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class RecordingController {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof RecordingController\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof RecordingInfo\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {Object}\n * @private\n * @memberof RecordingInfo\n */\n private selfUserPolicies: Record<SELF_POLICY, boolean>;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private serviceUrl: string;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private sessionId: string;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private locusUrl: string;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private locusId: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof RecordingController\n */\n constructor(\n request: MeetingRequest,\n options?: {\n serviceUrl?: string;\n sessionId: string;\n locusUrl: string;\n displayHints?: Array<string>;\n }\n ) {\n this.initialize(request);\n this.set(options);\n }\n\n /**\n * @param {MeetingRequest} request\n * @returns {void}\n * @private\n * @memberof RecordingController\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public set(options?: {\n serviceUrl?: string;\n sessionId: string;\n locusUrl: string;\n displayHints?: Array<string>;\n }) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setLocusUrl(url: string) {\n this.locusUrl = url;\n this.locusId = Util.extractLocusId(this.locusUrl);\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @param {Object} selfUserPolicies\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setUserPolicy(selfUserPolicies: Record<SELF_POLICY, boolean>) {\n this.selfUserPolicies = selfUserPolicies;\n }\n\n /**\n * @param {string} id\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setSessionId(id: string) {\n this.sessionId = id;\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setServiceUrl(url: string) {\n this.serviceUrl = url;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getLocusId() {\n return this.locusId;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getSessionId() {\n return this.sessionId;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getServiceUrl() {\n return this.serviceUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof RecordingController\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof RecordingController\n */\n private extract(options?: {\n serviceUrl?: string;\n sessionId: string;\n locusUrl: string;\n displayHints?: Array<string>;\n }) {\n this.setServiceUrl(options?.serviceUrl);\n this.setSessionId(options?.sessionId);\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * @param {RecordingAction} action\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n private recordingService(action: RecordingAction): Promise<any> {\n // @ts-ignore\n return this.request.request({\n body: {\n meetingInfo: {\n locusSessionId: this.sessionId,\n },\n recording: {\n action: action.toLowerCase(),\n },\n },\n uri: `${this.serviceUrl}/loci/${this.locusId}/recording`,\n method: HTTP_VERBS.PUT,\n });\n }\n\n /**\n * @param {RecordingAction} action\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n private recordingControls(action: RecordingAction): Promise<any> {\n const record = Util.deriveRecordingStates(action);\n\n LoggerProxy.logger.log(`RecordingController:index#recordingControls --> ${record}`);\n\n // @ts-ignore\n return this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body: {\n record,\n },\n method: HTTP_VERBS.PATCH,\n });\n }\n\n /**\n * @param {RecordingAction} action\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n private recordingFacade(action: RecordingAction): Promise<any> {\n LoggerProxy.logger.log(\n `RecordingController:index#recordingFacade --> recording action [${action}]`\n );\n\n // assumes action is proper cased (i.e., Example)\n if (Util?.[`canUser${action}`](this.displayHints, this.selfUserPolicies)) {\n if (this.serviceUrl) {\n return this.recordingService(action);\n }\n\n return this.recordingControls(action);\n }\n\n return Promise.reject(\n new PermissionError(`${action} recording not allowed, due to moderator property.`)\n );\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public startRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Start);\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public stopRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Stop);\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public pauseRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Pause);\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public resumeRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Resume);\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_permission","_interopRequireDefault","require","_loggerProxy","_constants","_enums","_util","RecordingController","exports","default","request","options","_classCallCheck2","_defineProperty2","initialize","set","_createClass2","key","value","extract","setLocusUrl","url","locusUrl","locusId","Util","extractLocusId","setDisplayHints","hints","displayHints","setUserPolicy","selfUserPolicies","setSessionId","id","sessionId","setServiceUrl","serviceUrl","getLocusUrl","getLocusId","getSessionId","getServiceUrl","getDisplayHints","recordingService","action","recordingType","body","meetingInfo","locusSessionId","recording","toLowerCase","uri","concat","method","HTTP_VERBS","PUT","recordingControls","record","deriveRecordingStates","LoggerProxy","logger","log","CONTROLS","PATCH","recordingFacade","isPremiseRecordingEnabled","RecordingType","Premise","Cloud","_promise","reject","PermissionError","startRecording","RecordingAction","Start","stopRecording","Stop","pauseRecording","Pause","resumeRecording","Resume"],"sources":["index.ts"],"sourcesContent":["import PermissionError from '../common/errors/permission';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {CONTROLS, HTTP_VERBS, SELF_POLICY} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport {RecordingAction, RecordingType} from './enums';\nimport Util from './util';\n\n/**\n * @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class RecordingController {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof RecordingController\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof RecordingInfo\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {Object}\n * @private\n * @memberof RecordingInfo\n */\n private selfUserPolicies: Record<SELF_POLICY, boolean>;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private serviceUrl: string;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private sessionId: string;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private locusUrl: string;\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof RecordingInfo\n */\n private locusId: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof RecordingController\n */\n constructor(\n request: MeetingRequest,\n options?: {\n serviceUrl?: string;\n sessionId: string;\n locusUrl: string;\n displayHints?: Array<string>;\n }\n ) {\n this.initialize(request);\n this.set(options);\n }\n\n /**\n * @param {MeetingRequest} request\n * @returns {void}\n * @private\n * @memberof RecordingController\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public set(options?: {\n serviceUrl?: string;\n sessionId: string;\n locusUrl: string;\n displayHints?: Array<string>;\n }) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setLocusUrl(url: string) {\n this.locusUrl = url;\n this.locusId = Util.extractLocusId(this.locusUrl);\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @param {Object} selfUserPolicies\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setUserPolicy(selfUserPolicies: Record<SELF_POLICY, boolean>) {\n this.selfUserPolicies = selfUserPolicies;\n }\n\n /**\n * @param {string} id\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setSessionId(id: string) {\n this.sessionId = id;\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof RecordingController\n */\n public setServiceUrl(url: string) {\n this.serviceUrl = url;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getLocusId() {\n return this.locusId;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getSessionId() {\n return this.sessionId;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof RecordingController\n */\n public getServiceUrl() {\n return this.serviceUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof RecordingController\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof RecordingController\n */\n private extract(options?: {\n serviceUrl?: string;\n sessionId: string;\n locusUrl: string;\n displayHints?: Array<string>;\n }) {\n this.setServiceUrl(options?.serviceUrl);\n this.setSessionId(options?.sessionId);\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * @param {RecordingAction} action\n * @param {RecordingType} recordingType\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n private recordingService(action: RecordingAction, recordingType: RecordingType): Promise<any> {\n // @ts-ignore\n return this.request.request({\n body: {\n meetingInfo: {\n locusSessionId: this.sessionId,\n },\n recording: {\n action: action.toLowerCase(),\n },\n recordingType,\n },\n uri: `${this.serviceUrl}/loci/${this.locusId}/recording`,\n method: HTTP_VERBS.PUT,\n });\n }\n\n /**\n * @param {RecordingAction} action\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n private recordingControls(action: RecordingAction): Promise<any> {\n const record = Util.deriveRecordingStates(action);\n\n LoggerProxy.logger.log(`RecordingController:index#recordingControls --> ${record}`);\n\n // @ts-ignore\n return this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body: {\n record,\n },\n method: HTTP_VERBS.PATCH,\n });\n }\n\n /**\n * @param {RecordingAction} action\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n private recordingFacade(action: RecordingAction): Promise<any> {\n const isPremiseRecordingEnabled = Util.isPremiseRecordingEnabled(\n this.displayHints,\n this.selfUserPolicies\n );\n LoggerProxy.logger.log(\n `RecordingController:index#recordingFacade --> recording action [${action}]`\n );\n\n let recordingType: RecordingType;\n if (isPremiseRecordingEnabled) {\n recordingType = RecordingType.Premise;\n } else {\n recordingType = RecordingType.Cloud;\n }\n\n // assumes action is proper cased (i.e., Example)\n if (Util?.[`canUser${action}`](this.displayHints, this.selfUserPolicies)) {\n if (this.serviceUrl) {\n return this.recordingService(action, recordingType);\n }\n\n return this.recordingControls(action);\n }\n\n return Promise.reject(\n new PermissionError(`${action} recording not allowed, due to moderator property.`)\n );\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public startRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Start);\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public stopRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Stop);\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public pauseRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Pause);\n }\n\n /**\n * @private\n * @memberof RecordingController\n * @returns {Promise}\n */\n public resumeRecording(): Promise<any> {\n return this.recordingFacade(RecordingAction.Resume);\n }\n}\n"],"mappings":"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"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { SELF_POLICY } from '../constants';
|
2
|
+
import RecordingAction from './enums';
|
3
|
+
declare const _default: {
|
4
|
+
canUserStart: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
5
|
+
canUserPause: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
6
|
+
canUserResume: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
7
|
+
canUserStop: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
8
|
+
deriveRecordingStates: (action: RecordingAction) => {
|
9
|
+
recording: boolean;
|
10
|
+
paused: boolean;
|
11
|
+
};
|
12
|
+
extractLocusId: (url: string) => string;
|
13
|
+
};
|
14
|
+
export default _default;
|
@@ -7,19 +7,22 @@ _Object$defineProperty(exports, "__esModule", {
|
|
7
7
|
});
|
8
8
|
exports.default = void 0;
|
9
9
|
var _constants = require("../constants");
|
10
|
-
var _enums =
|
10
|
+
var _enums = require("./enums");
|
11
11
|
var _util = _interopRequireDefault(require("../meeting/util"));
|
12
12
|
var canUserStart = function canUserStart(displayHints, userPolicies) {
|
13
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_START) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
13
|
+
return (displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_START) || displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_START)) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
14
14
|
};
|
15
15
|
var canUserPause = function canUserPause(displayHints, userPolicies) {
|
16
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_PAUSE) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
16
|
+
return (displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_PAUSE) || displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_PAUSE)) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
17
17
|
};
|
18
18
|
var canUserResume = function canUserResume(displayHints, userPolicies) {
|
19
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_RESUME) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
19
|
+
return (displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_RESUME) || displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_RESUME)) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
20
20
|
};
|
21
21
|
var canUserStop = function canUserStop(displayHints, userPolicies) {
|
22
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_STOP) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
22
|
+
return (displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_STOP) || displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_STOP)) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
23
|
+
};
|
24
|
+
var isPremiseRecordingEnabled = function isPremiseRecordingEnabled(displayHints, userPolicies) {
|
25
|
+
return (displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_START) || displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_PAUSE) || displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_STOP) || displayHints.includes(_constants.DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_RESUME)) && _util.default.selfSupportsFeature(_constants.SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);
|
23
26
|
};
|
24
27
|
var extractLocusId = function extractLocusId(url) {
|
25
28
|
return url === null || url === void 0 ? void 0 : url.split('/').pop();
|
@@ -28,19 +31,19 @@ var deriveRecordingStates = function deriveRecordingStates(action) {
|
|
28
31
|
var recording;
|
29
32
|
var paused;
|
30
33
|
switch (action) {
|
31
|
-
case _enums.
|
34
|
+
case _enums.RecordingAction.Start:
|
32
35
|
recording = true;
|
33
36
|
paused = false;
|
34
37
|
break;
|
35
|
-
case _enums.
|
38
|
+
case _enums.RecordingAction.Stop:
|
36
39
|
recording = false;
|
37
40
|
paused = false;
|
38
41
|
break;
|
39
|
-
case _enums.
|
42
|
+
case _enums.RecordingAction.Resume:
|
40
43
|
recording = true;
|
41
44
|
paused = false;
|
42
45
|
break;
|
43
|
-
case _enums.
|
46
|
+
case _enums.RecordingAction.Pause:
|
44
47
|
recording = true;
|
45
48
|
paused = true;
|
46
49
|
break;
|
@@ -57,6 +60,7 @@ var _default = exports.default = {
|
|
57
60
|
canUserPause: canUserPause,
|
58
61
|
canUserResume: canUserResume,
|
59
62
|
canUserStop: canUserStop,
|
63
|
+
isPremiseRecordingEnabled: isPremiseRecordingEnabled,
|
60
64
|
deriveRecordingStates: deriveRecordingStates,
|
61
65
|
extractLocusId: extractLocusId
|
62
66
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_constants","require","_enums","
|
1
|
+
{"version":3,"names":["_constants","require","_enums","_util","_interopRequireDefault","canUserStart","displayHints","userPolicies","includes","DISPLAY_HINTS","RECORDING_CONTROL_START","PREMISE_RECORDING_CONTROL_START","MeetingUtil","selfSupportsFeature","SELF_POLICY","SUPPORT_NETWORK_BASED_RECORD","canUserPause","RECORDING_CONTROL_PAUSE","PREMISE_RECORDING_CONTROL_PAUSE","canUserResume","RECORDING_CONTROL_RESUME","PREMISE_RECORDING_CONTROL_RESUME","canUserStop","RECORDING_CONTROL_STOP","PREMISE_RECORDING_CONTROL_STOP","isPremiseRecordingEnabled","extractLocusId","url","split","pop","deriveRecordingStates","action","recording","paused","RecordingAction","Start","Stop","Resume","Pause","Error","concat","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["import {DISPLAY_HINTS, SELF_POLICY} from '../constants';\nimport {RecordingAction} from './enums';\nimport MeetingUtil from '../meeting/util';\n\nconst canUserStart = (\n displayHints: Array<string>,\n userPolicies: Record<SELF_POLICY, boolean>\n): boolean =>\n (displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_START) ||\n displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_START)) &&\n MeetingUtil.selfSupportsFeature(SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);\n\nconst canUserPause = (\n displayHints: Array<string>,\n userPolicies: Record<SELF_POLICY, boolean>\n): boolean =>\n (displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_PAUSE) ||\n displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_PAUSE)) &&\n MeetingUtil.selfSupportsFeature(SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);\n\nconst canUserResume = (\n displayHints: Array<string>,\n userPolicies: Record<SELF_POLICY, boolean>\n): boolean =>\n (displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_RESUME) ||\n displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_RESUME)) &&\n MeetingUtil.selfSupportsFeature(SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);\n\nconst canUserStop = (\n displayHints: Array<string>,\n userPolicies: Record<SELF_POLICY, boolean>\n): boolean =>\n (displayHints.includes(DISPLAY_HINTS.RECORDING_CONTROL_STOP) ||\n displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_STOP)) &&\n MeetingUtil.selfSupportsFeature(SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);\n\nconst isPremiseRecordingEnabled = (\n displayHints: Array<string>,\n userPolicies: Record<SELF_POLICY, boolean>\n): boolean =>\n (displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_START) ||\n displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_PAUSE) ||\n displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_STOP) ||\n displayHints.includes(DISPLAY_HINTS.PREMISE_RECORDING_CONTROL_RESUME)) &&\n MeetingUtil.selfSupportsFeature(SELF_POLICY.SUPPORT_NETWORK_BASED_RECORD, userPolicies);\n\nconst extractLocusId = (url: string) => {\n return url?.split('/').pop();\n};\n\nconst deriveRecordingStates = (action: RecordingAction): {recording: boolean; paused: boolean} => {\n let recording;\n let paused;\n\n switch (action) {\n case RecordingAction.Start:\n recording = true;\n paused = false;\n break;\n case RecordingAction.Stop:\n recording = false;\n paused = false;\n break;\n case RecordingAction.Resume:\n recording = true;\n paused = false;\n break;\n case RecordingAction.Pause:\n recording = true;\n paused = true;\n break;\n default:\n throw new Error(`Recording state cannot be derived from invalid action: ${action}`);\n }\n\n return {\n recording,\n paused,\n };\n};\n\nexport default {\n canUserStart,\n canUserPause,\n canUserResume,\n canUserStop,\n isPremiseRecordingEnabled,\n deriveRecordingStates,\n extractLocusId,\n};\n"],"mappings":"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"}
|