@webex/plugin-meetings 2.59.8-next.2 → 2.60.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.
Files changed (172) hide show
  1. package/dist/common/browser-detection.d.ts +9 -0
  2. package/dist/common/browser-detection.js +2 -2
  3. package/dist/common/browser-detection.js.map +1 -1
  4. package/dist/common/collection.d.ts +48 -0
  5. package/dist/common/collection.js +2 -2
  6. package/dist/common/collection.js.map +1 -1
  7. package/dist/common/config.d.ts +2 -0
  8. package/dist/common/errors/captcha-error.d.ts +15 -0
  9. package/dist/common/errors/intent-to-join.d.ts +16 -0
  10. package/dist/common/errors/join-meeting.d.ts +17 -0
  11. package/dist/common/errors/media.d.ts +15 -0
  12. package/dist/common/errors/parameter.d.ts +15 -0
  13. package/dist/common/errors/password-error.d.ts +15 -0
  14. package/dist/common/errors/permission.d.ts +14 -0
  15. package/dist/common/errors/reclaim-host-role-error.d.ts +60 -0
  16. package/dist/common/errors/reclaim-host-role-error.js +158 -0
  17. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  18. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  19. package/dist/common/errors/reconnection.d.ts +15 -0
  20. package/dist/common/errors/stats.d.ts +15 -0
  21. package/dist/common/errors/webex-errors.d.ts +81 -0
  22. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  23. package/dist/common/events/events-scope.d.ts +17 -0
  24. package/dist/common/events/events.d.ts +12 -0
  25. package/dist/common/events/trigger-proxy.d.ts +2 -0
  26. package/dist/common/events/util.d.ts +2 -0
  27. package/dist/common/logs/logger-config.d.ts +2 -0
  28. package/dist/common/logs/logger-proxy.d.ts +2 -0
  29. package/dist/common/logs/request.d.ts +34 -0
  30. package/dist/common/queue.d.ts +32 -0
  31. package/dist/config.d.ts +73 -0
  32. package/dist/config.js +2 -2
  33. package/dist/config.js.map +1 -1
  34. package/dist/constants.d.ts +952 -0
  35. package/dist/constants.js +31 -2
  36. package/dist/constants.js.map +1 -1
  37. package/dist/controls-options-manager/constants.d.ts +4 -0
  38. package/dist/controls-options-manager/enums.d.ts +5 -0
  39. package/dist/controls-options-manager/index.d.ts +120 -0
  40. package/dist/controls-options-manager/index.js +2 -2
  41. package/dist/controls-options-manager/index.js.map +1 -1
  42. package/dist/controls-options-manager/util.d.ts +7 -0
  43. package/dist/index.d.ts +4 -0
  44. package/dist/locus-info/controlsUtils.d.ts +2 -0
  45. package/dist/locus-info/controlsUtils.js +6 -6
  46. package/dist/locus-info/controlsUtils.js.map +1 -1
  47. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  48. package/dist/locus-info/fullState.d.ts +2 -0
  49. package/dist/locus-info/hostUtils.d.ts +2 -0
  50. package/dist/locus-info/index.d.ts +269 -0
  51. package/dist/locus-info/index.js +18 -18
  52. package/dist/locus-info/index.js.map +1 -1
  53. package/dist/locus-info/infoUtils.d.ts +2 -0
  54. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  55. package/dist/locus-info/parser.d.ts +212 -0
  56. package/dist/locus-info/parser.js +2 -2
  57. package/dist/locus-info/parser.js.map +1 -1
  58. package/dist/locus-info/selfUtils.d.ts +2 -0
  59. package/dist/media/index.d.ts +32 -0
  60. package/dist/media/properties.d.ts +108 -0
  61. package/dist/media/util.d.ts +2 -0
  62. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  63. package/dist/meeting/effectsState.d.ts +42 -0
  64. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  65. package/dist/meeting/index.d.ts +1622 -0
  66. package/dist/meeting/index.js +51 -28
  67. package/dist/meeting/index.js.map +1 -1
  68. package/dist/meeting/muteState.d.ts +116 -0
  69. package/dist/meeting/request.d.ts +255 -0
  70. package/dist/meeting/request.js +2 -2
  71. package/dist/meeting/request.js.map +1 -1
  72. package/dist/meeting/state.d.ts +9 -0
  73. package/dist/meeting/util.d.ts +2 -0
  74. package/dist/meeting/util.js +4 -4
  75. package/dist/meeting/util.js.map +1 -1
  76. package/dist/meeting-info/collection.d.ts +20 -0
  77. package/dist/meeting-info/collection.js +2 -2
  78. package/dist/meeting-info/collection.js.map +1 -1
  79. package/dist/meeting-info/index.d.ts +57 -0
  80. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  81. package/dist/meeting-info/request.d.ts +22 -0
  82. package/dist/meeting-info/util.d.ts +2 -0
  83. package/dist/meeting-info/utilv2.d.ts +2 -0
  84. package/dist/meetings/collection.d.ts +23 -0
  85. package/dist/meetings/collection.js +2 -2
  86. package/dist/meetings/collection.js.map +1 -1
  87. package/dist/meetings/index.d.ts +296 -0
  88. package/dist/meetings/request.d.ts +27 -0
  89. package/dist/meetings/util.d.ts +18 -0
  90. package/dist/member/index.d.ts +148 -0
  91. package/dist/member/index.js +9 -0
  92. package/dist/member/index.js.map +1 -1
  93. package/dist/member/member.types.d.ts +11 -0
  94. package/dist/member/util.d.ts +2 -0
  95. package/dist/member/util.js +11 -0
  96. package/dist/member/util.js.map +1 -1
  97. package/dist/members/collection.d.ts +24 -0
  98. package/dist/members/index.d.ts +308 -0
  99. package/dist/members/index.js +39 -2
  100. package/dist/members/index.js.map +1 -1
  101. package/dist/members/request.d.ts +58 -0
  102. package/dist/members/request.js +19 -0
  103. package/dist/members/request.js.map +1 -1
  104. package/dist/members/types.d.ts +25 -0
  105. package/dist/members/types.js +15 -0
  106. package/dist/members/types.js.map +1 -0
  107. package/dist/members/util.d.ts +2 -0
  108. package/dist/members/util.js +50 -0
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/config.d.ts +169 -0
  111. package/dist/metrics/constants.d.ts +59 -0
  112. package/dist/metrics/constants.js +2 -0
  113. package/dist/metrics/constants.js.map +1 -1
  114. package/dist/metrics/index.d.ts +152 -0
  115. package/dist/metrics/index.js +2 -2
  116. package/dist/metrics/index.js.map +1 -1
  117. package/dist/networkQualityMonitor/index.d.ts +70 -0
  118. package/dist/peer-connection-manager/index.d.ts +6 -0
  119. package/dist/peer-connection-manager/util.d.ts +6 -0
  120. package/dist/personal-meeting-room/index.d.ts +47 -0
  121. package/dist/personal-meeting-room/request.d.ts +14 -0
  122. package/dist/personal-meeting-room/util.d.ts +2 -0
  123. package/dist/reachability/index.d.ts +139 -0
  124. package/dist/reachability/index.js +2 -9
  125. package/dist/reachability/index.js.map +1 -1
  126. package/dist/reachability/request.d.ts +35 -0
  127. package/dist/reactions/reactions.d.ts +4 -0
  128. package/dist/reactions/reactions.type.d.ts +32 -0
  129. package/dist/reconnection-manager/index.d.ts +112 -0
  130. package/dist/recording-controller/enums.d.ts +7 -0
  131. package/dist/recording-controller/index.d.ts +193 -0
  132. package/dist/recording-controller/util.d.ts +13 -0
  133. package/dist/roap/collection.d.ts +10 -0
  134. package/dist/roap/handler.d.ts +47 -0
  135. package/dist/roap/index.d.ts +116 -0
  136. package/dist/roap/index.js.map +1 -1
  137. package/dist/roap/request.d.ts +35 -0
  138. package/dist/roap/state.d.ts +9 -0
  139. package/dist/roap/turnDiscovery.d.ts +81 -0
  140. package/dist/roap/util.d.ts +2 -0
  141. package/dist/statsAnalyzer/global.d.ts +118 -0
  142. package/dist/statsAnalyzer/global.js +4 -12
  143. package/dist/statsAnalyzer/global.js.map +1 -1
  144. package/dist/statsAnalyzer/index.d.ts +193 -0
  145. package/dist/statsAnalyzer/index.js +56 -14
  146. package/dist/statsAnalyzer/index.js.map +1 -1
  147. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  148. package/dist/statsAnalyzer/mqaUtil.js +15 -15
  149. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  150. package/dist/transcription/index.d.ts +64 -0
  151. package/package.json +21 -22
  152. package/src/common/errors/reclaim-host-role-error.ts +134 -0
  153. package/src/config.ts +2 -2
  154. package/src/constants.ts +33 -0
  155. package/src/meeting/index.ts +35 -0
  156. package/src/member/index.ts +9 -0
  157. package/src/member/util.ts +14 -0
  158. package/src/members/index.ts +55 -1
  159. package/src/members/request.ts +20 -0
  160. package/src/members/types.ts +29 -0
  161. package/src/members/util.ts +52 -0
  162. package/src/metrics/constants.ts +2 -0
  163. package/src/roap/index.ts +1 -0
  164. package/src/statsAnalyzer/global.ts +2 -10
  165. package/src/statsAnalyzer/index.ts +80 -17
  166. package/test/unit/spec/meeting/index.js +77 -6
  167. package/test/unit/spec/member/index.js +7 -0
  168. package/test/unit/spec/member/util.js +32 -0
  169. package/test/unit/spec/members/index.js +205 -0
  170. package/test/unit/spec/members/utils.js +75 -0
  171. package/test/unit/spec/roap/index.ts +0 -1
  172. package/test/unit/spec/stats-analyzer/index.js +151 -0
@@ -0,0 +1,120 @@
1
+ import MeetingRequest from '../meeting/request';
2
+ /**
3
+ * docs
4
+ * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html
5
+ * https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry
6
+ * https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting
7
+ * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867
8
+ * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351
9
+ */
10
+ /**
11
+ * @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting
12
+ * @export
13
+ * @private
14
+ * @class Recording
15
+ */
16
+ export default class ControlsOptionsManager {
17
+ /**
18
+ * @instance
19
+ * @type {MeetingRequest}
20
+ * @private
21
+ * @memberof ControlsOptionsManager
22
+ */
23
+ private request;
24
+ /**
25
+ * @instance
26
+ * @type {Array}
27
+ * @private
28
+ * @memberof ControlsOptionsManager
29
+ */
30
+ private displayHints;
31
+ /**
32
+ * @instance
33
+ * @type {string}
34
+ * @private
35
+ * @memberof ControlsOptionsManager
36
+ */
37
+ private locusUrl;
38
+ /**
39
+ * @param {MeetingRequest} request
40
+ * @param {Object} options
41
+ * @constructor
42
+ * @memberof ControlsOptionsManager
43
+ */
44
+ constructor(request: MeetingRequest, options?: {
45
+ locusUrl: string;
46
+ displayHints?: Array<string>;
47
+ });
48
+ /**
49
+ * @param {MeetingRequest} request
50
+ * @returns {void}
51
+ * @private
52
+ * @memberof ControlsOptionsManager
53
+ */
54
+ private initialize;
55
+ /**
56
+ * @param {Object} options
57
+ * @returns {void}
58
+ * @public
59
+ * @memberof ControlsOptionsManager
60
+ */
61
+ set(options?: {
62
+ locusUrl: string;
63
+ displayHints?: Array<string>;
64
+ }): void;
65
+ /**
66
+ * @param {string} url
67
+ * @returns {void}
68
+ * @public
69
+ * @memberof ControlsOptionsManager
70
+ */
71
+ setLocusUrl(url: string): void;
72
+ /**
73
+ * @param {Array} hints
74
+ * @returns {void}
75
+ * @public
76
+ * @memberof ControlsOptionsManager
77
+ */
78
+ setDisplayHints(hints: Array<string>): void;
79
+ /**
80
+ * @returns {string}
81
+ * @public
82
+ * @memberof ControlsOptionsManager
83
+ */
84
+ getLocusUrl(): string;
85
+ /**
86
+ * @returns {Array}
87
+ * @public
88
+ * @memberof ControlsOptionsManager
89
+ */
90
+ getDisplayHints(): string[];
91
+ /**
92
+ * @param {Object} options
93
+ * @returns {void}
94
+ * @private
95
+ * @memberof ControlsOptionsManager
96
+ */
97
+ private extract;
98
+ /**
99
+ * @param {Setting} setting
100
+ * @param {boolean} enabled
101
+ * @private
102
+ * @memberof ControlsOptionsManager
103
+ * @returns {Promise}
104
+ */
105
+ private setControls;
106
+ /**
107
+ * @public
108
+ * @param {boolean} enabled
109
+ * @memberof ControlsOptionsManager
110
+ * @returns {Promise}
111
+ */
112
+ setMuteOnEntry(enabled: boolean): Promise<any>;
113
+ /**
114
+ * @public
115
+ * @param {boolean} enabled
116
+ * @memberof ControlsOptionsManager
117
+ * @returns {Promise}
118
+ */
119
+ setDisallowUnmute(enabled: boolean): Promise<any>;
120
+ }
@@ -10,7 +10,7 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/pr
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
13
- var _lodash = require("lodash");
13
+ var _camelCase3 = _interopRequireDefault(require("lodash/camelCase"));
14
14
  var _permission = _interopRequireDefault(require("../common/errors/permission"));
15
15
  var _constants = require("../constants");
16
16
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
@@ -166,7 +166,7 @@ var ControlsOptionsManager = /*#__PURE__*/function () {
166
166
  // @ts-ignore
167
167
  return this.request.request({
168
168
  uri: "".concat(this.locusUrl, "/").concat(_constants.CONTROLS),
169
- body: (0, _defineProperty2.default)({}, (0, _lodash.camelCase)(setting), (0, _defineProperty2.default)({}, _constants2.ENABLED, enabled)),
169
+ body: (0, _defineProperty2.default)({}, (0, _camelCase3.default)(setting), (0, _defineProperty2.default)({}, _constants2.ENABLED, enabled)),
170
170
  method: _constants.HTTP_VERBS.PATCH
171
171
  });
172
172
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_permission","_interopRequireDefault","_constants","_loggerProxy","_enums","_util","_constants2","ControlsOptionsManager","request","options","_classCallCheck2","default","_defineProperty2","initialize","set","_createClass2","key","value","extract","setLocusUrl","url","locusUrl","setDisplayHints","hints","displayHints","getLocusUrl","getDisplayHints","setControls","setting","enabled","LoggerProxy","logger","log","concat","Util","CAN_SET","CAN_UNSET","uri","CONTROLS","body","camelCase","ENABLED","method","HTTP_VERBS","PATCH","_promise","reject","PermissionError","setMuteOnEntry","Setting","muteOnEntry","setDisallowUnmute","disallowUnmute","exports"],"sources":["index.ts"],"sourcesContent":["import {camelCase} from 'lodash';\nimport PermissionError from '../common/errors/permission';\nimport {CONTROLS, HTTP_VERBS} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport Setting from './enums';\nimport Util from './util';\nimport {CAN_SET, CAN_UNSET, ENABLED} from './constants';\n\n/**\n * docs\n * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html\n * https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry\n * https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351\n */\n\n/**\n * @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class ControlsOptionsManager {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof ControlsOptionsManager\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof ControlsOptionsManager\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof ControlsOptionsManager\n */\n private locusUrl: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof ControlsOptionsManager\n */\n constructor(\n request: MeetingRequest,\n options?: {\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 ControlsOptionsManager\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public set(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setLocusUrl(url: string) {\n this.locusUrl = url;\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private extract(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * @param {Setting} setting\n * @param {boolean} enabled\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: Setting, enabled: boolean): Promise<any> {\n LoggerProxy.logger.log(`ControlsOptionsManager:index#setControls --> ${setting} [${enabled}]`);\n\n if (Util?.[`${enabled ? CAN_SET : CAN_UNSET}${setting}`](this.displayHints)) {\n // @ts-ignore\n return this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body: {\n [camelCase(setting)]: {\n [ENABLED]: enabled,\n },\n },\n method: HTTP_VERBS.PATCH,\n });\n }\n\n return Promise.reject(\n new PermissionError(`${setting} [${enabled}] not allowed, due to moderator property.`)\n );\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteOnEntry(enabled: boolean): Promise<any> {\n return this.setControls(Setting.muteOnEntry, enabled);\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setDisallowUnmute(enabled: boolean): Promise<any> {\n return this.setControls(Setting.disallowUnmute, enabled);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_permission","_interopRequireDefault","require","_constants","_loggerProxy","_enums","_util","_constants2","ControlsOptionsManager","request","options","_classCallCheck2","default","_defineProperty2","initialize","set","_createClass2","key","value","extract","setLocusUrl","url","locusUrl","setDisplayHints","hints","displayHints","getLocusUrl","getDisplayHints","setControls","setting","enabled","LoggerProxy","logger","log","concat","Util","CAN_SET","CAN_UNSET","uri","CONTROLS","body","_camelCase3","ENABLED","method","HTTP_VERBS","PATCH","_promise","reject","PermissionError","setMuteOnEntry","Setting","muteOnEntry","setDisallowUnmute","disallowUnmute","exports"],"sources":["index.ts"],"sourcesContent":["import {camelCase} from 'lodash';\nimport PermissionError from '../common/errors/permission';\nimport {CONTROLS, HTTP_VERBS} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport Setting from './enums';\nimport Util from './util';\nimport {CAN_SET, CAN_UNSET, ENABLED} from './constants';\n\n/**\n * docs\n * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html\n * https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry\n * https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351\n */\n\n/**\n * @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class ControlsOptionsManager {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof ControlsOptionsManager\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof ControlsOptionsManager\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof ControlsOptionsManager\n */\n private locusUrl: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof ControlsOptionsManager\n */\n constructor(\n request: MeetingRequest,\n options?: {\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 ControlsOptionsManager\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public set(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setLocusUrl(url: string) {\n this.locusUrl = url;\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private extract(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * @param {Setting} setting\n * @param {boolean} enabled\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: Setting, enabled: boolean): Promise<any> {\n LoggerProxy.logger.log(`ControlsOptionsManager:index#setControls --> ${setting} [${enabled}]`);\n\n if (Util?.[`${enabled ? CAN_SET : CAN_UNSET}${setting}`](this.displayHints)) {\n // @ts-ignore\n return this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body: {\n [camelCase(setting)]: {\n [ENABLED]: enabled,\n },\n },\n method: HTTP_VERBS.PATCH,\n });\n }\n\n return Promise.reject(\n new PermissionError(`${setting} [${enabled}] not allowed, due to moderator property.`)\n );\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteOnEntry(enabled: boolean): Promise<any> {\n return this.setControls(Setting.muteOnEntry, enabled);\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setDisallowUnmute(enabled: boolean): Promise<any> {\n return this.setControls(Setting.disallowUnmute, enabled);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ canSetMuteOnEntry: (displayHints: string[]) => boolean;
3
+ canSetDisallowUnmute: (displayHints: string[]) => boolean;
4
+ canUnsetMuteOnEntry: (displayHints: string[]) => boolean;
5
+ canUnsetDisallowUnmute: (displayHints: string[]) => boolean;
6
+ };
7
+ export default _default;
@@ -0,0 +1,4 @@
1
+ export default Meetings;
2
+ export * as CONSTANTS from "./constants";
3
+ export { default as TriggerProxy } from "./common/events/trigger-proxy";
4
+ import Meetings from "./meetings";
@@ -0,0 +1,2 @@
1
+ declare const ControlsUtils: any;
2
+ export default ControlsUtils;
@@ -12,7 +12,7 @@ _Object$defineProperty(exports, "__esModule", {
12
12
  });
13
13
  exports.default = void 0;
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
- var _lodash = require("lodash");
15
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
16
16
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
18
18
  var ControlsUtils = {};
@@ -73,21 +73,21 @@ ControlsUtils.getControls = function (oldControls, newControls) {
73
73
  previous: previous,
74
74
  current: current,
75
75
  updates: {
76
- hasRecordingPausedChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$record = previous.record) === null || _previous$record === void 0 ? void 0 : _previous$record.paused, current.record.paused) && ((previous === null || previous === void 0 ? void 0 : (_previous$record2 = previous.record) === null || _previous$record2 === void 0 ? void 0 : _previous$record2.recording) || (current === null || current === void 0 ? void 0 : (_current$record = current.record) === null || _current$record === void 0 ? void 0 : _current$record.recording)),
76
+ hasRecordingPausedChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$record = previous.record) === null || _previous$record === void 0 ? void 0 : _previous$record.paused, current.record.paused) && ((previous === null || previous === void 0 ? void 0 : (_previous$record2 = previous.record) === null || _previous$record2 === void 0 ? void 0 : _previous$record2.recording) || (current === null || current === void 0 ? void 0 : (_current$record = current.record) === null || _current$record === void 0 ? void 0 : _current$record.recording)),
77
77
  // see comments directly below
78
78
 
79
- hasRecordingChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$record3 = previous.record) === null || _previous$record3 === void 0 ? void 0 : _previous$record3.recording, current === null || current === void 0 ? void 0 : (_current$record2 = current.record) === null || _current$record2 === void 0 ? void 0 : _current$record2.recording) && (
79
+ hasRecordingChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$record3 = previous.record) === null || _previous$record3 === void 0 ? void 0 : _previous$record3.recording, current === null || current === void 0 ? void 0 : (_current$record2 = current.record) === null || _current$record2 === void 0 ? void 0 : _current$record2.recording) && (
80
80
  // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
81
81
  (previous === null || previous === void 0 ? void 0 : (_previous$record4 = previous.record) === null || _previous$record4 === void 0 ? void 0 : _previous$record4.recording) || (current === null || current === void 0 ? void 0 : (_current$record3 = current.record) === null || _current$record3 === void 0 ? void 0 : _current$record3.recording)),
82
82
  // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
83
83
 
84
- hasMeetingContainerChanged: (current === null || current === void 0 ? void 0 : current.meetingContainer) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$meetingCont = previous.meetingContainer) === null || _previous$meetingCont === void 0 ? void 0 : _previous$meetingCont.meetingContainerUrl, current === null || current === void 0 ? void 0 : (_current$meetingConta = current.meetingContainer) === null || _current$meetingConta === void 0 ? void 0 : _current$meetingConta.meetingContainerUrl),
85
- hasTranscribeChanged: (current === null || current === void 0 ? void 0 : current.transcribe) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$transcribe = previous.transcribe) === null || _previous$transcribe === void 0 ? void 0 : _previous$transcribe.transcribing, current === null || current === void 0 ? void 0 : (_current$transcribe = current.transcribe) === null || _current$transcribe === void 0 ? void 0 : _current$transcribe.transcribing) && (
84
+ hasMeetingContainerChanged: (current === null || current === void 0 ? void 0 : current.meetingContainer) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$meetingCont = previous.meetingContainer) === null || _previous$meetingCont === void 0 ? void 0 : _previous$meetingCont.meetingContainerUrl, current === null || current === void 0 ? void 0 : (_current$meetingConta = current.meetingContainer) === null || _current$meetingConta === void 0 ? void 0 : _current$meetingConta.meetingContainerUrl),
85
+ hasTranscribeChanged: (current === null || current === void 0 ? void 0 : current.transcribe) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$transcribe = previous.transcribe) === null || _previous$transcribe === void 0 ? void 0 : _previous$transcribe.transcribing, current === null || current === void 0 ? void 0 : (_current$transcribe = current.transcribe) === null || _current$transcribe === void 0 ? void 0 : _current$transcribe.transcribing) && (
86
86
  // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
87
87
  (previous === null || previous === void 0 ? void 0 : (_previous$transcribe2 = previous.transcribe) === null || _previous$transcribe2 === void 0 ? void 0 : _previous$transcribe2.transcribing) || (current === null || current === void 0 ? void 0 : (_current$transcribe2 = current.transcribe) === null || _current$transcribe2 === void 0 ? void 0 : _current$transcribe2.transcribing)),
88
88
  // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
89
89
 
90
- hasEntryExitToneChanged: !!(newControls.entryExitTone && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.entryExitTone, current === null || current === void 0 ? void 0 : current.entryExitTone) && (previous !== null && previous !== void 0 && previous.entryExitTone || current !== null && current !== void 0 && current.entryExitTone))
90
+ hasEntryExitToneChanged: !!(newControls.entryExitTone && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : previous.entryExitTone, current === null || current === void 0 ? void 0 : current.entryExitTone) && (previous !== null && previous !== void 0 && previous.entryExitTone || current !== null && current !== void 0 && current.entryExitTone))
91
91
  }
92
92
  };
93
93
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","Object","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","getControls","oldControls","newControls","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","previous","current","updates","hasRecordingPausedChanged","isEqual","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
1
+ {"version":3,"names":["ControlsUtils","parse","controls","parsedControls","_objectSpread","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","getControls","oldControls","newControls","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","previous","current","updates","hasRecordingPausedChanged","_isEqual2","default","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\nexport default ControlsUtils;\n"],"mappings":";;;;;;;;;;;;;;;;;AAEA,IAAMA,aAAkB,GAAG,CAAC,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACAA,aAAa,CAACC,KAAK,GAAG,UAACC,QAAa,EAAK;EACvC,IAAMC,cAAc,GAAAC,aAAA,KAAOF,QAAQ,CAAC;EAEpC,IAAIA,QAAQ,IAAIA,QAAQ,CAACG,MAAM,EAAE;IAC/BF,cAAc,CAACE,MAAM,GAAG;MACtBC,UAAU,EAAEN,aAAa,CAACO,KAAK,CAACL,QAAQ,CAAC;MACzCM,MAAM,EAAEN,QAAQ,CAACG,MAAM,CAACG,MAAM,GAAGN,QAAQ,CAACG,MAAM,CAACG,MAAM,GAAG,KAAK;MAC/DC,SAAS,EAAEP,QAAQ,CAACG,MAAM,CAACI,SAAS;MACpCC,YAAY,EAAER,QAAQ,CAACG,MAAM,CAACM,IAAI,CAACD;IACrC,CAAC;EACH;EAEA,IAAIR,QAAQ,IAAIA,QAAQ,CAACU,gBAAgB,EAAE;IACzCT,cAAc,CAACS,gBAAgB,GAAG;MAChCC,mBAAmB,EAAEX,QAAQ,CAACU,gBAAgB,CAACC;IACjD,CAAC;EACH;EAEA,IAAIX,QAAQ,IAAIA,QAAQ,CAACY,UAAU,EAAE;IACnCX,cAAc,CAACW,UAAU,GAAG;MAC1BC,YAAY,EAAEb,QAAQ,CAACY,UAAU,CAACC,YAAY;MAC9CC,OAAO,EAAEd,QAAQ,CAACY,UAAU,CAACE;IAC/B,CAAC;EACH;EAEA,IAAId,QAAQ,IAAIA,QAAQ,CAACe,aAAa,EAAE;IACtCd,cAAc,CAACc,aAAa,GAAGf,QAAQ,CAACe,aAAa,CAACC,OAAO,GACzDhB,QAAQ,CAACe,aAAa,CAACE,IAAI,GAC3B,IAAI;EACV;EAEA,OAAOhB,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACAH,aAAa,CAACoB,WAAW,GAAG,UAACC,WAAgB,EAAEC,WAAgB,EAAK;EAAA,IAAAC,gBAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,oBAAA;EAClE,IAAMC,QAAQ,GAAGpC,aAAa,CAACC,KAAK,CAACoB,WAAW,CAAC;EACjD,IAAMgB,OAAO,GAAGrC,aAAa,CAACC,KAAK,CAACqB,WAAW,CAAC;EAEhD,OAAO;IACLc,QAAQ,EAARA,QAAQ;IACRC,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAE;MACPC,yBAAyB,EACvB,CAAAF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhC,MAAM,KACf,CAAC,IAAAmC,SAAA,CAAAC,OAAA,EAAQL,QAAQ,aAARA,QAAQ,wBAAAb,gBAAA,GAARa,QAAQ,CAAE/B,MAAM,cAAAkB,gBAAA,uBAAhBA,gBAAA,CAAkBf,MAAM,EAAE6B,OAAO,CAAChC,MAAM,CAACG,MAAM,CAAC,KACxD,CAAA4B,QAAQ,aAARA,QAAQ,wBAAAZ,iBAAA,GAARY,QAAQ,CAAE/B,MAAM,cAAAmB,iBAAA,uBAAhBA,iBAAA,CAAkBf,SAAS,MAAI4B,OAAO,aAAPA,OAAO,wBAAAZ,eAAA,GAAPY,OAAO,CAAEhC,MAAM,cAAAoB,eAAA,uBAAfA,eAAA,CAAiBhB,SAAS,EAAC;MAAE;;MAE/DiC,mBAAmB,EACjB,CAAAL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhC,MAAM,KACf,CAAC,IAAAmC,SAAA,CAAAC,OAAA,EAAQL,QAAQ,aAARA,QAAQ,wBAAAV,iBAAA,GAARU,QAAQ,CAAE/B,MAAM,cAAAqB,iBAAA,uBAAhBA,iBAAA,CAAkBjB,SAAS,EAAE4B,OAAO,aAAPA,OAAO,wBAAAV,gBAAA,GAAPU,OAAO,CAAEhC,MAAM,cAAAsB,gBAAA,uBAAfA,gBAAA,CAAiBlB,SAAS,CAAC;MAAI;MACpE,CAAA2B,QAAQ,aAARA,QAAQ,wBAAAR,iBAAA,GAARQ,QAAQ,CAAE/B,MAAM,cAAAuB,iBAAA,uBAAhBA,iBAAA,CAAkBnB,SAAS,MAAI4B,OAAO,aAAPA,OAAO,wBAAAR,gBAAA,GAAPQ,OAAO,CAAEhC,MAAM,cAAAwB,gBAAA,uBAAfA,gBAAA,CAAiBpB,SAAS,EAAC;MAAE;;MAE/DkC,0BAA0B,EACxB,CAAAN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEzB,gBAAgB,KACzB,CAAC,IAAA4B,SAAA,CAAAC,OAAA,EACCL,QAAQ,aAARA,QAAQ,wBAAAN,qBAAA,GAARM,QAAQ,CAAExB,gBAAgB,cAAAkB,qBAAA,uBAA1BA,qBAAA,CAA4BjB,mBAAmB,EAC/CwB,OAAO,aAAPA,OAAO,wBAAAN,qBAAA,GAAPM,OAAO,CAAEzB,gBAAgB,cAAAmB,qBAAA,uBAAzBA,qBAAA,CAA2BlB,mBAAmB,CAC/C;MAEH+B,oBAAoB,EAClB,CAAAP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEvB,UAAU,KACnB,CAAC,IAAA0B,SAAA,CAAAC,OAAA,EAAQL,QAAQ,aAARA,QAAQ,wBAAAJ,oBAAA,GAARI,QAAQ,CAAEtB,UAAU,cAAAkB,oBAAA,uBAApBA,oBAAA,CAAsBjB,YAAY,EAAEsB,OAAO,aAAPA,OAAO,wBAAAJ,mBAAA,GAAPI,OAAO,CAAEvB,UAAU,cAAAmB,mBAAA,uBAAnBA,mBAAA,CAAqBlB,YAAY,CAAC;MAAI;MAClF,CAAAqB,QAAQ,aAARA,QAAQ,wBAAAF,qBAAA,GAARE,QAAQ,CAAEtB,UAAU,cAAAoB,qBAAA,uBAApBA,qBAAA,CAAsBnB,YAAY,MAAIsB,OAAO,aAAPA,OAAO,wBAAAF,oBAAA,GAAPE,OAAO,CAAEvB,UAAU,cAAAqB,oBAAA,uBAAnBA,oBAAA,CAAqBpB,YAAY,EAAC;MAAE;;MAE7E8B,uBAAuB,EAAE,CAAC,EACxBvB,WAAW,CAACL,aAAa,IACzB,CAAC,IAAAuB,SAAA,CAAAC,OAAA,EAAQL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEnB,aAAa,EAAEoB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpB,aAAa,CAAC,KACxDmB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEnB,aAAa,IAAIoB,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEpB,aAAa,CAAC;IAEvD;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACAjB,aAAa,CAACO,KAAK,GAAG,UAACL,QAAa,EAAK;EACvC,IAAIA,QAAQ,CAACG,MAAM,CAACM,IAAI,EAAE;IACxB,OAAOT,QAAQ,CAACG,MAAM,CAACM,IAAI,CAACL,UAAU;EACxC;EAEA,OAAO,IAAI;AACb,CAAC;AAAC,IAAAwC,QAAA,GAEa9C,aAAa;AAAA+C,OAAA,CAAAN,OAAA,GAAAK,QAAA"}
@@ -0,0 +1,2 @@
1
+ declare const EmbeddedAppsUtils: any;
2
+ export default EmbeddedAppsUtils;
@@ -0,0 +1,2 @@
1
+ declare const FullState: any;
2
+ export default FullState;
@@ -0,0 +1,2 @@
1
+ declare const HostUtils: any;
2
+ export default HostUtils;
@@ -0,0 +1,269 @@
1
+ import EventsScope from '../common/events/events-scope';
2
+ /**
3
+ * @description LocusInfo extends ChildEmitter to convert locusInfo info a private emitter to parent object
4
+ * @export
5
+ * @private
6
+ * @class LocusInfo
7
+ */
8
+ export default class LocusInfo extends EventsScope {
9
+ compareAndUpdateFlags: any;
10
+ emitChange: any;
11
+ locusParser: any;
12
+ meetingId: any;
13
+ parsedLocus: any;
14
+ updateMeeting: any;
15
+ webex: any;
16
+ aclUrl: any;
17
+ baseSequence: any;
18
+ created: any;
19
+ deltaParticipants: any;
20
+ identities: any;
21
+ membership: any;
22
+ participants: any;
23
+ participantsUrl: any;
24
+ replaces: any;
25
+ scheduledMeeting: any;
26
+ sequence: any;
27
+ controls: any;
28
+ conversationUrl: any;
29
+ embeddedApps: any;
30
+ fullState: any;
31
+ host: any;
32
+ info: any;
33
+ mediaShares: any;
34
+ replace: any;
35
+ url: any;
36
+ services: any;
37
+ constructor(updateMeeting: any, webex: any, meetingId: any);
38
+ /**
39
+ * Apply locus delta data to meeting
40
+ * @param {string} action Locus delta action
41
+ * @param {Locus} locus
42
+ * @param {Meeting} meeting
43
+ * @returns {undefined}
44
+ */
45
+ applyLocusDeltaData(action: string, locus: any, meeting: any): void;
46
+ /**
47
+ * Adds locus delta to parser's queue
48
+ * and registers a function handler
49
+ * to recieve parsed actions from queue.
50
+ * @param {Locus} locus
51
+ * @param {Meeting} meeting
52
+ * @returns {undefined}
53
+ */
54
+ handleLocusDelta(locus: any, meeting: any): void;
55
+ /**
56
+ * @param {Locus} locus
57
+ * @returns {undefined}
58
+ * @memberof LocusInfo
59
+ */
60
+ init(locus?: any): void;
61
+ /**
62
+ * @param {Object} locus
63
+ * @returns {undefined}
64
+ * @memberof LocusInfo
65
+ */
66
+ initialSetup(locus: object): void;
67
+ /**
68
+ * @param {Meeting} meeting
69
+ * @param {Object} data
70
+ * @returns {undefined}
71
+ * @memberof LocusInfo
72
+ */
73
+ parse(meeting: any, data: any): void;
74
+ /**
75
+ * @param {String} scope
76
+ * @param {String} eventName
77
+ * @param {Array} args
78
+ * @returns {undefined}
79
+ * @memberof LocusInfo
80
+ */
81
+ emitScoped(scope?: any, eventName?: string, args?: any): boolean;
82
+ /**
83
+ * updates the locus with full locus object
84
+ * @param {object} locus locus object
85
+ * @param {string} eventType particulat locus event
86
+ * @returns {object} null
87
+ * @memberof LocusInfo
88
+ */
89
+ onFullLocus(locus: any, eventType?: string): void;
90
+ /**
91
+ * @param {String} eventType
92
+ * @returns {undefined}
93
+ * @memberof LocusInfo
94
+ */
95
+ handleOneOnOneEvent(eventType: string): void;
96
+ /**
97
+ * @param {Object} locus
98
+ * @returns {undefined}
99
+ * @memberof LocusInfo
100
+ */
101
+ onDeltaLocus(locus: any): void;
102
+ /**
103
+ * @param {Object} locus
104
+ * @returns {undefined}
105
+ * @memberof LocusInfo
106
+ */
107
+ updateLocusInfo(locus: any): void;
108
+ /**
109
+ * @param {Array} participants
110
+ * @param {Object} self
111
+ * @returns {Array}
112
+ * @memberof LocusInfo
113
+ */
114
+ getLocusPartner(participants: Array<any>, self: any): any;
115
+ /**
116
+ * @returns {undefined}
117
+ * @memberof LocusInfo
118
+ */
119
+ isMeetingActive(): void;
120
+ /**
121
+ * checks if the host permissions have changed while in the meeting
122
+ * This would be the case if your role as host or moderator has been updated
123
+ * @returns {undefined}
124
+ * @memberof LocusInfo
125
+ */
126
+ compareAndUpdate(): void;
127
+ /**
128
+ * compared the self object to check if the user has host permissions
129
+ * @returns {undefined}
130
+ * @memberof LocusInfo
131
+ */
132
+ compareSelfAndHost(): void;
133
+ /**
134
+ * Update the deltaParticipants property of this object based on a list of
135
+ * provided participants.
136
+ *
137
+ * @param {Array} [participants] - The participants to update against.
138
+ * @returns {void}
139
+ */
140
+ updateParticipantDeltas(participants?: Array<any>): void;
141
+ /**
142
+ *
143
+ * @param {Object} participants new participants object
144
+ * @param {boolen} deltaParticpantFlag delta event
145
+ * @returns {Array} updatedParticipants
146
+ * @memberof LocusInfo
147
+ */
148
+ updateParticipants(participants: object): void;
149
+ /**
150
+ * @param {Object} controls
151
+ * @returns {undefined}
152
+ * @memberof LocusInfo
153
+ */
154
+ updateControls(controls: object): void;
155
+ /**
156
+ * @param {String} conversationUrl
157
+ * @param {Object} info
158
+ * @returns {undefined}
159
+ * @memberof LocusInfo
160
+ */
161
+ updateConversationUrl(conversationUrl: string, info: any): void;
162
+ /**
163
+ * @param {Object} created
164
+ * @returns {undefined}
165
+ * @memberof LocusInfo
166
+ */
167
+ updateCreated(created: object): void;
168
+ /**
169
+ * @param {Object} services
170
+ * @returns {undefined}
171
+ * @memberof LocusInfo
172
+ */
173
+ updateServices(services: Record<'breakout' | 'record', {
174
+ url: string;
175
+ }>): void;
176
+ /**
177
+ * @param {Object} fullState
178
+ * @returns {undefined}
179
+ * @memberof LocusInfo
180
+ */
181
+ updateFullState(fullState: object): void;
182
+ /**
183
+ * handles when the locus.host is updated
184
+ * @param {Object} host the locus.host property
185
+ * @returns {undefined}
186
+ * @memberof LocusInfo
187
+ * emits internal event locus_info_update_host
188
+ */
189
+ updateHostInfo(host: object): void;
190
+ /**
191
+ * @param {Object} info
192
+ * @param {Object} self
193
+ * @returns {undefined}
194
+ * @memberof LocusInfo
195
+ */
196
+ updateMeetingInfo(info: object, self?: object): void;
197
+ /**
198
+ * @param {Object} embeddedApps
199
+ * @returns {undefined}
200
+ * @memberof LocusInfo
201
+ */
202
+ updateEmbeddedApps(embeddedApps: object): void;
203
+ /**
204
+ * handles when the locus.mediaShares is updated
205
+ * @param {Object} mediaShares the locus.mediaShares property
206
+ * @returns {undefined}
207
+ * @memberof LocusInfo
208
+ * emits internal event locus_info_update_media_shares
209
+ */
210
+ updateMediaShares(mediaShares: object): void;
211
+ /**
212
+ * @param {String} participantsUrl
213
+ * @returns {undefined}
214
+ * @memberof LocusInfo
215
+ */
216
+ updateParticipantsUrl(participantsUrl: string): void;
217
+ /**
218
+ * @param {Object} replace
219
+ * @returns {undefined}
220
+ * @memberof LocusInfo
221
+ */
222
+ updateReplace(replace: object): void;
223
+ /**
224
+ * handles when the locus.self is updated
225
+ * @param {Object} self the locus.mediaShares property
226
+ * @param {Array} participants the locus.participants property
227
+ * @returns {undefined}
228
+ * @memberof LocusInfo
229
+ * emits internal events self_admitted_guest, self_unadmitted_guest, locus_info_update_self
230
+ */
231
+ updateSelf(self: any, participants: Array<any>): void;
232
+ /**
233
+ * handles when the locus.url is updated
234
+ * @param {String} url
235
+ * @returns {undefined}
236
+ * emits internal event locus_info_update_url
237
+ */
238
+ updateLocusUrl(url: string): void;
239
+ /**
240
+ * @param {String} aclUrl
241
+ * @returns {undefined}
242
+ * @memberof LocusInfo
243
+ */
244
+ updateAclUrl(aclUrl: string): void;
245
+ /**
246
+ * @param {Number} baseSequence
247
+ * @returns {undefined}
248
+ * @memberof LocusInfo
249
+ */
250
+ updateBasequence(baseSequence: number): void;
251
+ /**
252
+ * @param {Number} sequence
253
+ * @returns {undefined}
254
+ * @memberof LocusInfo
255
+ */
256
+ updateSequence(sequence: number): void;
257
+ /**
258
+ * @param {Object} membership
259
+ * @returns {undefined}
260
+ * @memberof LocusInfo
261
+ */
262
+ updateMemberShip(membership: object): void;
263
+ /**
264
+ * @param {Array} identities
265
+ * @returns {undefined}
266
+ * @memberof LocusInfo
267
+ */
268
+ updateIdentifiers(identities: Array<any>): void;
269
+ }