@webex/plugin-meetings 3.0.0-beta.28 → 3.0.0-beta.280

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 (363) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +114 -14
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +763 -31
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/request.js +78 -0
  17. package/dist/breakouts/request.js.map +1 -0
  18. package/dist/breakouts/utils.js +67 -0
  19. package/dist/breakouts/utils.js.map +1 -0
  20. package/dist/common/errors/no-meeting-info.js +51 -0
  21. package/dist/common/errors/no-meeting-info.js.map +1 -0
  22. package/dist/common/errors/webex-errors.js +28 -7
  23. package/dist/common/errors/webex-errors.js.map +1 -1
  24. package/dist/common/logs/logger-proxy.js +1 -1
  25. package/dist/common/logs/logger-proxy.js.map +1 -1
  26. package/dist/common/queue.js +24 -9
  27. package/dist/common/queue.js.map +1 -1
  28. package/dist/config.js +5 -10
  29. package/dist/config.js.map +1 -1
  30. package/dist/constants.js +203 -28
  31. package/dist/constants.js.map +1 -1
  32. package/dist/controls-options-manager/enums.js +14 -2
  33. package/dist/controls-options-manager/enums.js.map +1 -1
  34. package/dist/controls-options-manager/index.js +109 -15
  35. package/dist/controls-options-manager/index.js.map +1 -1
  36. package/dist/controls-options-manager/types.js +7 -0
  37. package/dist/controls-options-manager/types.js.map +1 -0
  38. package/dist/controls-options-manager/util.js +309 -18
  39. package/dist/controls-options-manager/util.js.map +1 -1
  40. package/dist/index.js +112 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/interpretation/collection.js +23 -0
  43. package/dist/interpretation/collection.js.map +1 -0
  44. package/dist/interpretation/index.js +366 -0
  45. package/dist/interpretation/index.js.map +1 -0
  46. package/dist/interpretation/siLanguage.js +25 -0
  47. package/dist/interpretation/siLanguage.js.map +1 -0
  48. package/dist/locus-info/controlsUtils.js +91 -2
  49. package/dist/locus-info/controlsUtils.js.map +1 -1
  50. package/dist/locus-info/index.js +383 -62
  51. package/dist/locus-info/index.js.map +1 -1
  52. package/dist/locus-info/infoUtils.js +7 -1
  53. package/dist/locus-info/infoUtils.js.map +1 -1
  54. package/dist/locus-info/mediaSharesUtils.js +57 -1
  55. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  56. package/dist/locus-info/parser.js +249 -72
  57. package/dist/locus-info/parser.js.map +1 -1
  58. package/dist/locus-info/selfUtils.js +89 -14
  59. package/dist/locus-info/selfUtils.js.map +1 -1
  60. package/dist/media/index.js +58 -116
  61. package/dist/media/index.js.map +1 -1
  62. package/dist/media/properties.js +72 -123
  63. package/dist/media/properties.js.map +1 -1
  64. package/dist/meeting/in-meeting-actions.js +82 -2
  65. package/dist/meeting/in-meeting-actions.js.map +1 -1
  66. package/dist/meeting/index.js +3123 -2814
  67. package/dist/meeting/index.js.map +1 -1
  68. package/dist/meeting/locusMediaRequest.js +292 -0
  69. package/dist/meeting/locusMediaRequest.js.map +1 -0
  70. package/dist/meeting/muteState.js +230 -124
  71. package/dist/meeting/muteState.js.map +1 -1
  72. package/dist/meeting/request.js +256 -196
  73. package/dist/meeting/request.js.map +1 -1
  74. package/dist/meeting/util.js +601 -417
  75. package/dist/meeting/util.js.map +1 -1
  76. package/dist/meeting-info/index.js +73 -7
  77. package/dist/meeting-info/index.js.map +1 -1
  78. package/dist/meeting-info/meeting-info-v2.js +192 -51
  79. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  80. package/dist/meeting-info/util.js +1 -1
  81. package/dist/meeting-info/util.js.map +1 -1
  82. package/dist/meeting-info/utilv2.js +36 -36
  83. package/dist/meeting-info/utilv2.js.map +1 -1
  84. package/dist/meetings/collection.js +22 -0
  85. package/dist/meetings/collection.js.map +1 -1
  86. package/dist/meetings/index.js +394 -94
  87. package/dist/meetings/index.js.map +1 -1
  88. package/dist/meetings/meetings.types.js +7 -0
  89. package/dist/meetings/meetings.types.js.map +1 -0
  90. package/dist/meetings/request.js +2 -0
  91. package/dist/meetings/request.js.map +1 -1
  92. package/dist/meetings/util.js +71 -1
  93. package/dist/meetings/util.js.map +1 -1
  94. package/dist/member/index.js +49 -0
  95. package/dist/member/index.js.map +1 -1
  96. package/dist/member/types.js +25 -0
  97. package/dist/member/types.js.map +1 -0
  98. package/dist/member/util.js +121 -25
  99. package/dist/member/util.js.map +1 -1
  100. package/dist/members/collection.js +10 -0
  101. package/dist/members/collection.js.map +1 -1
  102. package/dist/members/index.js +86 -6
  103. package/dist/members/index.js.map +1 -1
  104. package/dist/members/request.js +106 -38
  105. package/dist/members/request.js.map +1 -1
  106. package/dist/members/types.js +15 -0
  107. package/dist/members/types.js.map +1 -0
  108. package/dist/members/util.js +316 -233
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/constants.js +12 -5
  111. package/dist/metrics/constants.js.map +1 -1
  112. package/dist/metrics/index.js +1 -468
  113. package/dist/metrics/index.js.map +1 -1
  114. package/dist/multistream/mediaRequestManager.js +238 -49
  115. package/dist/multistream/mediaRequestManager.js.map +1 -1
  116. package/dist/multistream/receiveSlot.js +40 -16
  117. package/dist/multistream/receiveSlot.js.map +1 -1
  118. package/dist/multistream/receiveSlotManager.js +39 -36
  119. package/dist/multistream/receiveSlotManager.js.map +1 -1
  120. package/dist/multistream/remoteMedia.js +44 -18
  121. package/dist/multistream/remoteMedia.js.map +1 -1
  122. package/dist/multistream/remoteMediaGroup.js +60 -3
  123. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  124. package/dist/multistream/remoteMediaManager.js +209 -59
  125. package/dist/multistream/remoteMediaManager.js.map +1 -1
  126. package/dist/multistream/sendSlotManager.js +233 -0
  127. package/dist/multistream/sendSlotManager.js.map +1 -0
  128. package/dist/reachability/index.js +225 -59
  129. package/dist/reachability/index.js.map +1 -1
  130. package/dist/reachability/request.js +17 -8
  131. package/dist/reachability/request.js.map +1 -1
  132. package/dist/reconnection-manager/index.js +199 -154
  133. package/dist/reconnection-manager/index.js.map +1 -1
  134. package/dist/recording-controller/index.js +21 -2
  135. package/dist/recording-controller/index.js.map +1 -1
  136. package/dist/recording-controller/util.js +9 -8
  137. package/dist/recording-controller/util.js.map +1 -1
  138. package/dist/roap/index.js +23 -29
  139. package/dist/roap/index.js.map +1 -1
  140. package/dist/roap/request.js +112 -97
  141. package/dist/roap/request.js.map +1 -1
  142. package/dist/roap/turnDiscovery.js +96 -36
  143. package/dist/roap/turnDiscovery.js.map +1 -1
  144. package/dist/rtcMetrics/constants.js +12 -0
  145. package/dist/rtcMetrics/constants.js.map +1 -0
  146. package/dist/rtcMetrics/index.js +117 -0
  147. package/dist/rtcMetrics/index.js.map +1 -0
  148. package/dist/statsAnalyzer/index.js +67 -73
  149. package/dist/statsAnalyzer/index.js.map +1 -1
  150. package/dist/statsAnalyzer/mqaUtil.js +11 -10
  151. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  152. package/dist/types/annotation/annotation.types.d.ts +42 -0
  153. package/dist/types/annotation/constants.d.ts +31 -0
  154. package/dist/types/annotation/index.d.ts +117 -0
  155. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  156. package/dist/types/breakouts/events.d.ts +8 -0
  157. package/dist/types/breakouts/request.d.ts +22 -0
  158. package/dist/types/breakouts/utils.d.ts +15 -0
  159. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  160. package/dist/types/common/errors/webex-errors.d.ts +13 -1
  161. package/dist/types/common/queue.d.ts +9 -7
  162. package/dist/types/config.d.ts +1 -6
  163. package/dist/types/constants.d.ts +161 -21
  164. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  165. package/dist/types/controls-options-manager/index.d.ts +17 -1
  166. package/dist/types/controls-options-manager/types.d.ts +43 -0
  167. package/dist/types/controls-options-manager/util.d.ts +1 -7
  168. package/dist/types/index.d.ts +6 -4
  169. package/dist/types/interpretation/collection.d.ts +5 -0
  170. package/dist/types/interpretation/index.d.ts +5 -0
  171. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  172. package/dist/types/locus-info/index.d.ts +57 -4
  173. package/dist/types/locus-info/parser.d.ts +67 -6
  174. package/dist/types/media/index.d.ts +2 -0
  175. package/dist/types/media/properties.d.ts +34 -48
  176. package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
  177. package/dist/types/meeting/index.d.ts +345 -507
  178. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  179. package/dist/types/meeting/muteState.d.ts +99 -23
  180. package/dist/types/meeting/request.d.ts +72 -43
  181. package/dist/types/meeting/util.d.ts +101 -1
  182. package/dist/types/meeting-info/index.d.ts +13 -1
  183. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  184. package/dist/types/meetings/collection.d.ts +8 -0
  185. package/dist/types/meetings/index.d.ts +88 -12
  186. package/dist/types/meetings/meetings.types.d.ts +4 -0
  187. package/dist/types/member/index.d.ts +13 -0
  188. package/dist/types/member/types.d.ts +32 -0
  189. package/dist/types/members/collection.d.ts +5 -0
  190. package/dist/types/members/index.d.ts +35 -2
  191. package/dist/types/members/request.d.ts +73 -9
  192. package/dist/types/members/types.d.ts +24 -0
  193. package/dist/types/members/util.d.ts +209 -1
  194. package/dist/types/metrics/constants.d.ts +11 -4
  195. package/dist/types/metrics/index.d.ts +4 -119
  196. package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
  197. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  198. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  199. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  200. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  201. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  202. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  203. package/dist/types/reachability/index.d.ts +61 -7
  204. package/dist/types/reachability/request.d.ts +7 -3
  205. package/dist/types/reconnection-manager/index.d.ts +9 -0
  206. package/dist/types/recording-controller/index.d.ts +15 -1
  207. package/dist/types/recording-controller/util.d.ts +5 -4
  208. package/dist/types/roap/request.d.ts +15 -11
  209. package/dist/types/roap/turnDiscovery.d.ts +18 -1
  210. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  211. package/dist/types/rtcMetrics/index.d.ts +47 -0
  212. package/dist/types/statsAnalyzer/index.d.ts +6 -1
  213. package/package.json +23 -20
  214. package/src/annotation/annotation.types.ts +50 -0
  215. package/src/annotation/constants.ts +36 -0
  216. package/src/annotation/index.ts +328 -0
  217. package/src/breakouts/README.md +44 -14
  218. package/src/breakouts/breakout.ts +87 -9
  219. package/src/breakouts/edit-lock-error.ts +25 -0
  220. package/src/breakouts/events.ts +56 -0
  221. package/src/breakouts/index.ts +646 -18
  222. package/src/breakouts/request.ts +55 -0
  223. package/src/breakouts/utils.ts +57 -0
  224. package/src/common/errors/no-meeting-info.ts +24 -0
  225. package/src/common/errors/webex-errors.ts +27 -2
  226. package/src/common/logs/logger-proxy.ts +1 -1
  227. package/src/common/queue.ts +22 -8
  228. package/src/config.ts +4 -9
  229. package/src/constants.ts +184 -18
  230. package/src/controls-options-manager/enums.ts +12 -0
  231. package/src/controls-options-manager/index.ts +116 -21
  232. package/src/controls-options-manager/types.ts +59 -0
  233. package/src/controls-options-manager/util.ts +294 -14
  234. package/src/index.ts +40 -0
  235. package/src/interpretation/README.md +60 -0
  236. package/src/interpretation/collection.ts +19 -0
  237. package/src/interpretation/index.ts +332 -0
  238. package/src/interpretation/siLanguage.ts +18 -0
  239. package/src/locus-info/controlsUtils.ts +108 -0
  240. package/src/locus-info/index.ts +413 -59
  241. package/src/locus-info/infoUtils.ts +10 -2
  242. package/src/locus-info/mediaSharesUtils.ts +64 -0
  243. package/src/locus-info/parser.ts +258 -47
  244. package/src/locus-info/selfUtils.ts +81 -5
  245. package/src/media/index.ts +100 -122
  246. package/src/media/properties.ts +85 -108
  247. package/src/meeting/in-meeting-actions.ts +163 -3
  248. package/src/meeting/index.ts +2541 -2309
  249. package/src/meeting/locusMediaRequest.ts +313 -0
  250. package/src/meeting/muteState.ts +229 -131
  251. package/src/meeting/request.ts +172 -121
  252. package/src/meeting/util.ts +588 -394
  253. package/src/meeting-info/index.ts +81 -8
  254. package/src/meeting-info/meeting-info-v2.ts +170 -14
  255. package/src/meeting-info/util.ts +1 -1
  256. package/src/meeting-info/utilv2.ts +23 -23
  257. package/src/meetings/collection.ts +20 -0
  258. package/src/meetings/index.ts +428 -108
  259. package/src/meetings/meetings.types.ts +12 -0
  260. package/src/meetings/request.ts +2 -0
  261. package/src/meetings/util.ts +79 -4
  262. package/src/member/index.ts +49 -0
  263. package/src/member/types.ts +38 -0
  264. package/src/member/util.ts +127 -25
  265. package/src/members/collection.ts +8 -0
  266. package/src/members/index.ts +106 -7
  267. package/src/members/request.ts +97 -17
  268. package/src/members/types.ts +28 -0
  269. package/src/members/util.ts +319 -240
  270. package/src/metrics/constants.ts +11 -4
  271. package/src/metrics/index.ts +1 -490
  272. package/src/multistream/mediaRequestManager.ts +289 -79
  273. package/src/multistream/receiveSlot.ts +47 -17
  274. package/src/multistream/receiveSlotManager.ts +34 -24
  275. package/src/multistream/remoteMedia.ts +27 -2
  276. package/src/multistream/remoteMediaGroup.ts +59 -0
  277. package/src/multistream/remoteMediaManager.ts +148 -30
  278. package/src/multistream/sendSlotManager.ts +170 -0
  279. package/src/reachability/index.ts +228 -37
  280. package/src/reachability/request.ts +17 -8
  281. package/src/reconnection-manager/index.ts +81 -54
  282. package/src/recording-controller/index.ts +20 -3
  283. package/src/recording-controller/util.ts +26 -9
  284. package/src/roap/index.ts +23 -30
  285. package/src/roap/request.ts +100 -104
  286. package/src/roap/turnDiscovery.ts +51 -25
  287. package/src/rtcMetrics/constants.ts +3 -0
  288. package/src/rtcMetrics/index.ts +100 -0
  289. package/src/statsAnalyzer/index.ts +88 -88
  290. package/src/statsAnalyzer/mqaUtil.ts +13 -14
  291. package/test/integration/spec/converged-space-meetings.js +60 -3
  292. package/test/integration/spec/journey.js +320 -261
  293. package/test/integration/spec/space-meeting.js +76 -3
  294. package/test/unit/spec/annotation/index.ts +418 -0
  295. package/test/unit/spec/breakouts/breakout.ts +142 -24
  296. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  297. package/test/unit/spec/breakouts/events.ts +89 -0
  298. package/test/unit/spec/breakouts/index.ts +1488 -67
  299. package/test/unit/spec/breakouts/request.ts +104 -0
  300. package/test/unit/spec/breakouts/utils.js +72 -0
  301. package/test/unit/spec/common/queue.js +31 -2
  302. package/test/unit/spec/controls-options-manager/index.js +163 -0
  303. package/test/unit/spec/controls-options-manager/util.js +576 -60
  304. package/test/unit/spec/fixture/locus.js +1 -0
  305. package/test/unit/spec/interpretation/collection.ts +15 -0
  306. package/test/unit/spec/interpretation/index.ts +589 -0
  307. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  308. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  309. package/test/unit/spec/locus-info/index.js +1304 -33
  310. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  311. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  312. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  313. package/test/unit/spec/locus-info/parser.js +116 -35
  314. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  315. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  316. package/test/unit/spec/media/index.ts +104 -37
  317. package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
  318. package/test/unit/spec/meeting/index.js +4515 -1932
  319. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  320. package/test/unit/spec/meeting/muteState.js +408 -208
  321. package/test/unit/spec/meeting/request.js +440 -45
  322. package/test/unit/spec/meeting/utils.js +679 -64
  323. package/test/unit/spec/meeting-info/index.js +295 -0
  324. package/test/unit/spec/meeting-info/meetinginfov2.js +521 -5
  325. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  326. package/test/unit/spec/meetings/collection.js +14 -0
  327. package/test/unit/spec/meetings/index.js +1007 -177
  328. package/test/unit/spec/meetings/utils.js +206 -2
  329. package/test/unit/spec/member/index.js +58 -4
  330. package/test/unit/spec/member/util.js +479 -35
  331. package/test/unit/spec/members/index.js +319 -1
  332. package/test/unit/spec/members/request.js +206 -27
  333. package/test/unit/spec/members/utils.js +184 -0
  334. package/test/unit/spec/metrics/index.js +1 -50
  335. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  336. package/test/unit/spec/multistream/receiveSlot.ts +43 -20
  337. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  338. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  339. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  340. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  341. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  342. package/test/unit/spec/reachability/index.ts +549 -9
  343. package/test/unit/spec/reachability/request.js +68 -0
  344. package/test/unit/spec/reconnection-manager/index.js +84 -9
  345. package/test/unit/spec/recording-controller/index.js +294 -218
  346. package/test/unit/spec/recording-controller/util.js +223 -96
  347. package/test/unit/spec/roap/index.ts +31 -51
  348. package/test/unit/spec/roap/request.ts +203 -85
  349. package/test/unit/spec/roap/turnDiscovery.ts +48 -13
  350. package/test/unit/spec/rtcMetrics/index.ts +68 -0
  351. package/test/unit/spec/stats-analyzer/index.js +64 -2
  352. package/test/utils/integrationTestUtils.js +46 -0
  353. package/test/utils/testUtils.js +0 -52
  354. package/dist/meeting/effectsState.js +0 -262
  355. package/dist/meeting/effectsState.js.map +0 -1
  356. package/dist/metrics/config.js +0 -299
  357. package/dist/metrics/config.js.map +0 -1
  358. package/dist/types/meeting/effectsState.d.ts +0 -42
  359. package/dist/types/metrics/config.d.ts +0 -178
  360. package/src/index.js +0 -16
  361. package/src/meeting/effectsState.ts +0 -211
  362. package/src/metrics/config.ts +0 -495
  363. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -6,9 +6,14 @@ _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
9
11
  var _webexCore = require("@webex/webex-core");
12
+ var _uuid = _interopRequireDefault(require("uuid"));
10
13
  var _constants = require("../constants");
11
14
  var _members = _interopRequireDefault(require("../members"));
15
+ var _request = _interopRequireDefault(require("./request"));
16
+ var _events = _interopRequireDefault(require("./events"));
12
17
  /*!
13
18
  * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
14
19
  */
@@ -19,6 +24,7 @@ var _members = _interopRequireDefault(require("../members"));
19
24
  var Breakout = _webexCore.WebexPlugin.extend({
20
25
  idAttribute: 'sessionId',
21
26
  namespace: _constants.MEETINGS,
27
+ breakoutRequest: _request.default,
22
28
  props: {
23
29
  active: ['boolean', false, false],
24
30
  // this session is active
@@ -36,11 +42,14 @@ var Breakout = _webexCore.WebexPlugin.extend({
36
42
  sessionId: 'string',
37
43
  sessionType: 'string',
38
44
  groupId: 'string',
39
- url: 'string' // where to send requests to
45
+ url: 'string',
46
+ // where to send requests to
47
+ requestedLastModifiedTime: 'string'
40
48
  },
41
-
42
49
  derived: {
43
50
  isMain: {
51
+ cache: false,
52
+ // fix issue: sometimes the derived will not change even if the deps changed
44
53
  deps: ['sessionType'],
45
54
  /**
46
55
  * If the breakout has no name, assume it is the main session
@@ -51,24 +60,66 @@ var Breakout = _webexCore.WebexPlugin.extend({
51
60
  }
52
61
  }
53
62
  },
63
+ /**
64
+ * initializer for the Breakout class
65
+ * @returns {void}
66
+ */
54
67
  initialize: function initialize() {
55
- this.members = new _members.default({}, {
56
- parent: this.webex
68
+ // @ts-ignore
69
+ this.breakoutRequest = new _request.default({
70
+ webex: this.webex
57
71
  });
72
+ this.breakoutRosterLocus = null;
58
73
  },
59
74
  /**
60
75
  * Joins the breakout session
61
76
  * @returns {Promise}
62
77
  */
63
78
  join: function join() {
64
- return this.request({
65
- method: _constants.HTTP_VERBS.POST,
66
- uri: "".concat(this.url, "/move"),
67
- body: {
68
- groupId: this.groupId,
69
- sessionId: this.sessionId
70
- }
71
- });
79
+ var _this = this;
80
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
81
+ var breakoutMoveId, deviceUrl, meetingId, meeting, result;
82
+ return _regenerator.default.wrap(function _callee$(_context) {
83
+ while (1) switch (_context.prev = _context.next) {
84
+ case 0:
85
+ breakoutMoveId = _uuid.default.v4();
86
+ deviceUrl = _this.webex.internal.device.url;
87
+ meetingId = _this.collection.parent.meetingId;
88
+ meeting = _this.webex.meetings.getMeetingByType(_constants._ID_, meetingId);
89
+ _events.default.onBreakoutMoveRequest({
90
+ currentSession: _this,
91
+ meeting: meeting,
92
+ breakoutMoveId: breakoutMoveId
93
+ },
94
+ // @ts-ignore
95
+ _this.webex.internal.newMetrics.submitClientEvent.bind(_this.webex.internal.newMetrics));
96
+ _context.next = 7;
97
+ return _this.request({
98
+ method: _constants.HTTP_VERBS.POST,
99
+ uri: "".concat(_this.url, "/move"),
100
+ body: {
101
+ breakoutMoveId: breakoutMoveId,
102
+ deviceUrl: deviceUrl,
103
+ groupId: _this.groupId,
104
+ sessionId: _this.sessionId
105
+ }
106
+ });
107
+ case 7:
108
+ result = _context.sent;
109
+ _events.default.onBreakoutMoveResponse({
110
+ currentSession: _this,
111
+ meeting: meeting,
112
+ breakoutMoveId: breakoutMoveId
113
+ },
114
+ // @ts-ignore
115
+ _this.webex.internal.newMetrics.submitClientEvent.bind(_this.webex.internal.newMetrics));
116
+ return _context.abrupt("return", result);
117
+ case 10:
118
+ case "end":
119
+ return _context.stop();
120
+ }
121
+ }, _callee);
122
+ }))();
72
123
  },
73
124
  /**
74
125
  * Leaves the breakout session to return to the main session
@@ -101,15 +152,64 @@ var Breakout = _webexCore.WebexPlugin.extend({
101
152
  }
102
153
  });
103
154
  },
155
+ /**
156
+ * inits the members object
157
+ * @returns {void}
158
+ */
159
+ initMembers: function initMembers() {
160
+ var meetingId = this.collection.parent.meetingId;
161
+ var meeting = this.webex.meetings.getMeetingByType(_constants._ID_, meetingId);
162
+ this.members = new _members.default({
163
+ meeting: meeting
164
+ }, {
165
+ parent: this.webex
166
+ });
167
+ },
168
+ /**
169
+ * check sequence and determine whether to update the new roster or not
170
+ * @param {Object} locus Locus object
171
+ * @returns {Boolean}
172
+ */
173
+ isNeedHandleRoster: function isNeedHandleRoster(locus) {
174
+ var _this$breakoutRosterL, _this$breakoutRosterL2, _this$breakoutRosterL3, _locus$sequence, _locus$sequence$entri;
175
+ if (!((_this$breakoutRosterL = this.breakoutRosterLocus) !== null && _this$breakoutRosterL !== void 0 && (_this$breakoutRosterL2 = _this$breakoutRosterL.sequence) !== null && _this$breakoutRosterL2 !== void 0 && (_this$breakoutRosterL3 = _this$breakoutRosterL2.entries) !== null && _this$breakoutRosterL3 !== void 0 && _this$breakoutRosterL3.length) || !(locus !== null && locus !== void 0 && (_locus$sequence = locus.sequence) !== null && _locus$sequence !== void 0 && (_locus$sequence$entri = _locus$sequence.entries) !== null && _locus$sequence$entri !== void 0 && _locus$sequence$entri.length)) {
176
+ return true;
177
+ }
178
+ var prevSequence = this.breakoutRosterLocus.sequence.entries[0];
179
+ var currentSequence = locus.sequence.entries[0];
180
+ return currentSequence > prevSequence;
181
+ },
104
182
  /**
105
183
  * Parses the participants from the locus object
106
- * @param locus Locus object
184
+ * @param {Object} locus Locus object
107
185
  * @returns {void}
108
186
  */
109
187
  parseRoster: function parseRoster(locus) {
188
+ if (!this.members) {
189
+ this.initMembers();
190
+ }
191
+ if (!this.isNeedHandleRoster(locus)) {
192
+ return;
193
+ }
194
+ this.breakoutRosterLocus = locus;
110
195
  this.members.locusParticipantsUpdate(locus);
111
196
  },
112
- version: "3.0.0-beta.28"
197
+ /**
198
+ * Broadcast message to this breakout session's participants
199
+ * @param {String} message
200
+ * @param {Object} options
201
+ * @returns {Promise}
202
+ */
203
+ broadcast: function broadcast(message, options) {
204
+ return this.breakoutRequest.broadcast({
205
+ url: this.url,
206
+ message: message,
207
+ options: options,
208
+ groupId: this.groupId,
209
+ sessionId: this.sessionId
210
+ });
211
+ },
212
+ version: "3.0.0-beta.280"
113
213
  });
114
214
  var _default = Breakout;
115
215
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","derived","isMain","deps","fn","initialize","members","Members","parent","webex","join","request","method","HTTP_VERBS","POST","uri","body","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","parseRoster","locus","locusParticipantsUpdate"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport {HTTP_VERBS, MEETINGS} from '../constants';\nimport LocusInfo from '../locus-info';\nimport Members from '../members';\n\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n },\n\n derived: {\n isMain: {\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n\n initialize() {\n this.members = new Members({}, {parent: this.webex});\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n join() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * Parses the participants from the locus object\n * @param locus Locus object\n * @returns {void}\n */\n\n parseRoster(locus) {\n this.members.locusParticipantsUpdate(locus);\n },\n});\n\nexport default Breakout;\n"],"mappings":";;;;;;;;AAIA;AAEA;AAEA;AARA;AACA;AACA;;AAQA;AACA;AACA;AACA,IAAMA,QAAQ,GAAGC,sBAAW,CAACC,MAAM,CAAC;EAClCC,WAAW,EAAE,WAAW;EAExBC,SAAS,EAAEC,mBAAQ;EAEnBC,KAAK,EAAE;IACLC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACnCC,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACpCC,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACrCC,eAAe,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IAC5CC,SAAS,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACtCC,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACpCC,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,QAAQ;IACnBC,WAAW,EAAE,QAAQ;IACrBC,OAAO,EAAE,QAAQ;IACjBC,GAAG,EAAE,QAAQ,CAAE;EACjB,CAAC;;EAEDC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,IAAI,EAAE,CAAC,aAAa,CAAC;MACrB;AACN;AACA;AACA;MACMC,EAAE,gBAAG;QACH,OAAO,IAAI,CAACN,WAAW,KAAK,MAAM;MACpC;IACF;EACF,CAAC;EAEDO,UAAU,wBAAG;IACX,IAAI,CAACC,OAAO,GAAG,IAAIC,gBAAO,CAAC,CAAC,CAAC,EAAE;MAACC,MAAM,EAAE,IAAI,CAACC;IAAK,CAAC,CAAC;EACtD,CAAC;EAED;AACF;AACA;AACA;EACEC,IAAI,kBAAG;IACL,OAAO,IAAI,CAACC,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;MACvBC,GAAG,YAAK,IAAI,CAACf,GAAG,UAAO;MACvBgB,IAAI,EAAE;QACJjB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBF,SAAS,EAAE,IAAI,CAACA;MAClB;IACF,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACEoB,KAAK,mBAAG;IACN,IAAI,IAAI,CAACf,MAAM,EAAE;MACf,MAAM,IAAIgB,KAAK,CAAC,+BAA+B,CAAC;IAClD;IAEA,IAAMC,WAAW,GAAG,IAAI,CAACX,MAAM,CAACY,SAAS,CAACC,MAAM,CAAC,UAACC,QAAQ;MAAA,OAAKA,QAAQ,CAACpB,MAAM;IAAA,EAAC,CAAC,CAAC,CAAC;IAElF,IAAI,CAACiB,WAAW,EAAE;MAChB,MAAM,IAAID,KAAK,CAAC,qCAAqC,CAAC;IACxD;IAEA,OAAOC,WAAW,CAACT,IAAI,EAAE;EAC3B,CAAC;EAED;AACF;AACA;AACA;EACEa,UAAU,wBAAG;IACX,OAAO,IAAI,CAACZ,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;MACvBC,GAAG,YAAK,IAAI,CAACf,GAAG,UAAO;MACvBgB,IAAI,EAAE;QACJjB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBF,SAAS,EAAE,IAAI,CAACA;MAClB;IACF,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EAEE2B,WAAW,uBAACC,KAAK,EAAE;IACjB,IAAI,CAACnB,OAAO,CAACoB,uBAAuB,CAACD,KAAK,CAAC;EAC7C,CAAC;EAAA;AACH,CAAC,CAAC;AAAC,eAEY1C,QAAQ;AAAA"}
1
+ {"version":3,"names":["Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","requestedLastModifiedTime","derived","isMain","cache","deps","fn","initialize","webex","breakoutRosterLocus","join","breakoutMoveId","uuid","v4","deviceUrl","internal","device","meetingId","collection","parent","meeting","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutMoveRequest","currentSession","newMetrics","submitClientEvent","bind","request","method","HTTP_VERBS","POST","uri","body","result","onBreakoutMoveResponse","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","initMembers","members","Members","isNeedHandleRoster","locus","sequence","entries","length","prevSequence","currentSequence","parseRoster","locusParticipantsUpdate","broadcast","message","options"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport uuid from 'uuid';\nimport {_ID_, HTTP_VERBS, MEETINGS} from '../constants';\nimport Members from '../members';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n requestedLastModifiedTime: 'string',\n },\n\n derived: {\n isMain: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n /**\n * initializer for the Breakout class\n * @returns {void}\n */\n initialize() {\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n this.breakoutRosterLocus = null;\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n async join() {\n const breakoutMoveId = uuid.v4();\n const deviceUrl = this.webex.internal.device.url;\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n breakoutEvent.onBreakoutMoveRequest(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n const result = await this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n breakoutMoveId,\n deviceUrl,\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n breakoutEvent.onBreakoutMoveResponse(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n\n return result;\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * inits the members object\n * @returns {void}\n */\n initMembers() {\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n this.members = new Members(\n {\n meeting,\n },\n {parent: this.webex}\n );\n },\n\n /**\n * check sequence and determine whether to update the new roster or not\n * @param {Object} locus Locus object\n * @returns {Boolean}\n */\n isNeedHandleRoster(locus: any) {\n if (!this.breakoutRosterLocus?.sequence?.entries?.length || !locus?.sequence?.entries?.length) {\n return true;\n }\n const prevSequence = this.breakoutRosterLocus.sequence.entries[0];\n const currentSequence = locus.sequence.entries[0];\n\n return currentSequence > prevSequence;\n },\n /**\n * Parses the participants from the locus object\n * @param {Object} locus Locus object\n * @returns {void}\n */\n parseRoster(locus) {\n if (!this.members) {\n this.initMembers();\n }\n if (!this.isNeedHandleRoster(locus)) {\n return;\n }\n this.breakoutRosterLocus = locus;\n this.members.locusParticipantsUpdate(locus);\n },\n\n /**\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
+ _Object$defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = void 0;
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
12
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
16
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapNativeSuper"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
+ var _constants = require("../constants");
19
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
20
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
+ /**
22
+ * Extended Error object to signify breakout related errors
23
+ */
24
+ var BreakoutEditLockedError = /*#__PURE__*/function (_Error) {
25
+ (0, _inherits2.default)(BreakoutEditLockedError, _Error);
26
+ var _super = _createSuper(BreakoutEditLockedError);
27
+ /**
28
+ *
29
+ * @constructor
30
+ * @param {String} [message]
31
+ * @param {Object} [error]
32
+ */
33
+ function BreakoutEditLockedError() {
34
+ var _this;
35
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE;
36
+ var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
37
+ (0, _classCallCheck2.default)(this, BreakoutEditLockedError);
38
+ _this = _super.call(this, message);
39
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "code", void 0);
40
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "error", void 0);
41
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkMessage", void 0);
42
+ _this.name = _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.NAME;
43
+ _this.sdkMessage = _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE;
44
+ _this.error = error;
45
+ _this.stack = error ? error.stack : new Error().stack;
46
+ _this.code = _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.CODE;
47
+ return _this;
48
+ }
49
+ return (0, _createClass2.default)(BreakoutEditLockedError);
50
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
51
+ exports.default = BreakoutEditLockedError;
52
+ //# sourceMappingURL=edit-lock-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BreakoutEditLockedError","message","ERROR_DICTIONARY","BREAKOUT_EDIT","MESSAGE","error","name","NAME","sdkMessage","stack","Error","code","CODE"],"sources":["edit-lock-error.ts"],"sourcesContent":["import {ERROR_DICTIONARY} from '../constants';\n\n/**\n * Extended Error object to signify breakout related errors\n */\nexport default class BreakoutEditLockedError extends Error {\n code: any;\n error: any;\n sdkMessage: any;\n\n /**\n *\n * @constructor\n * @param {String} [message]\n * @param {Object} [error]\n */\n constructor(message: string = ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE, error: any = null) {\n super(message);\n this.name = ERROR_DICTIONARY.BREAKOUT_EDIT.NAME;\n this.sdkMessage = ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE;\n this.error = error;\n this.stack = error ? error.stack : new Error().stack;\n this.code = ERROR_DICTIONARY.BREAKOUT_EDIT.CODE;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAA8C;AAAA;AAE9C;AACA;AACA;AAFA,IAGqBA,uBAAuB;EAAA;EAAA;EAK1C;AACF;AACA;AACA;AACA;AACA;EACE,mCAAyF;IAAA;IAAA,IAA7EC,OAAe,uEAAGC,2BAAgB,CAACC,aAAa,CAACC,OAAO;IAAA,IAAEC,KAAU,uEAAG,IAAI;IAAA;IACrF,0BAAMJ,OAAO;IAAE;IAAA;IAAA;IACf,MAAKK,IAAI,GAAGJ,2BAAgB,CAACC,aAAa,CAACI,IAAI;IAC/C,MAAKC,UAAU,GAAGN,2BAAgB,CAACC,aAAa,CAACC,OAAO;IACxD,MAAKC,KAAK,GAAGA,KAAK;IAClB,MAAKI,KAAK,GAAGJ,KAAK,GAAGA,KAAK,CAACI,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK;IACpD,MAAKE,IAAI,GAAGT,2BAAgB,CAACC,aAAa,CAACS,IAAI;IAAC;EAClD;EAAC;AAAA,+CAlBkDF,KAAK;AAAA"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ // eslint-disable-next-line import/prefer-default-export
9
+
10
+ var breakoutEvent = {
11
+ onBreakoutMoveRequest: function onBreakoutMoveRequest(eventInfo, submitClientEvent) {
12
+ breakoutEvent.postMoveCallAnalyzer('client.breakout-session.move.request', eventInfo, submitClientEvent);
13
+ },
14
+ onBreakoutMoveResponse: function onBreakoutMoveResponse(eventInfo, submitClientEvent) {
15
+ breakoutEvent.postMoveCallAnalyzer('client.breakout-session.move.response', eventInfo, submitClientEvent);
16
+ },
17
+ onBreakoutJoinResponse: function onBreakoutJoinResponse(eventInfo, submitClientEvent) {
18
+ breakoutEvent.postMoveCallAnalyzer('client.breakout-session.join.response', eventInfo, submitClientEvent);
19
+ },
20
+ postMoveCallAnalyzer: function postMoveCallAnalyzer(event, eventInfo, submitClientEvent) {
21
+ var _eventInfo$meeting$me, _eventInfo$currentSes, _eventInfo$currentSes2;
22
+ if (!(eventInfo !== null && eventInfo !== void 0 && eventInfo.breakoutMoveId) || !(eventInfo !== null && eventInfo !== void 0 && eventInfo.meeting)) {
23
+ return;
24
+ }
25
+ if (!((_eventInfo$meeting$me = eventInfo.meeting.meetingInfo) !== null && _eventInfo$meeting$me !== void 0 && _eventInfo$meeting$me.enableConvergedArchitecture)) {
26
+ return;
27
+ }
28
+ submitClientEvent({
29
+ name: event,
30
+ payload: {
31
+ identifiers: {
32
+ breakoutMoveId: eventInfo.breakoutMoveId,
33
+ breakoutSessionId: eventInfo === null || eventInfo === void 0 ? void 0 : (_eventInfo$currentSes = eventInfo.currentSession) === null || _eventInfo$currentSes === void 0 ? void 0 : _eventInfo$currentSes.sessionId,
34
+ breakoutGroupId: eventInfo === null || eventInfo === void 0 ? void 0 : (_eventInfo$currentSes2 = eventInfo.currentSession) === null || _eventInfo$currentSes2 === void 0 ? void 0 : _eventInfo$currentSes2.groupId
35
+ }
36
+ },
37
+ options: {
38
+ meetingId: eventInfo.meeting.id
39
+ }
40
+ });
41
+ }
42
+ };
43
+ var _default = breakoutEvent;
44
+ exports.default = _default;
45
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["breakoutEvent","onBreakoutMoveRequest","eventInfo","submitClientEvent","postMoveCallAnalyzer","onBreakoutMoveResponse","onBreakoutJoinResponse","event","breakoutMoveId","meeting","meetingInfo","enableConvergedArchitecture","name","payload","identifiers","breakoutSessionId","currentSession","sessionId","breakoutGroupId","groupId","options","meetingId","id"],"sources":["events.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nimport {ClientEvent} from '@webex/internal-plugin-metrics';\n\nconst breakoutEvent: {\n onBreakoutMoveRequest: (eventInfo: any, submitClientEvent: any) => void;\n onBreakoutMoveResponse: (eventInfo: any, submitClientEvent: any) => void;\n onBreakoutJoinResponse: (eventInfo: any, submitClientEvent: any) => void;\n postMoveCallAnalyzer: (\n event: ClientEvent['name'],\n eventInfo: any,\n submitClientEvent: any\n ) => void;\n} = {\n onBreakoutMoveRequest: (eventInfo, submitClientEvent) => {\n breakoutEvent.postMoveCallAnalyzer(\n 'client.breakout-session.move.request',\n eventInfo,\n submitClientEvent\n );\n },\n onBreakoutMoveResponse: (eventInfo, submitClientEvent) => {\n breakoutEvent.postMoveCallAnalyzer(\n 'client.breakout-session.move.response',\n eventInfo,\n submitClientEvent\n );\n },\n onBreakoutJoinResponse: (eventInfo, submitClientEvent) => {\n breakoutEvent.postMoveCallAnalyzer(\n 'client.breakout-session.join.response',\n eventInfo,\n submitClientEvent\n );\n },\n postMoveCallAnalyzer: (event: ClientEvent['name'], eventInfo: any, submitClientEvent) => {\n if (!eventInfo?.breakoutMoveId || !eventInfo?.meeting) {\n return;\n }\n if (!eventInfo.meeting.meetingInfo?.enableConvergedArchitecture) {\n return;\n }\n submitClientEvent({\n name: event,\n payload: {\n identifiers: {\n breakoutMoveId: eventInfo.breakoutMoveId,\n breakoutSessionId: eventInfo?.currentSession?.sessionId,\n breakoutGroupId: eventInfo?.currentSession?.groupId,\n },\n },\n options: {meetingId: eventInfo.meeting.id},\n });\n },\n};\n\nexport default breakoutEvent;\n"],"mappings":";;;;;;;AAAA;;AAGA,IAAMA,aASL,GAAG;EACFC,qBAAqB,EAAE,+BAACC,SAAS,EAAEC,iBAAiB,EAAK;IACvDH,aAAa,CAACI,oBAAoB,CAChC,sCAAsC,EACtCF,SAAS,EACTC,iBAAiB,CAClB;EACH,CAAC;EACDE,sBAAsB,EAAE,gCAACH,SAAS,EAAEC,iBAAiB,EAAK;IACxDH,aAAa,CAACI,oBAAoB,CAChC,uCAAuC,EACvCF,SAAS,EACTC,iBAAiB,CAClB;EACH,CAAC;EACDG,sBAAsB,EAAE,gCAACJ,SAAS,EAAEC,iBAAiB,EAAK;IACxDH,aAAa,CAACI,oBAAoB,CAChC,uCAAuC,EACvCF,SAAS,EACTC,iBAAiB,CAClB;EACH,CAAC;EACDC,oBAAoB,EAAE,8BAACG,KAA0B,EAAEL,SAAc,EAAEC,iBAAiB,EAAK;IAAA;IACvF,IAAI,EAACD,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEM,cAAc,KAAI,EAACN,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEO,OAAO,GAAE;MACrD;IACF;IACA,IAAI,2BAACP,SAAS,CAACO,OAAO,CAACC,WAAW,kDAA7B,sBAA+BC,2BAA2B,GAAE;MAC/D;IACF;IACAR,iBAAiB,CAAC;MAChBS,IAAI,EAAEL,KAAK;MACXM,OAAO,EAAE;QACPC,WAAW,EAAE;UACXN,cAAc,EAAEN,SAAS,CAACM,cAAc;UACxCO,iBAAiB,EAAEb,SAAS,aAATA,SAAS,gDAATA,SAAS,CAAEc,cAAc,0DAAzB,sBAA2BC,SAAS;UACvDC,eAAe,EAAEhB,SAAS,aAATA,SAAS,iDAATA,SAAS,CAAEc,cAAc,2DAAzB,uBAA2BG;QAC9C;MACF,CAAC;MACDC,OAAO,EAAE;QAACC,SAAS,EAAEnB,SAAS,CAACO,OAAO,CAACa;MAAE;IAC3C,CAAC,CAAC;EACJ;AACF,CAAC;AAAC,eAEatB,aAAa;AAAA"}