@webex/plugin-meetings 3.0.0-beta.31 → 3.0.0-beta.310

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 (378) 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 +94 -15
  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 +709 -35
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/utils.js +45 -1
  17. package/dist/breakouts/utils.js.map +1 -1
  18. package/dist/common/errors/no-meeting-info.js +51 -0
  19. package/dist/common/errors/no-meeting-info.js.map +1 -0
  20. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  21. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  22. package/dist/common/errors/webex-errors.js +48 -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/logs/request.js +5 -1
  27. package/dist/common/logs/request.js.map +1 -1
  28. package/dist/common/queue.js +24 -9
  29. package/dist/common/queue.js.map +1 -1
  30. package/dist/config.js +5 -11
  31. package/dist/config.js.map +1 -1
  32. package/dist/constants.js +233 -29
  33. package/dist/constants.js.map +1 -1
  34. package/dist/controls-options-manager/enums.js +14 -2
  35. package/dist/controls-options-manager/enums.js.map +1 -1
  36. package/dist/controls-options-manager/index.js +109 -15
  37. package/dist/controls-options-manager/index.js.map +1 -1
  38. package/dist/controls-options-manager/types.js +7 -0
  39. package/dist/controls-options-manager/types.js.map +1 -0
  40. package/dist/controls-options-manager/util.js +309 -18
  41. package/dist/controls-options-manager/util.js.map +1 -1
  42. package/dist/index.js +112 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/interpretation/collection.js +23 -0
  45. package/dist/interpretation/collection.js.map +1 -0
  46. package/dist/interpretation/index.js +366 -0
  47. package/dist/interpretation/index.js.map +1 -0
  48. package/dist/interpretation/siLanguage.js +25 -0
  49. package/dist/interpretation/siLanguage.js.map +1 -0
  50. package/dist/locus-info/controlsUtils.js +91 -2
  51. package/dist/locus-info/controlsUtils.js.map +1 -1
  52. package/dist/locus-info/index.js +383 -62
  53. package/dist/locus-info/index.js.map +1 -1
  54. package/dist/locus-info/infoUtils.js +7 -1
  55. package/dist/locus-info/infoUtils.js.map +1 -1
  56. package/dist/locus-info/mediaSharesUtils.js +57 -1
  57. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  58. package/dist/locus-info/parser.js +249 -72
  59. package/dist/locus-info/parser.js.map +1 -1
  60. package/dist/locus-info/selfUtils.js +89 -14
  61. package/dist/locus-info/selfUtils.js.map +1 -1
  62. package/dist/media/index.js +61 -116
  63. package/dist/media/index.js.map +1 -1
  64. package/dist/media/properties.js +73 -124
  65. package/dist/media/properties.js.map +1 -1
  66. package/dist/meeting/in-meeting-actions.js +82 -2
  67. package/dist/meeting/in-meeting-actions.js.map +1 -1
  68. package/dist/meeting/index.js +3777 -2929
  69. package/dist/meeting/index.js.map +1 -1
  70. package/dist/meeting/locusMediaRequest.js +292 -0
  71. package/dist/meeting/locusMediaRequest.js.map +1 -0
  72. package/dist/meeting/muteState.js +230 -124
  73. package/dist/meeting/muteState.js.map +1 -1
  74. package/dist/meeting/request.js +260 -196
  75. package/dist/meeting/request.js.map +1 -1
  76. package/dist/meeting/util.js +601 -417
  77. package/dist/meeting/util.js.map +1 -1
  78. package/dist/meeting-info/index.js +73 -7
  79. package/dist/meeting-info/index.js.map +1 -1
  80. package/dist/meeting-info/meeting-info-v2.js +192 -51
  81. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  82. package/dist/meeting-info/util.js +1 -1
  83. package/dist/meeting-info/util.js.map +1 -1
  84. package/dist/meeting-info/utilv2.js +36 -36
  85. package/dist/meeting-info/utilv2.js.map +1 -1
  86. package/dist/meetings/collection.js +39 -0
  87. package/dist/meetings/collection.js.map +1 -1
  88. package/dist/meetings/index.js +415 -115
  89. package/dist/meetings/index.js.map +1 -1
  90. package/dist/meetings/meetings.types.js +7 -0
  91. package/dist/meetings/meetings.types.js.map +1 -0
  92. package/dist/meetings/request.js +2 -0
  93. package/dist/meetings/request.js.map +1 -1
  94. package/dist/meetings/util.js +72 -6
  95. package/dist/meetings/util.js.map +1 -1
  96. package/dist/member/index.js +58 -0
  97. package/dist/member/index.js.map +1 -1
  98. package/dist/member/types.js +25 -0
  99. package/dist/member/types.js.map +1 -0
  100. package/dist/member/util.js +132 -25
  101. package/dist/member/util.js.map +1 -1
  102. package/dist/members/collection.js +10 -0
  103. package/dist/members/collection.js.map +1 -1
  104. package/dist/members/index.js +102 -6
  105. package/dist/members/index.js.map +1 -1
  106. package/dist/members/request.js +106 -38
  107. package/dist/members/request.js.map +1 -1
  108. package/dist/members/types.js +15 -0
  109. package/dist/members/types.js.map +1 -0
  110. package/dist/members/util.js +326 -232
  111. package/dist/members/util.js.map +1 -1
  112. package/dist/metrics/constants.js +13 -5
  113. package/dist/metrics/constants.js.map +1 -1
  114. package/dist/metrics/index.js +1 -468
  115. package/dist/metrics/index.js.map +1 -1
  116. package/dist/multistream/mediaRequestManager.js +238 -49
  117. package/dist/multistream/mediaRequestManager.js.map +1 -1
  118. package/dist/multistream/receiveSlot.js +29 -16
  119. package/dist/multistream/receiveSlot.js.map +1 -1
  120. package/dist/multistream/receiveSlotManager.js +39 -36
  121. package/dist/multistream/receiveSlotManager.js.map +1 -1
  122. package/dist/multistream/remoteMedia.js +44 -18
  123. package/dist/multistream/remoteMedia.js.map +1 -1
  124. package/dist/multistream/remoteMediaGroup.js +60 -3
  125. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  126. package/dist/multistream/remoteMediaManager.js +209 -59
  127. package/dist/multistream/remoteMediaManager.js.map +1 -1
  128. package/dist/multistream/sendSlotManager.js +233 -0
  129. package/dist/multistream/sendSlotManager.js.map +1 -0
  130. package/dist/reachability/index.js +225 -59
  131. package/dist/reachability/index.js.map +1 -1
  132. package/dist/reachability/request.js +17 -8
  133. package/dist/reachability/request.js.map +1 -1
  134. package/dist/reconnection-manager/index.js +201 -156
  135. package/dist/reconnection-manager/index.js.map +1 -1
  136. package/dist/recording-controller/index.js +21 -2
  137. package/dist/recording-controller/index.js.map +1 -1
  138. package/dist/recording-controller/util.js +9 -8
  139. package/dist/recording-controller/util.js.map +1 -1
  140. package/dist/roap/index.js +62 -32
  141. package/dist/roap/index.js.map +1 -1
  142. package/dist/roap/request.js +112 -97
  143. package/dist/roap/request.js.map +1 -1
  144. package/dist/roap/turnDiscovery.js +95 -36
  145. package/dist/roap/turnDiscovery.js.map +1 -1
  146. package/dist/rtcMetrics/constants.js +12 -0
  147. package/dist/rtcMetrics/constants.js.map +1 -0
  148. package/dist/rtcMetrics/index.js +117 -0
  149. package/dist/rtcMetrics/index.js.map +1 -0
  150. package/dist/statsAnalyzer/index.js +86 -78
  151. package/dist/statsAnalyzer/index.js.map +1 -1
  152. package/dist/statsAnalyzer/mqaUtil.js +11 -10
  153. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  154. package/dist/types/annotation/annotation.types.d.ts +42 -0
  155. package/dist/types/annotation/constants.d.ts +31 -0
  156. package/dist/types/annotation/index.d.ts +117 -0
  157. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  158. package/dist/types/breakouts/events.d.ts +8 -0
  159. package/dist/types/breakouts/utils.d.ts +14 -0
  160. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  161. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  162. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  163. package/dist/types/common/logs/request.d.ts +2 -0
  164. package/dist/types/common/queue.d.ts +9 -7
  165. package/dist/types/config.d.ts +1 -7
  166. package/dist/types/constants.d.ts +194 -24
  167. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  168. package/dist/types/controls-options-manager/index.d.ts +17 -1
  169. package/dist/types/controls-options-manager/types.d.ts +43 -0
  170. package/dist/types/controls-options-manager/util.d.ts +1 -7
  171. package/dist/types/index.d.ts +6 -4
  172. package/dist/types/interpretation/collection.d.ts +5 -0
  173. package/dist/types/interpretation/index.d.ts +5 -0
  174. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  175. package/dist/types/locus-info/index.d.ts +57 -4
  176. package/dist/types/locus-info/parser.d.ts +67 -6
  177. package/dist/types/media/index.d.ts +2 -0
  178. package/dist/types/media/properties.d.ts +34 -48
  179. package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
  180. package/dist/types/meeting/index.d.ts +463 -510
  181. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  182. package/dist/types/meeting/muteState.d.ts +99 -23
  183. package/dist/types/meeting/request.d.ts +72 -43
  184. package/dist/types/meeting/util.d.ts +101 -1
  185. package/dist/types/meeting-info/index.d.ts +13 -1
  186. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  187. package/dist/types/meetings/collection.d.ts +17 -0
  188. package/dist/types/meetings/index.d.ts +98 -20
  189. package/dist/types/meetings/meetings.types.d.ts +4 -0
  190. package/dist/types/member/index.d.ts +14 -0
  191. package/dist/types/member/types.d.ts +32 -0
  192. package/dist/types/members/collection.d.ts +5 -0
  193. package/dist/types/members/index.d.ts +35 -2
  194. package/dist/types/members/request.d.ts +73 -9
  195. package/dist/types/members/types.d.ts +25 -0
  196. package/dist/types/members/util.d.ts +214 -1
  197. package/dist/types/metrics/constants.d.ts +12 -4
  198. package/dist/types/metrics/index.d.ts +4 -119
  199. package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
  200. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  201. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  202. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  203. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  204. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  205. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  206. package/dist/types/reachability/index.d.ts +61 -7
  207. package/dist/types/reachability/request.d.ts +7 -3
  208. package/dist/types/reconnection-manager/index.d.ts +9 -0
  209. package/dist/types/recording-controller/index.d.ts +15 -1
  210. package/dist/types/recording-controller/util.d.ts +5 -4
  211. package/dist/types/roap/index.d.ts +2 -1
  212. package/dist/types/roap/request.d.ts +15 -11
  213. package/dist/types/roap/turnDiscovery.d.ts +21 -3
  214. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  215. package/dist/types/rtcMetrics/index.d.ts +47 -0
  216. package/dist/types/statsAnalyzer/index.d.ts +7 -1
  217. package/dist/types/webinar/collection.d.ts +16 -0
  218. package/dist/types/webinar/index.d.ts +5 -0
  219. package/dist/webinar/collection.js +44 -0
  220. package/dist/webinar/collection.js.map +1 -0
  221. package/dist/webinar/index.js +69 -0
  222. package/dist/webinar/index.js.map +1 -0
  223. package/package.json +23 -20
  224. package/src/annotation/annotation.types.ts +50 -0
  225. package/src/annotation/constants.ts +36 -0
  226. package/src/annotation/index.ts +328 -0
  227. package/src/breakouts/README.md +42 -12
  228. package/src/breakouts/breakout.ts +67 -9
  229. package/src/breakouts/edit-lock-error.ts +25 -0
  230. package/src/breakouts/events.ts +56 -0
  231. package/src/breakouts/index.ts +592 -20
  232. package/src/breakouts/utils.ts +42 -0
  233. package/src/common/errors/no-meeting-info.ts +24 -0
  234. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  235. package/src/common/errors/webex-errors.ts +44 -2
  236. package/src/common/logs/logger-proxy.ts +1 -1
  237. package/src/common/logs/request.ts +5 -1
  238. package/src/common/queue.ts +22 -8
  239. package/src/config.ts +4 -10
  240. package/src/constants.ts +221 -19
  241. package/src/controls-options-manager/enums.ts +12 -0
  242. package/src/controls-options-manager/index.ts +116 -21
  243. package/src/controls-options-manager/types.ts +59 -0
  244. package/src/controls-options-manager/util.ts +294 -14
  245. package/src/index.ts +40 -0
  246. package/src/interpretation/README.md +60 -0
  247. package/src/interpretation/collection.ts +19 -0
  248. package/src/interpretation/index.ts +332 -0
  249. package/src/interpretation/siLanguage.ts +18 -0
  250. package/src/locus-info/controlsUtils.ts +108 -0
  251. package/src/locus-info/index.ts +413 -59
  252. package/src/locus-info/infoUtils.ts +10 -2
  253. package/src/locus-info/mediaSharesUtils.ts +64 -0
  254. package/src/locus-info/parser.ts +258 -47
  255. package/src/locus-info/selfUtils.ts +81 -5
  256. package/src/media/index.ts +102 -122
  257. package/src/media/properties.ts +87 -110
  258. package/src/meeting/in-meeting-actions.ts +163 -3
  259. package/src/meeting/index.ts +3132 -2541
  260. package/src/meeting/locusMediaRequest.ts +313 -0
  261. package/src/meeting/muteState.ts +229 -131
  262. package/src/meeting/request.ts +177 -121
  263. package/src/meeting/util.ts +588 -394
  264. package/src/meeting-info/index.ts +81 -8
  265. package/src/meeting-info/meeting-info-v2.ts +170 -14
  266. package/src/meeting-info/util.ts +1 -1
  267. package/src/meeting-info/utilv2.ts +23 -23
  268. package/src/meetings/collection.ts +33 -0
  269. package/src/meetings/index.ts +445 -123
  270. package/src/meetings/meetings.types.ts +12 -0
  271. package/src/meetings/request.ts +2 -0
  272. package/src/meetings/util.ts +80 -11
  273. package/src/member/index.ts +58 -0
  274. package/src/member/types.ts +38 -0
  275. package/src/member/util.ts +141 -25
  276. package/src/members/collection.ts +8 -0
  277. package/src/members/index.ts +134 -8
  278. package/src/members/request.ts +97 -17
  279. package/src/members/types.ts +29 -0
  280. package/src/members/util.ts +333 -240
  281. package/src/metrics/constants.ts +12 -4
  282. package/src/metrics/index.ts +1 -490
  283. package/src/multistream/mediaRequestManager.ts +289 -79
  284. package/src/multistream/receiveSlot.ts +31 -17
  285. package/src/multistream/receiveSlotManager.ts +34 -24
  286. package/src/multistream/remoteMedia.ts +27 -2
  287. package/src/multistream/remoteMediaGroup.ts +59 -0
  288. package/src/multistream/remoteMediaManager.ts +148 -30
  289. package/src/multistream/sendSlotManager.ts +170 -0
  290. package/src/reachability/index.ts +228 -37
  291. package/src/reachability/request.ts +17 -8
  292. package/src/reconnection-manager/index.ts +83 -56
  293. package/src/recording-controller/index.ts +20 -3
  294. package/src/recording-controller/util.ts +26 -9
  295. package/src/roap/index.ts +63 -32
  296. package/src/roap/request.ts +100 -104
  297. package/src/roap/turnDiscovery.ts +48 -26
  298. package/src/rtcMetrics/constants.ts +3 -0
  299. package/src/rtcMetrics/index.ts +100 -0
  300. package/src/statsAnalyzer/index.ts +105 -91
  301. package/src/statsAnalyzer/mqaUtil.ts +13 -14
  302. package/src/webinar/collection.ts +31 -0
  303. package/src/webinar/index.ts +62 -0
  304. package/test/integration/spec/converged-space-meetings.js +60 -3
  305. package/test/integration/spec/journey.js +320 -261
  306. package/test/integration/spec/space-meeting.js +76 -3
  307. package/test/unit/spec/annotation/index.ts +418 -0
  308. package/test/unit/spec/breakouts/breakout.ts +118 -28
  309. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  310. package/test/unit/spec/breakouts/events.ts +89 -0
  311. package/test/unit/spec/breakouts/index.ts +1395 -69
  312. package/test/unit/spec/breakouts/utils.js +52 -1
  313. package/test/unit/spec/common/queue.js +31 -2
  314. package/test/unit/spec/controls-options-manager/index.js +163 -0
  315. package/test/unit/spec/controls-options-manager/util.js +576 -60
  316. package/test/unit/spec/fixture/locus.js +1 -0
  317. package/test/unit/spec/interpretation/collection.ts +15 -0
  318. package/test/unit/spec/interpretation/index.ts +589 -0
  319. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  320. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  321. package/test/unit/spec/locus-info/index.js +1304 -33
  322. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  323. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  324. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  325. package/test/unit/spec/locus-info/parser.js +116 -35
  326. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  327. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  328. package/test/unit/spec/media/index.ts +104 -37
  329. package/test/unit/spec/media/properties.ts +2 -2
  330. package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
  331. package/test/unit/spec/meeting/index.js +5216 -1956
  332. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  333. package/test/unit/spec/meeting/muteState.js +408 -208
  334. package/test/unit/spec/meeting/request.js +483 -49
  335. package/test/unit/spec/meeting/utils.js +679 -64
  336. package/test/unit/spec/meeting-info/index.js +300 -0
  337. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  338. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  339. package/test/unit/spec/meetings/collection.js +26 -0
  340. package/test/unit/spec/meetings/index.js +1011 -205
  341. package/test/unit/spec/meetings/utils.js +202 -2
  342. package/test/unit/spec/member/index.js +61 -6
  343. package/test/unit/spec/member/util.js +510 -34
  344. package/test/unit/spec/members/index.js +432 -1
  345. package/test/unit/spec/members/request.js +206 -27
  346. package/test/unit/spec/members/utils.js +210 -0
  347. package/test/unit/spec/metrics/index.js +1 -50
  348. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  349. package/test/unit/spec/multistream/receiveSlot.ts +28 -20
  350. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  351. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  352. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  353. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  354. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  355. package/test/unit/spec/reachability/index.ts +549 -9
  356. package/test/unit/spec/reachability/request.js +68 -0
  357. package/test/unit/spec/reconnection-manager/index.js +85 -9
  358. package/test/unit/spec/recording-controller/index.js +294 -218
  359. package/test/unit/spec/recording-controller/util.js +223 -96
  360. package/test/unit/spec/roap/index.ts +178 -64
  361. package/test/unit/spec/roap/request.ts +203 -85
  362. package/test/unit/spec/roap/turnDiscovery.ts +82 -36
  363. package/test/unit/spec/rtcMetrics/index.ts +73 -0
  364. package/test/unit/spec/stats-analyzer/index.js +136 -2
  365. package/test/unit/spec/webinar/collection.ts +13 -0
  366. package/test/unit/spec/webinar/index.ts +60 -0
  367. package/test/utils/integrationTestUtils.js +46 -0
  368. package/test/utils/testUtils.js +0 -52
  369. package/dist/meeting/effectsState.js +0 -262
  370. package/dist/meeting/effectsState.js.map +0 -1
  371. package/dist/metrics/config.js +0 -299
  372. package/dist/metrics/config.js.map +0 -1
  373. package/dist/types/meeting/effectsState.d.ts +0 -42
  374. package/dist/types/metrics/config.d.ts +0 -178
  375. package/src/index.js +0 -16
  376. package/src/meeting/effectsState.ts +0 -211
  377. package/src/metrics/config.ts +0 -495
  378. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -1 +1 @@
1
- {"version":3,"names":["Breakouts","WebexPlugin","extend","namespace","MEETINGS","breakoutRequest","BreakoutRequest","collections","breakouts","BreakoutCollection","props","allowBackToMain","delayCloseTime","enableBreakoutSession","groupId","name","sessionId","sessionType","startTime","status","url","locusUrl","breakoutServiceUrl","children","currentBreakoutSession","Breakout","derived","isInMainSession","deps","fn","BREAKOUTS","SESSION_TYPES","MAIN","initialize","listenTo","STATUS","CLOSING","trigger","EVENTS","BREAKOUTS_CLOSING","debouncedQueryRosters","queryRosters","leading","trailing","listenToBroadcastMessages","listenToBreakoutRosters","webex","cleanUp","stopListening","locusUrlUpdate","set","breakoutServiceUrlUpdate","request","uri","qs","btoa","then","result","rosters","body","forEach","locus","handleRosterUpdate","MEMBERS_UPDATE","catch","error","LoggerProxy","logger","controls","breakout","session","get","parseRoster","internal","llm","event","data","senderUserId","sentTime","message","MESSAGE","mercury","updateBreakout","params","current","SESSION_STATES","ACTIVE","ALLOWED","ASSIGNED_CURRENT","REQUESTED","updateBreakoutSessions","payload","breakoutSessions","state","ASSIGNED","getMainSession","mainSession","filter","isMain","Error","askAllToReturn","method","HTTP_VERBS","POST","broadcast","options","breakoutGroupId","enableBreakouts","err","reject","toggleBreakout","enable","undefined","info","doToggleBreakout","PUT"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {debounce, forEach} from 'lodash';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {BREAKOUTS, HTTP_VERBS, MEETINGS} from '../constants';\n\nimport Breakout from './breakout';\nimport BreakoutCollection from './collection';\nimport BreakoutRequest from './request';\n\n/**\n * @class Breakouts\n */\nconst Breakouts = WebexPlugin.extend({\n namespace: MEETINGS,\n breakoutRequest: BreakoutRequest,\n collections: {\n breakouts: BreakoutCollection,\n },\n\n props: {\n allowBackToMain: 'boolean', // only present when in a breakout session\n delayCloseTime: 'number', // appears once breakouts start\n enableBreakoutSession: 'boolean', // appears from the moment you enable breakouts\n groupId: 'string', // appears from the moment you enable breakouts\n name: 'string', // only present when in a breakout session\n sessionId: 'string', // appears from the moment you enable breakouts\n sessionType: 'string', // appears from the moment you enable breakouts\n startTime: 'string', // appears once breakouts start\n status: 'string', // only present when in a breakout session\n url: 'string', // appears from the moment you enable breakouts\n locusUrl: 'string', // the current locus url\n breakoutServiceUrl: 'string', // the current breakout resouce url\n },\n\n children: {\n currentBreakoutSession: Breakout,\n },\n\n derived: {\n isInMainSession: {\n deps: ['sessionType'],\n /**\n * Returns true if the user is in the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n },\n },\n },\n\n /**\n * initialize for the breakouts\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:status', () => {\n if (this.status === BREAKOUTS.STATUS.CLOSING) {\n this.trigger(BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);\n }\n });\n this.debouncedQueryRosters = debounce(this.queryRosters, 10, {\n leading: true,\n trailing: false,\n });\n this.listenTo(this.breakouts, 'add', () => {\n this.debouncedQueryRosters();\n });\n this.listenToBroadcastMessages();\n this.listenToBreakoutRosters();\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * Update the current breakout resouce url\n * @param {string} breakoutServiceUrl\n * @returns {void}\n */\n breakoutServiceUrlUpdate(breakoutServiceUrl) {\n this.set('breakoutServiceUrl', `${breakoutServiceUrl}/breakout/`);\n },\n\n /**\n * The initial roster lists need to be queried because you don't\n * get a breakout.roster event when you join the meeting\n * @returns {void}\n */\n queryRosters() {\n this.webex\n .request({uri: `${this.url}/roster`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n const {\n body: {rosters},\n } = result;\n\n rosters.forEach(({locus}) => {\n this.handleRosterUpdate(locus);\n });\n\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryRosters failed', error);\n });\n },\n\n /**\n *\n * @param {Object} locus // locus object\n * @returns {void}\n */\n handleRosterUpdate(locus) {\n const sessionId = locus.controls?.breakout?.sessionId;\n\n const session = this.breakouts.get(sessionId);\n\n if (!session) {\n return;\n }\n\n session.parseRoster(locus);\n },\n\n /**\n * Sets up listener for broadcast messages sent to the breakout session\n * @returns {void}\n */\n listenToBroadcastMessages() {\n this.listenTo(this.webex.internal.llm, 'event:breakout.message', (event) => {\n const {\n data: {senderUserId, sentTime, message},\n } = event;\n\n this.trigger(BREAKOUTS.EVENTS.MESSAGE, {\n senderUserId,\n sentTime,\n message,\n // FIXME: This is only the current sessionId\n // We'd need to check that the dataChannelUrl is still the same\n // to guarantee that this message was sent to this session\n sessionId: this.currentBreakoutSession.sessionId,\n });\n });\n },\n\n /**\n * Sets up a listener for roster messags from mecury\n * @returns {void}\n */\n listenToBreakoutRosters() {\n this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', (event) => {\n this.handleRosterUpdate(event.data.locus);\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n });\n },\n\n /**\n * Updates the information about the current breakout\n * @param {Object} params\n * @returns {void}\n */\n updateBreakout(params) {\n this.set(params);\n\n this.set('currentBreakoutSession', {\n sessionId: params.sessionId,\n groupId: params.groupId,\n name: params.name,\n current: true,\n sessionType: params.sessionType,\n url: params.url,\n [BREAKOUTS.SESSION_STATES.ACTIVE]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT]: false,\n [BREAKOUTS.SESSION_STATES.REQUESTED]: false,\n });\n\n this.set('enableBreakoutSession', params.enableBreakoutSession);\n },\n\n /**\n * Updates the information about available breakouts\n * @param {Object} payload\n * @returns {void}\n */\n updateBreakoutSessions(payload) {\n const breakouts = {};\n\n if (payload.breakoutSessions) {\n forEach(BREAKOUTS.SESSION_STATES, (state) => {\n forEach(payload.breakoutSessions[state], (breakout) => {\n const {sessionId} = breakout;\n\n if (!breakouts[sessionId]) {\n breakouts[sessionId] = breakout;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ACTIVE] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ALLOWED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.REQUESTED] = false;\n }\n\n breakouts[sessionId][state] = true;\n });\n });\n }\n\n forEach(breakouts, (breakout: typeof Breakout) => {\n // eslint-disable-next-line no-param-reassign\n breakout.url = this.url;\n });\n\n this.breakouts.set(Object.values(breakouts));\n },\n /**\n * get main session\n * @returns {Breakout}\n */\n getMainSession() {\n if (this.isInMainSession) {\n return this.currentBreakoutSession;\n }\n\n const mainSession = this.breakouts.filter((breakout) => breakout.isMain)[0];\n if (!mainSession) {\n throw new Error('no main session found');\n }\n\n return mainSession;\n },\n /**\n * Host/CoHost ask all participants return to main session\n * @returns {Promise}\n */\n askAllToReturn() {\n const mainSession = this.getMainSession();\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/requestMove`,\n body: {\n groupId: mainSession.groupId,\n sessionId: mainSession.sessionId,\n },\n });\n },\n\n /**\n * Broadcast message to all breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n const breakoutGroupId = this.isInMainSession\n ? this.breakouts.filter((breakout) => !breakout.isMain)[0]?.groupId\n : this.groupId;\n if (!breakoutGroupId) {\n throw new Error('Cannot broadcast, no breakout session found');\n }\n\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: breakoutGroupId,\n });\n },\n /**\n * Make enable breakout resource\n * @returns {Promise}\n */\n enableBreakouts() {\n if (this.breakoutServiceUrl) {\n // @ts-ignore\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri: this.breakoutServiceUrl,\n body: {\n locusUrl: this.locusUrl,\n },\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#touchBreakout --> Error provisioning error ${err}`\n );\n throw err;\n });\n }\n\n return Promise.reject(new Error(`enableBreakouts: the breakoutServiceUrl is empty`));\n },\n\n /**\n * Make the meeting enbale or disable breakout session\n * @param {boolean} enable\n * @returns {Promise}\n */\n async toggleBreakout(enable) {\n if (this.enableBreakoutSession === undefined) {\n const info = await this.enableBreakouts();\n if (!enable) {\n // if enable is false, updateBreakout set the param then set enableBreakoutSession as false\n this.updateBreakout(info.body);\n await this.doToggleBreakout(enable);\n }\n } else {\n await this.doToggleBreakout(enable);\n }\n },\n\n /**\n * do toggle meeting breakout session enable or disable\n * @param {boolean} enable\n * @returns {Promise}\n */\n doToggleBreakout(enable) {\n // @ts-ignore\n return this.webex.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body: {\n enableBreakoutSession: enable,\n },\n });\n },\n});\n\nexport default Breakouts;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Breakouts","WebexPlugin","extend","namespace","MEETINGS","breakoutRequest","BreakoutRequest","collections","breakouts","BreakoutCollection","props","allowBackToMain","delayCloseTime","enableBreakoutSession","hasBreakoutPreAssignments","groupId","name","sessionId","sessionType","startTime","status","url","locusUrl","breakoutServiceUrl","mainLocusUrl","groups","manageGroups","preAssignments","editLock","intervalID","meetingId","canManageBreakouts","children","currentBreakoutSession","Breakout","derived","isInMainSession","cache","deps","fn","BREAKOUTS","SESSION_TYPES","MAIN","isActiveBreakout","BREAKOUT","STATUS","OPEN","CLOSING","breakoutGroupId","length","CLOSED","id","breakoutStatus","shouldQueryPreAssignments","initialize","listenTo","trigger","EVENTS","BREAKOUTS_CLOSING","queryPreAssignments","debouncedQueryRosters","queryRosters","leading","trailing","breakout","triggerReturnToMainEvent","listenToCurrentSessionTypeChange","listenToBroadcastMessages","listenToBreakoutRosters","listenToBreakoutHelp","webex","cleanUp","stopListening","locusUrlUpdate","set","updateCanManageBreakouts","breakoutServiceUrlUpdate","request","uri","qs","btoa","then","result","rosters","body","forEach","locus","handleRosterUpdate","MEMBERS_UPDATE","catch","error","LoggerProxy","logger","controls","session","get","parseRoster","isSessionTypeChangedFromSessionToMain","LEAVE_BREAKOUT","internal","llm","event","data","senderUserId","sentTime","message","MESSAGE","mercury","participant","ASK_FOR_HELP","isBreakoutInProgress","currentStatus","isBreakoutIClosing","updateBreakout","params","current","SESSION_STATES","ACTIVE","ALLOWED","ASSIGNED","ASSIGNED_CURRENT","REQUESTED","clearBreakouts","previous","meeting","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutJoinResponse","currentSession","breakoutMoveId","newMetrics","submitClientEvent","bind","updateBreakoutSessions","payload","breakoutSessions","state","requestedLastModifiedTime","modifiedAt","reset","getMainSession","mainSession","filter","isMain","Error","askAllToReturn","method","HTTP_VERBS","POST","broadcast","options","enableBreakouts","err","reject","toggleBreakout","enable","undefined","info","doToggleBreakout","token","editlock","PUT","_setManageGroups","breakoutInfo","create","boServiceErrorHandler","_clearEditLockInfo","clearSessions","action","ACTION","DELETE","start","START","allowToJoinLater","refresh","end","CLOSE","update","unlockEdit","getBreakout","GET","keepEditLockAlive","enableAndLockBreakout","lockBreakout","hasBreakoutLocked","EDIT_LOCK_STATUS","LOCKED","ttl","DEFAULT_TTL","window","clearInterval","setInterval","unLockEditBreakout","assign","sessions","internalSessions","map","item","assigned","memberIds","assignedEmails","emails","anyoneCanJoin","anyone","PRE_ASSIGNMENTS_UPDATE","dynamicAssign","updatedSessions","participants","targetState","requested","ASK_RETURN_TO_MAIN"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {debounce, forEach} from 'lodash';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {BREAKOUTS, MEETINGS, HTTP_VERBS, _ID_} from '../constants';\n\nimport Breakout from './breakout';\nimport BreakoutCollection from './collection';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\nimport {boServiceErrorHandler, isSessionTypeChangedFromSessionToMain} from './utils';\n\n/**\n * @class Breakouts\n */\nconst Breakouts = WebexPlugin.extend({\n namespace: MEETINGS,\n breakoutRequest: BreakoutRequest,\n collections: {\n breakouts: BreakoutCollection,\n },\n\n props: {\n allowBackToMain: 'boolean', // only present when in a breakout session\n delayCloseTime: 'number', // appears once breakouts start\n enableBreakoutSession: 'boolean', // appears from the moment you enable breakouts\n hasBreakoutPreAssignments: 'boolean', // appears from the moment you enable breakouts\n groupId: 'string', // appears from the moment you enable breakouts\n name: 'string', // only present when in a breakout session\n sessionId: 'string', // appears from the moment you enable breakouts\n sessionType: 'string', // appears from the moment you enable breakouts\n startTime: 'string', // appears once breakouts start\n status: 'string', // only present when in a breakout session\n url: 'string', // appears from the moment you enable breakouts\n locusUrl: 'string', // the current locus url\n breakoutServiceUrl: 'string', // the current breakout resource url\n mainLocusUrl: 'string', // the locus url of the main session\n groups: 'array', // appears when create breakouts\n manageGroups: 'array', // appears when manage breakouts\n preAssignments: 'array', // appears when getPreAssignments info hasBreakoutPreAssignments = true\n editLock: 'object', // appears when getBreakout info editlock = true\n intervalID: 'number',\n meetingId: 'string',\n canManageBreakouts: 'boolean', // appear the ability to manage breakouts\n },\n children: {\n currentBreakoutSession: Breakout,\n },\n\n derived: {\n isInMainSession: {\n cache: false,\n deps: ['sessionType'],\n /**\n * Returns true if the user is in the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n },\n },\n isActiveBreakout: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType', 'status'],\n /**\n * Returns true if the breakout status is active\n * @returns {boolean}\n */\n fn() {\n return (\n this.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n (this.status === BREAKOUTS.STATUS.OPEN || this.status === BREAKOUTS.STATUS.CLOSING)\n );\n },\n },\n breakoutGroupId: {\n cache: false,\n deps: ['manageGroups'],\n /**\n * Returns the active group id\n * @returns {boolean}\n */\n fn() {\n if (this.manageGroups?.length) {\n return this.manageGroups[0].status !== BREAKOUTS.STATUS.CLOSED\n ? this.manageGroups[0].id\n : '';\n }\n\n return '';\n },\n },\n breakoutStatus: {\n cache: true,\n deps: ['isInMainSession', 'status', 'groups'],\n /**\n * Returns the breakout status\n * @returns {boolean}\n */\n fn() {\n return this.isInMainSession ? this.groups?.[0]?.status : this.status;\n },\n },\n shouldQueryPreAssignments: {\n cache: false,\n deps: ['canManageBreakouts', 'enableBreakoutSession', 'hasBreakoutPreAssignments'],\n /**\n * Returns should query preAssignments or not\n * @returns {boolean}\n */\n fn() {\n return !!(\n this.canManageBreakouts &&\n this.enableBreakoutSession &&\n this.hasBreakoutPreAssignments\n );\n },\n },\n },\n\n /**\n * initialize for the breakouts\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:breakoutStatus', () => {\n if (this.breakoutStatus === BREAKOUTS.STATUS.CLOSING) {\n this.trigger(BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);\n }\n });\n this.listenTo(this, 'change:shouldQueryPreAssignments', () => {\n if (this.shouldQueryPreAssignments && !this.preAssignments) {\n this.queryPreAssignments();\n }\n });\n this.debouncedQueryRosters = debounce(this.queryRosters, 10, {\n leading: true,\n trailing: false,\n });\n this.listenTo(this.breakouts, 'add', (breakout) => {\n this.debouncedQueryRosters();\n this.triggerReturnToMainEvent(breakout);\n });\n this.listenTo(this.breakouts, 'change:requestedLastModifiedTime', (breakout) => {\n this.triggerReturnToMainEvent(breakout);\n });\n this.listenToCurrentSessionTypeChange();\n this.listenToBroadcastMessages();\n this.listenToBreakoutRosters();\n this.listenToBreakoutHelp();\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n const {isInMainSession, mainLocusUrl} = this;\n if (isInMainSession || !mainLocusUrl) {\n this.set('mainLocusUrl', locusUrl);\n }\n },\n\n /**\n * Update whether self is moderator/cohost or not\n * @param {boolean} canManageBreakouts\n * @returns {void}\n */\n updateCanManageBreakouts(canManageBreakouts) {\n this.set('canManageBreakouts', canManageBreakouts);\n },\n\n /**\n * Update the current breakout resource url\n * @param {string} breakoutServiceUrl\n * @returns {void}\n */\n breakoutServiceUrlUpdate(breakoutServiceUrl) {\n this.set('breakoutServiceUrl', `${breakoutServiceUrl}/breakout/`);\n },\n\n /**\n * The initial roster lists need to be queried because you don't\n * get a breakout.roster event when you join the meeting\n * @returns {void}\n */\n queryRosters() {\n this.webex\n .request({uri: `${this.url}/roster`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n const {\n body: {rosters},\n } = result;\n\n rosters?.forEach(({locus}) => {\n this.handleRosterUpdate(locus);\n });\n\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryRosters failed', error);\n });\n },\n\n /**\n *\n * @param {Object} locus // locus object\n * @returns {void}\n */\n handleRosterUpdate(locus) {\n const sessionId = locus.controls?.breakout?.sessionId;\n\n const session = this.breakouts.get(sessionId);\n\n if (!session) {\n return;\n }\n\n session.parseRoster(locus);\n },\n /**\n *Sets up listener for currentBreakoutSession sessionType changed\n * @returns {void}\n */\n listenToCurrentSessionTypeChange(): void {\n this.listenTo(\n this.currentBreakoutSession,\n 'change:sessionType',\n (currentBreakoutSession, sessionType) => {\n if (isSessionTypeChangedFromSessionToMain(currentBreakoutSession, sessionType)) {\n this.trigger(BREAKOUTS.EVENTS.LEAVE_BREAKOUT);\n }\n }\n );\n },\n\n /**\n * Sets up listener for broadcast messages sent to the breakout session\n * @returns {void}\n */\n listenToBroadcastMessages() {\n this.listenTo(this.webex.internal.llm, 'event:breakout.message', (event) => {\n const {\n data: {senderUserId, sentTime, message},\n } = event;\n\n this.trigger(BREAKOUTS.EVENTS.MESSAGE, {\n senderUserId,\n sentTime,\n message,\n // FIXME: This is only the current sessionId\n // We'd need to check that the dataChannelUrl is still the same\n // to guarantee that this message was sent to this session\n sessionId: this.currentBreakoutSession.sessionId,\n });\n });\n },\n\n /**\n * Sets up a listener for roster messags from mecury\n * @returns {void}\n */\n listenToBreakoutRosters() {\n this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', (event) => {\n this.handleRosterUpdate(event.data.locus);\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n });\n },\n\n /**\n * Sets up a listener for ask help notify from mecury\n * @returns {void}\n */\n listenToBreakoutHelp() {\n this.listenTo(this.webex.internal.mercury, 'event:breakout.help', (event) => {\n const {\n data: {participant, sessionId},\n } = event;\n this.trigger(BREAKOUTS.EVENTS.ASK_FOR_HELP, {participant, sessionId});\n });\n },\n\n /**\n * get current breakout is in progress or not\n * @returns {boolean}\n */\n isBreakoutInProgress() {\n const currentStatus = this.groups?.[0]?.status || this.status;\n\n return currentStatus === BREAKOUTS.STATUS.OPEN || currentStatus === BREAKOUTS.STATUS.CLOSING;\n },\n\n /**\n * get current breakout is in closing or not\n * @returns {boolean}\n */\n isBreakoutIClosing() {\n return (this.groups?.[0]?.status || this.status) === BREAKOUTS.STATUS.CLOSING;\n },\n /**\n * Updates the information about the current breakout\n * @param {Object} params\n * @returns {void}\n */\n updateBreakout(params) {\n this.set(params);\n // These values are set manually so they are unset when they are not included in params\n this.set('groups', params.groups);\n this.set('startTime', params.startTime);\n this.set('status', params.status);\n\n this.set('currentBreakoutSession', {\n sessionId: params.sessionId,\n groupId: params.groupId,\n name: params.name,\n current: true,\n sessionType: params.sessionType,\n url: params.url,\n [BREAKOUTS.SESSION_STATES.ACTIVE]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ASSIGNED]: false,\n [BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT]: false,\n [BREAKOUTS.SESSION_STATES.REQUESTED]: false,\n });\n\n if (!this.isBreakoutInProgress()) {\n this.clearBreakouts();\n }\n\n if (\n this.currentBreakoutSession.previous('sessionId') !== this.currentBreakoutSession.sessionId ||\n this.currentBreakoutSession.previous('groupId') !== this.currentBreakoutSession.groupId\n ) {\n // should report joined session changed\n const meeting = this.webex.meetings.getMeetingByType(_ID_, this.meetingId);\n breakoutEvent.onBreakoutJoinResponse(\n {\n currentSession: this.currentBreakoutSession,\n meeting,\n breakoutMoveId: params.breakoutMoveId,\n },\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n }\n },\n\n /**\n * Updates the information about available breakouts\n * @param {Object} payload\n * @returns {void}\n */\n updateBreakoutSessions(payload) {\n const breakouts = {};\n if (this.isBreakoutIClosing()) {\n // fix issue: don't clear/update breakouts collection when in closing since locus DTO will send undefined or\n // only the MAIN session info here, if just update it, will miss the breakout roster info during\n // count down to end breakouts\n return;\n }\n if (payload.breakoutSessions) {\n forEach(BREAKOUTS.SESSION_STATES, (state) => {\n forEach(payload.breakoutSessions[state], (breakout) => {\n const {sessionId} = breakout;\n\n if (!breakouts[sessionId]) {\n breakouts[sessionId] = breakout;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ACTIVE] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ALLOWED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.REQUESTED] = false;\n }\n\n breakouts[sessionId][state] = true;\n\n if (state === BREAKOUTS.SESSION_STATES.REQUESTED) {\n breakouts[sessionId].requestedLastModifiedTime = breakout.modifiedAt;\n }\n });\n });\n }\n forEach(breakouts, (breakout: typeof Breakout) => {\n // eslint-disable-next-line no-param-reassign\n breakout.url = this.url;\n });\n\n this.breakouts.set(Object.values(breakouts));\n },\n /**\n * clear breakouts collection\n * @returns {void}\n */\n clearBreakouts() {\n if (this.breakouts.length > 0) {\n this.breakouts.reset();\n }\n },\n /**\n * get main session\n * @returns {Breakout}\n */\n getMainSession() {\n if (this.isInMainSession) {\n return this.currentBreakoutSession;\n }\n\n const mainSession = this.breakouts.filter((breakout) => breakout.isMain)[0];\n if (!mainSession) {\n throw new Error('no main session found');\n }\n\n return mainSession;\n },\n /**\n * Host/CoHost ask all participants return to main session\n * @returns {Promise}\n */\n askAllToReturn() {\n const mainSession = this.getMainSession();\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/requestMove`,\n body: {\n groupId: mainSession.groupId,\n sessionId: mainSession.sessionId,\n },\n });\n },\n\n /**\n * Broadcast message to all breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n const {breakoutGroupId} = this;\n if (!breakoutGroupId) {\n throw new Error('Cannot broadcast, no breakout session found');\n }\n\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: breakoutGroupId,\n });\n },\n /**\n * Make enable breakout resource\n * @returns {Promise}\n */\n enableBreakouts() {\n if (this.breakoutServiceUrl) {\n // @ts-ignore\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri: this.breakoutServiceUrl,\n body: {\n locusUrl: this.locusUrl,\n },\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#touchBreakout --> Error provisioning error ${err}`\n );\n throw err;\n });\n }\n\n return Promise.reject(new Error(`enableBreakouts: the breakoutServiceUrl is empty`));\n },\n\n /**\n * Make the meeting enable or disable breakout session\n * @param {boolean} enable\n * @returns {Promise}\n */\n async toggleBreakout(enable) {\n if (this.enableBreakoutSession === undefined) {\n const info = await this.enableBreakouts();\n // first time enable, set the initial data\n this.updateBreakout(info?.body);\n if (!enable) {\n await this.doToggleBreakout(enable);\n }\n } else {\n await this.doToggleBreakout(enable);\n }\n },\n\n /**\n * do toggle meeting breakout session enable or disable\n * @param {boolean} enable\n * @returns {Promise}\n */\n doToggleBreakout(enable) {\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{enableBreakoutSession: enable},\n };\n\n // @ts-ignore\n return this.webex.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n });\n },\n\n /**\n * set groups to manageGroups prop\n * @param {Object} breakoutInfo -- breakout groups\n * @returns {void}\n */\n _setManageGroups(breakoutInfo) {\n if (breakoutInfo?.body?.groups) {\n this.set('manageGroups', breakoutInfo.body.groups);\n }\n },\n\n /**\n * Create new breakout sessions\n * @param {object} params -- breakout session group\n * @returns {Promise}\n */\n async create(params) {\n const payload = {...params};\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{groups: [payload]},\n };\n // @ts-ignore\n const breakoutInfo = await this.webex\n .request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#create'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n // clear edit lock info after save breakout session info\n this._clearEditLockInfo();\n\n return breakoutInfo;\n },\n\n /**\n * Delete all breakout sessions\n * @returns {Promise}\n */\n async clearSessions() {\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{groups: [{action: BREAKOUTS.ACTION.DELETE}]},\n };\n // @ts-ignore\n const breakoutInfo = await this.webex\n .request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#clearSessions'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * Host or cohost starts breakout sessions\n * @param {object} params\n * @returns {Promise}\n */\n async start(params = {}) {\n const action = BREAKOUTS.ACTION.START;\n const payload = {\n id: this.breakoutGroupId,\n action,\n allowBackToMain: false,\n allowToJoinLater: false,\n ...params,\n };\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{groups: [payload]},\n };\n\n const breakoutInfo = await this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#start'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * Host or cohost ends breakout sessions\n * @param {object} params\n * @returns {Promise}\n */\n async end(params = {}) {\n const {delayCloseTime, breakoutGroupId: id} = this;\n const action = BREAKOUTS.ACTION.CLOSE;\n const payload = {\n id,\n action,\n delayCloseTime,\n ...params,\n };\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{groups: [payload]},\n };\n\n const breakoutInfo = await this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#end'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * Host or cohost update breakout sessions\n * @param {Object} params\n * @param {String} params.id\n * @param {Boolean} unlockEdit\n * @returns {Promise}\n */\n async update(params: {id: string}, unlockEdit?: boolean) {\n if (!params.id) {\n return Promise.reject(new Error('Missing breakout group id'));\n }\n const payload = {...params};\n\n const body = {\n ...(this.editLock?.token\n ? {editlock: {token: this.editLock.token, refresh: !unlockEdit}}\n : {}),\n ...{groups: [payload]},\n };\n\n const breakoutInfo = await this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#update'));\n });\n\n if (unlockEdit) {\n this._clearEditLockInfo();\n }\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * get existed breakout sessions\n * @param {boolean} editlock -- lock operations of the breakout sessions\n * @returns {Promise}\n */\n async getBreakout(editlock) {\n const breakout = await this.request({\n method: HTTP_VERBS.GET,\n uri: this.url + (editlock ? `?editlock=${editlock}` : ''),\n });\n\n this._setManageGroups(breakout);\n if (editlock && breakout.body?.editlock?.token) {\n this.set('editLock', breakout.body.editlock);\n this.keepEditLockAlive();\n }\n\n return breakout;\n },\n\n /**\n * enable and edit lock breakout\n * @returns {void}\n */\n async enableAndLockBreakout() {\n if (this.enableBreakoutSession) {\n this.lockBreakout();\n } else {\n const info = await this.enableBreakouts();\n\n if (info.body) {\n this.lockBreakout();\n }\n }\n },\n\n /**\n * breakout edit locked by yourself or not\n * @returns {boolean}\n */\n hasBreakoutLocked() {\n return (\n this.editLock &&\n this.editLock.token &&\n this.editLock.state === BREAKOUTS.EDIT_LOCK_STATUS.LOCKED\n );\n },\n\n /**\n * send breakout edit lock\n * @returns {void}\n */\n async lockBreakout() {\n if (this.editLock && !!this.editLock.token) {\n if (this.editLock.state === BREAKOUTS.EDIT_LOCK_STATUS.LOCKED) {\n throw new Error('Breakout already locked');\n } else {\n this.keepEditLockAlive();\n }\n } else {\n const breakout = await this.getBreakout(true);\n if (breakout.body?.editlock) {\n this.keepEditLockAlive();\n }\n }\n },\n\n /**\n * keep edit lock alive\n * @returns {void}\n */\n keepEditLockAlive() {\n if (this.editLock && !!this.editLock.token) {\n const ttl = this.editLock.ttl < 30 ? BREAKOUTS.DEFAULT_TTL : this.editLock.ttl;\n if (this.intervalID) {\n window.clearInterval(this.intervalID);\n }\n\n this.intervalID = window.setInterval(() => {\n this.request({\n method: HTTP_VERBS.PUT,\n uri: `${this.url}/editlock/${this.editLock.token}`,\n }).catch((error) => {\n this._clearEditLockInfo();\n\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#keepEditLockAlive'));\n });\n }, (ttl / 2) * 1000);\n }\n },\n\n /**\n * unlock edit breakout\n * @returns {void}\n */\n unLockEditBreakout() {\n if (this.editLock && !!this.editLock.token) {\n this.request({\n method: HTTP_VERBS.DELETE,\n uri: `${this.url}/editlock/${this.editLock.token}`,\n })\n .then(() => {\n this._clearEditLockInfo();\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#unLockEditBreakout'));\n });\n }\n },\n\n /**\n * clear interval and edit lock info\n * @private\n * @returns {void}\n */\n _clearEditLockInfo() {\n if (this.intervalID) {\n clearInterval(this.intervalID);\n }\n this.set('editLock', {});\n },\n\n /**\n * assign participants to breakout session\n * @param {Array} sessions\n * @returns {void}\n */\n assign(sessions: any[]) {\n const internalSessions = sessions.map((item) => {\n return {\n id: item.id,\n assigned: item.memberIds,\n assignedEmails: item.emails,\n anyoneCanJoin: !!item.anyone,\n };\n });\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{\n groups: [\n {\n id: this.breakoutGroupId,\n sessions: internalSessions,\n },\n ],\n },\n };\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n });\n },\n\n /**\n * query preAssignments\n * @returns {void}\n */\n queryPreAssignments() {\n this.webex\n .request({uri: `${this.url}/preassignments`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n if (result.body?.groups) {\n this.set('preAssignments', result.body.groups);\n this.trigger(BREAKOUTS.EVENTS.PRE_ASSIGNMENTS_UPDATE);\n }\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryPreAssignments failed', error);\n });\n },\n /**\n * assign participants dynamically after breakout sessions started,\n * but currently it only used for admitting participants from lobby into breakout directly\n * @param {Array} sessions\n * @returns {void}\n */\n dynamicAssign(sessions: any[]) {\n const updatedSessions = sessions.map((item) => {\n return {\n id: item.id,\n participants: item.participants,\n targetState: item.targetState,\n };\n });\n\n const body = {\n groups: [\n {\n id: this.breakoutGroupId,\n sessions: updatedSessions,\n },\n ],\n editlock: null,\n };\n\n if (this.editLock && this.editLock.token) {\n body.editlock = this.editLock;\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: `${this.url}/dynamicAssign`,\n body,\n });\n },\n /**\n * trigger ASK_RETURN_TO_MAIN event when main session requested\n * @param {Object} breakout\n * @returns {void}\n */\n triggerReturnToMainEvent(breakout) {\n if (breakout.isMain && breakout.requested) {\n this.trigger(BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);\n }\n },\n});\n\nexport default Breakouts;\n"],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5
  _Object$defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.getBroadcastRoles = void 0;
8
+ exports.isSessionTypeChangedFromSessionToMain = exports.getBroadcastRoles = exports.boServiceErrorHandler = void 0;
9
+ var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
10
+ var _editLockError = _interopRequireDefault(require("./edit-lock-error"));
11
+ var _constants = require("../constants");
8
12
  // eslint-disable-next-line import/prefer-default-export
13
+
9
14
  var getBroadcastRoles = function getBroadcastRoles(options) {
10
15
  var recipientRoles = [];
11
16
  if (!options || !options.cohosts && !options.presenters) {
@@ -19,5 +24,44 @@ var getBroadcastRoles = function getBroadcastRoles(options) {
19
24
  }
20
25
  return recipientRoles;
21
26
  };
27
+
28
+ /**
29
+ * Deals with all kinds of errors of breakout service
30
+ * @param {object} error // one of the breakout service error
31
+ * @param {string} position // position of the error occur
32
+ * @returns {object}
33
+ */
22
34
  exports.getBroadcastRoles = getBroadcastRoles;
35
+ var boServiceErrorHandler = function boServiceErrorHandler(error, position) {
36
+ var _error$body, _throwError;
37
+ var errorCode = error === null || error === void 0 ? void 0 : (_error$body = error.body) === null || _error$body === void 0 ? void 0 : _error$body.errorCode;
38
+ var _BREAKOUTS$ERROR_CODE = _constants.BREAKOUTS.ERROR_CODE,
39
+ EDIT_LOCK_TOKEN_MISMATCH = _BREAKOUTS$ERROR_CODE.EDIT_LOCK_TOKEN_MISMATCH,
40
+ EDIT_NOT_AUTHORIZED = _BREAKOUTS$ERROR_CODE.EDIT_NOT_AUTHORIZED;
41
+ var throwError;
42
+ switch (errorCode) {
43
+ case EDIT_LOCK_TOKEN_MISMATCH:
44
+ throwError = new _editLockError.default('Edit lock token mismatch', error);
45
+ break;
46
+ case EDIT_NOT_AUTHORIZED:
47
+ throwError = new _editLockError.default('Not authorized to interact with edit lock', error);
48
+ break;
49
+ default:
50
+ throwError = error;
51
+ }
52
+ _loggerProxy.default.logger.info("".concat(position, " --> ").concat((_throwError = throwError) === null || _throwError === void 0 ? void 0 : _throwError.message));
53
+ return throwError;
54
+ };
55
+
56
+ /**
57
+ *
58
+ * @param {object} breakout
59
+ * @param {string} newSessionType
60
+ * @returns {boolean}
61
+ */
62
+ exports.boServiceErrorHandler = boServiceErrorHandler;
63
+ var isSessionTypeChangedFromSessionToMain = function isSessionTypeChangedFromSessionToMain(breakout, newSessionType) {
64
+ return breakout.previous('sessionType') === _constants.BREAKOUTS.SESSION_TYPES.BREAKOUT && newSessionType === _constants.BREAKOUTS.SESSION_TYPES.MAIN;
65
+ };
66
+ exports.isSessionTypeChangedFromSessionToMain = isSessionTypeChangedFromSessionToMain;
23
67
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getBroadcastRoles","options","recipientRoles","cohosts","presenters","push"],"sources":["utils.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const getBroadcastRoles = (options): string[] => {\n const recipientRoles = [];\n if (!options || (!options.cohosts && !options.presenters)) {\n return recipientRoles;\n }\n if (options.cohosts) {\n recipientRoles.push('COHOST');\n }\n if (options.presenters) {\n recipientRoles.push('PRESENTER');\n }\n\n return recipientRoles;\n};\n"],"mappings":";;;;;;;AAAA;AACO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,OAAO,EAAe;EACtD,IAAMC,cAAc,GAAG,EAAE;EACzB,IAAI,CAACD,OAAO,IAAK,CAACA,OAAO,CAACE,OAAO,IAAI,CAACF,OAAO,CAACG,UAAW,EAAE;IACzD,OAAOF,cAAc;EACvB;EACA,IAAID,OAAO,CAACE,OAAO,EAAE;IACnBD,cAAc,CAACG,IAAI,CAAC,QAAQ,CAAC;EAC/B;EACA,IAAIJ,OAAO,CAACG,UAAU,EAAE;IACtBF,cAAc,CAACG,IAAI,CAAC,WAAW,CAAC;EAClC;EAEA,OAAOH,cAAc;AACvB,CAAC;AAAC"}
1
+ {"version":3,"names":["getBroadcastRoles","options","recipientRoles","cohosts","presenters","push","boServiceErrorHandler","error","position","errorCode","body","BREAKOUTS","ERROR_CODE","EDIT_LOCK_TOKEN_MISMATCH","EDIT_NOT_AUTHORIZED","throwError","BreakoutEditLockedError","LoggerProxy","logger","info","message","isSessionTypeChangedFromSessionToMain","breakout","newSessionType","previous","SESSION_TYPES","BREAKOUT","MAIN"],"sources":["utils.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport BreakoutEditLockedError from './edit-lock-error';\nimport {BREAKOUTS} from '../constants';\n\nexport const getBroadcastRoles = (options): string[] => {\n const recipientRoles = [];\n if (!options || (!options.cohosts && !options.presenters)) {\n return recipientRoles;\n }\n if (options.cohosts) {\n recipientRoles.push('COHOST');\n }\n if (options.presenters) {\n recipientRoles.push('PRESENTER');\n }\n\n return recipientRoles;\n};\n\n/**\n * Deals with all kinds of errors of breakout service\n * @param {object} error // one of the breakout service error\n * @param {string} position // position of the error occur\n * @returns {object}\n */\nexport const boServiceErrorHandler = (error: any, position: string): any => {\n const errorCode = error?.body?.errorCode;\n const {EDIT_LOCK_TOKEN_MISMATCH, EDIT_NOT_AUTHORIZED} = BREAKOUTS.ERROR_CODE;\n let throwError;\n switch (errorCode) {\n case EDIT_LOCK_TOKEN_MISMATCH:\n throwError = new BreakoutEditLockedError('Edit lock token mismatch', error);\n break;\n case EDIT_NOT_AUTHORIZED:\n throwError = new BreakoutEditLockedError('Not authorized to interact with edit lock', error);\n break;\n default:\n throwError = error;\n }\n LoggerProxy.logger.info(`${position} --> ${throwError?.message}`);\n\n return throwError;\n};\n\n/**\n *\n * @param {object} breakout\n * @param {string} newSessionType\n * @returns {boolean}\n */\nexport const isSessionTypeChangedFromSessionToMain = (breakout, newSessionType) => {\n return (\n breakout.previous('sessionType') === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n newSessionType === BREAKOUTS.SESSION_TYPES.MAIN\n );\n};\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AAHA;;AAKO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,OAAO,EAAe;EACtD,IAAMC,cAAc,GAAG,EAAE;EACzB,IAAI,CAACD,OAAO,IAAK,CAACA,OAAO,CAACE,OAAO,IAAI,CAACF,OAAO,CAACG,UAAW,EAAE;IACzD,OAAOF,cAAc;EACvB;EACA,IAAID,OAAO,CAACE,OAAO,EAAE;IACnBD,cAAc,CAACG,IAAI,CAAC,QAAQ,CAAC;EAC/B;EACA,IAAIJ,OAAO,CAACG,UAAU,EAAE;IACtBF,cAAc,CAACG,IAAI,CAAC,WAAW,CAAC;EAClC;EAEA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA;AAMO,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqB,CAAIC,KAAU,EAAEC,QAAgB,EAAU;EAAA;EAC1E,IAAMC,SAAS,GAAGF,KAAK,aAALA,KAAK,sCAALA,KAAK,CAAEG,IAAI,gDAAX,YAAaD,SAAS;EACxC,4BAAwDE,oBAAS,CAACC,UAAU;IAArEC,wBAAwB,yBAAxBA,wBAAwB;IAAEC,mBAAmB,yBAAnBA,mBAAmB;EACpD,IAAIC,UAAU;EACd,QAAQN,SAAS;IACf,KAAKI,wBAAwB;MAC3BE,UAAU,GAAG,IAAIC,sBAAuB,CAAC,0BAA0B,EAAET,KAAK,CAAC;MAC3E;IACF,KAAKO,mBAAmB;MACtBC,UAAU,GAAG,IAAIC,sBAAuB,CAAC,2CAA2C,EAAET,KAAK,CAAC;MAC5F;IACF;MACEQ,UAAU,GAAGR,KAAK;EAAC;EAEvBU,oBAAW,CAACC,MAAM,CAACC,IAAI,WAAIX,QAAQ,iCAAQO,UAAU,gDAAV,YAAYK,OAAO,EAAG;EAEjE,OAAOL,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA;AAMO,IAAMM,qCAAqC,GAAG,SAAxCA,qCAAqC,CAAIC,QAAQ,EAAEC,cAAc,EAAK;EACjF,OACED,QAAQ,CAACE,QAAQ,CAAC,aAAa,CAAC,KAAKb,oBAAS,CAACc,aAAa,CAACC,QAAQ,IACrEH,cAAc,KAAKZ,oBAAS,CAACc,aAAa,CAACE,IAAI;AAEnD,CAAC;AAAC"}
@@ -0,0 +1,51 @@
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 for general parameter errors
23
+ */
24
+ var NoMeetingInfoError = /*#__PURE__*/function (_Error) {
25
+ (0, _inherits2.default)(NoMeetingInfoError, _Error);
26
+ var _super = _createSuper(NoMeetingInfoError);
27
+ /**
28
+ * @constructor
29
+ * @param {String} [message]
30
+ * @param {Object} [error]
31
+ */
32
+ function NoMeetingInfoError() {
33
+ var _this;
34
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE;
35
+ var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
36
+ (0, _classCallCheck2.default)(this, NoMeetingInfoError);
37
+ _this = _super.call(this, message);
38
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "code", void 0);
39
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "error", void 0);
40
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkMessage", void 0);
41
+ _this.name = _constants.ERROR_DICTIONARY.NO_MEETING_INFO.NAME;
42
+ _this.sdkMessage = _constants.ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE;
43
+ _this.error = error;
44
+ _this.stack = error ? error.stack : new Error().stack;
45
+ _this.code = _constants.ERROR_DICTIONARY.NO_MEETING_INFO.CODE;
46
+ return _this;
47
+ }
48
+ return (0, _createClass2.default)(NoMeetingInfoError);
49
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
50
+ exports.default = NoMeetingInfoError;
51
+ //# sourceMappingURL=no-meeting-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NoMeetingInfoError","message","ERROR_DICTIONARY","NO_MEETING_INFO","MESSAGE","error","name","NAME","sdkMessage","stack","Error","code","CODE"],"sources":["no-meeting-info.ts"],"sourcesContent":["import {ERROR_DICTIONARY} from '../../constants';\n\n/**\n * Extended Error object for general parameter errors\n */\nexport default class NoMeetingInfoError extends Error {\n code: any;\n error: any;\n sdkMessage: any;\n\n /**\n * @constructor\n * @param {String} [message]\n * @param {Object} [error]\n */\n constructor(message: string = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE, error: any = null) {\n super(message);\n this.name = ERROR_DICTIONARY.NO_MEETING_INFO.NAME;\n this.sdkMessage = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE;\n this.error = error;\n this.stack = error ? error.stack : new Error().stack;\n this.code = ERROR_DICTIONARY.NO_MEETING_INFO.CODE;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAiD;AAAA;AAEjD;AACA;AACA;AAFA,IAGqBA,kBAAkB;EAAA;EAAA;EAKrC;AACF;AACA;AACA;AACA;EACE,8BAA2F;IAAA;IAAA,IAA/EC,OAAe,uEAAGC,2BAAgB,CAACC,eAAe,CAACC,OAAO;IAAA,IAAEC,KAAU,uEAAG,IAAI;IAAA;IACvF,0BAAMJ,OAAO;IAAE;IAAA;IAAA;IACf,MAAKK,IAAI,GAAGJ,2BAAgB,CAACC,eAAe,CAACI,IAAI;IACjD,MAAKC,UAAU,GAAGN,2BAAgB,CAACC,eAAe,CAACC,OAAO;IAC1D,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,eAAe,CAACS,IAAI;IAAC;EACpD;EAAC;AAAA,+CAjB6CF,KAAK;AAAA"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
5
+ var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
6
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
9
+ _Object$defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.ReclaimHostNotSupportedError = exports.ReclaimHostNotAllowedError = exports.ReclaimHostIsHostAlreadyError = exports.ReclaimHostEmptyWrongKeyError = void 0;
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
15
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
17
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
19
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapNativeSuper"));
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
21
+ var MEETINGCONSTANTS = _interopRequireWildcard(require("../../constants"));
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ 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); }; }
25
+ 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; } }
26
+ /**
27
+ * Extended Error object for reclaim host role empty or wrong key
28
+ */
29
+ var ReclaimHostEmptyWrongKeyError = /*#__PURE__*/function (_Error) {
30
+ (0, _inherits2.default)(ReclaimHostEmptyWrongKeyError, _Error);
31
+ var _super = _createSuper(ReclaimHostEmptyWrongKeyError);
32
+ /**
33
+ *
34
+ * @constructor
35
+ * @param {String} [message]
36
+ * @param {Object} [error]
37
+ */
38
+ function ReclaimHostEmptyWrongKeyError() {
39
+ var _this;
40
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.MESSAGE;
41
+ var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
42
+ (0, _classCallCheck2.default)(this, ReclaimHostEmptyWrongKeyError);
43
+ _this = _super.call(this, message);
44
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkMessage", void 0);
45
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "error", void 0);
46
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "code", void 0);
47
+ if (Error.captureStackTrace) {
48
+ Error.captureStackTrace((0, _assertThisInitialized2.default)(_this), ReclaimHostEmptyWrongKeyError);
49
+ }
50
+ _this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.NAME;
51
+ _this.sdkMessage = message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.MESSAGE;
52
+ _this.error = error;
53
+ _this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.CODE;
54
+ return _this;
55
+ }
56
+ return (0, _createClass2.default)(ReclaimHostEmptyWrongKeyError);
57
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
58
+ /**
59
+ * Extended Error object for reclaim host role not supported
60
+ */
61
+ exports.ReclaimHostEmptyWrongKeyError = ReclaimHostEmptyWrongKeyError;
62
+ var ReclaimHostNotSupportedError = /*#__PURE__*/function (_Error2) {
63
+ (0, _inherits2.default)(ReclaimHostNotSupportedError, _Error2);
64
+ var _super2 = _createSuper(ReclaimHostNotSupportedError);
65
+ /**
66
+ *
67
+ * @constructor
68
+ * @param {String} [message]
69
+ * @param {Object} [error]
70
+ */
71
+ function ReclaimHostNotSupportedError() {
72
+ var _this2;
73
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.MESSAGE;
74
+ var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
75
+ (0, _classCallCheck2.default)(this, ReclaimHostNotSupportedError);
76
+ _this2 = _super2.call(this, message);
77
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "sdkMessage", void 0);
78
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "error", void 0);
79
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "code", void 0);
80
+ if (Error.captureStackTrace) {
81
+ Error.captureStackTrace((0, _assertThisInitialized2.default)(_this2), ReclaimHostNotSupportedError);
82
+ }
83
+ _this2.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.NAME;
84
+ _this2.sdkMessage = message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.MESSAGE;
85
+ _this2.error = error;
86
+ _this2.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.CODE;
87
+ return _this2;
88
+ }
89
+ return (0, _createClass2.default)(ReclaimHostNotSupportedError);
90
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
91
+ /**
92
+ * Extended Error object for reclaim host role not allowed for other participants
93
+ */
94
+ exports.ReclaimHostNotSupportedError = ReclaimHostNotSupportedError;
95
+ var ReclaimHostNotAllowedError = /*#__PURE__*/function (_Error3) {
96
+ (0, _inherits2.default)(ReclaimHostNotAllowedError, _Error3);
97
+ var _super3 = _createSuper(ReclaimHostNotAllowedError);
98
+ /**
99
+ *
100
+ * @constructor
101
+ * @param {String} [message]
102
+ * @param {Object} [error]
103
+ */
104
+ function ReclaimHostNotAllowedError() {
105
+ var _this3;
106
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.MESSAGE;
107
+ var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
108
+ (0, _classCallCheck2.default)(this, ReclaimHostNotAllowedError);
109
+ _this3 = _super3.call(this, message);
110
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "sdkMessage", void 0);
111
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "error", void 0);
112
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "code", void 0);
113
+ if (Error.captureStackTrace) {
114
+ Error.captureStackTrace((0, _assertThisInitialized2.default)(_this3), ReclaimHostNotAllowedError);
115
+ }
116
+ _this3.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.NAME;
117
+ _this3.sdkMessage = message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.MESSAGE;
118
+ _this3.error = error;
119
+ _this3.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.CODE;
120
+ return _this3;
121
+ }
122
+ return (0, _createClass2.default)(ReclaimHostNotAllowedError);
123
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
124
+ /**
125
+ * Extended Error object for reclaim host role when user is host already
126
+ */
127
+ exports.ReclaimHostNotAllowedError = ReclaimHostNotAllowedError;
128
+ var ReclaimHostIsHostAlreadyError = /*#__PURE__*/function (_Error4) {
129
+ (0, _inherits2.default)(ReclaimHostIsHostAlreadyError, _Error4);
130
+ var _super4 = _createSuper(ReclaimHostIsHostAlreadyError);
131
+ /**
132
+ *
133
+ * @constructor
134
+ * @param {String} [message]
135
+ * @param {Object} [error]
136
+ */
137
+ function ReclaimHostIsHostAlreadyError() {
138
+ var _this4;
139
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.MESSAGE;
140
+ var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
141
+ (0, _classCallCheck2.default)(this, ReclaimHostIsHostAlreadyError);
142
+ _this4 = _super4.call(this, message);
143
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "sdkMessage", void 0);
144
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "error", void 0);
145
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "code", void 0);
146
+ if (Error.captureStackTrace) {
147
+ Error.captureStackTrace((0, _assertThisInitialized2.default)(_this4), ReclaimHostIsHostAlreadyError);
148
+ }
149
+ _this4.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.NAME;
150
+ _this4.sdkMessage = message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.MESSAGE;
151
+ _this4.error = error;
152
+ _this4.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.CODE;
153
+ return _this4;
154
+ }
155
+ return (0, _createClass2.default)(ReclaimHostIsHostAlreadyError);
156
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
157
+ exports.ReclaimHostIsHostAlreadyError = ReclaimHostIsHostAlreadyError;
158
+ //# sourceMappingURL=reclaim-host-role-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ReclaimHostEmptyWrongKeyError","message","MEETINGCONSTANTS","ERROR_DICTIONARY","RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY","MESSAGE","error","Error","captureStackTrace","name","NAME","sdkMessage","code","CODE","ReclaimHostNotSupportedError","RECLAIM_HOST_ROLE_NOT_SUPPORTED","ReclaimHostNotAllowedError","RECLAIM_HOST_ROLE_NOT_ALLOWED","ReclaimHostIsHostAlreadyError","RECLAIM_HOST_ROLE_IS_ALREADY_HOST"],"sources":["reclaim-host-role-errors.ts"],"sourcesContent":["import * as MEETINGCONSTANTS from '../../constants';\n\n/**\n * Extended Error object for reclaim host role empty or wrong key\n */\nexport class ReclaimHostEmptyWrongKeyError extends Error {\n sdkMessage: string;\n error: null;\n code: number;\n\n /**\n *\n * @constructor\n * @param {String} [message]\n * @param {Object} [error]\n */\n constructor(\n message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY\n .MESSAGE,\n error: any = null\n ) {\n super(message);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ReclaimHostEmptyWrongKeyError);\n }\n\n this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.NAME;\n this.sdkMessage =\n message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.MESSAGE;\n this.error = error;\n\n this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.CODE;\n }\n}\n\n/**\n * Extended Error object for reclaim host role not supported\n */\nexport class ReclaimHostNotSupportedError extends Error {\n sdkMessage: string;\n error: null;\n code: number;\n\n /**\n *\n * @constructor\n * @param {String} [message]\n * @param {Object} [error]\n */\n constructor(\n message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.MESSAGE,\n error: any = null\n ) {\n super(message);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ReclaimHostNotSupportedError);\n }\n\n this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.NAME;\n this.sdkMessage =\n message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.MESSAGE;\n this.error = error;\n\n this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.CODE;\n }\n}\n\n/**\n * Extended Error object for reclaim host role not allowed for other participants\n */\nexport class ReclaimHostNotAllowedError extends Error {\n sdkMessage: string;\n error: null;\n code: number;\n\n /**\n *\n * @constructor\n * @param {String} [message]\n * @param {Object} [error]\n */\n constructor(\n message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.MESSAGE,\n error: any = null\n ) {\n super(message);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ReclaimHostNotAllowedError);\n }\n\n this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.NAME;\n this.sdkMessage =\n message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.MESSAGE;\n this.error = error;\n\n this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.CODE;\n }\n}\n\n/**\n * Extended Error object for reclaim host role when user is host already\n */\nexport class ReclaimHostIsHostAlreadyError extends Error {\n sdkMessage: string;\n error: null;\n code: number;\n\n /**\n *\n * @constructor\n * @param {String} [message]\n * @param {Object} [error]\n */\n constructor(\n message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.MESSAGE,\n error: any = null\n ) {\n super(message);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ReclaimHostIsHostAlreadyError);\n }\n\n this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.NAME;\n this.sdkMessage =\n message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.MESSAGE;\n this.error = error;\n\n this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.CODE;\n }\n}\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequ
6
6
  _Object$defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.UserNotJoinedError = exports.UserInLobbyError = exports.NoMediaEstablishedYetError = exports.MeetingNotActiveError = exports.IceGatheringFailed = void 0;
9
+ exports.UserNotJoinedError = exports.UserInLobbyError = exports.SpaceIDDeprecatedError = exports.NoMediaEstablishedYetError = exports.MeetingNotActiveError = exports.IceGatheringFailed = exports.AddMediaFailed = void 0;
10
10
  exports.createMeetingsError = createMeetingsError;
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
@@ -77,14 +77,15 @@ WebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;
77
77
  * @classdesc Raised whenever the user has not established media yet.
78
78
  * @extends WebexMeetingsError
79
79
  * @property {number} code - 30103
80
- * @property {string} message - 'User has not established media yet'
80
+ * @property {string} message - error message
81
81
  */
82
82
  var NoMediaEstablishedYetError = /*#__PURE__*/function (_WebexMeetingsError3) {
83
83
  (0, _inherits2.default)(NoMediaEstablishedYetError, _WebexMeetingsError3);
84
84
  var _super3 = _createSuper(NoMediaEstablishedYetError);
85
+ // eslint-disable-next-line require-jsdoc
85
86
  function NoMediaEstablishedYetError() {
86
87
  (0, _classCallCheck2.default)(this, NoMediaEstablishedYetError);
87
- return _super3.call(this, NoMediaEstablishedYetError.CODE, 'User has not established media yet');
88
+ return _super3.call(this, NoMediaEstablishedYetError.CODE, 'Webrtc media connection is missing, call addMedia() first');
88
89
  }
89
90
  return (0, _createClass2.default)(NoMediaEstablishedYetError);
90
91
  }(_webexMeetingsError.default);
@@ -112,6 +113,26 @@ exports.UserInLobbyError = UserInLobbyError;
112
113
  (0, _defineProperty2.default)(UserInLobbyError, "CODE", 30104);
113
114
  WebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;
114
115
 
116
+ /**
117
+ * @class SpaceIDDeprecatedError
118
+ * @classdesc Raised whenever the user passes Space ID as destination for create meeting.
119
+ * @extends WebexMeetingsError
120
+ * @property {number} code - 30105
121
+ * @property {string} message - Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.'
122
+ */
123
+ var SpaceIDDeprecatedError = /*#__PURE__*/function (_WebexMeetingsError5) {
124
+ (0, _inherits2.default)(SpaceIDDeprecatedError, _WebexMeetingsError5);
125
+ var _super5 = _createSuper(SpaceIDDeprecatedError);
126
+ function SpaceIDDeprecatedError() {
127
+ (0, _classCallCheck2.default)(this, SpaceIDDeprecatedError);
128
+ return _super5.call(this, SpaceIDDeprecatedError.CODE, 'Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.');
129
+ }
130
+ return (0, _createClass2.default)(SpaceIDDeprecatedError);
131
+ }(_webexMeetingsError.default);
132
+ exports.SpaceIDDeprecatedError = SpaceIDDeprecatedError;
133
+ (0, _defineProperty2.default)(SpaceIDDeprecatedError, "CODE", 30105);
134
+ WebExMeetingsErrors[SpaceIDDeprecatedError.CODE] = SpaceIDDeprecatedError;
135
+
115
136
  /**
116
137
  * @class IceGatheringFailed
117
138
  * @classdesc Raised whenever ice gathering fails.
@@ -119,16 +140,36 @@ WebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;
119
140
  * @property {number} code - 30202
120
141
  * @property {string} message - 'user failed ice gathering check network/firewall'
121
142
  */
122
- var IceGatheringFailed = /*#__PURE__*/function (_WebexMeetingsError5) {
123
- (0, _inherits2.default)(IceGatheringFailed, _WebexMeetingsError5);
124
- var _super5 = _createSuper(IceGatheringFailed);
143
+ var IceGatheringFailed = /*#__PURE__*/function (_WebexMeetingsError6) {
144
+ (0, _inherits2.default)(IceGatheringFailed, _WebexMeetingsError6);
145
+ var _super6 = _createSuper(IceGatheringFailed);
125
146
  function IceGatheringFailed() {
126
147
  (0, _classCallCheck2.default)(this, IceGatheringFailed);
127
- return _super5.call(this, IceGatheringFailed.CODE, 'iceConnection: gethering ice candidate failed');
148
+ return _super6.call(this, IceGatheringFailed.CODE, 'iceConnection: gethering ice candidate failed');
128
149
  }
129
150
  return (0, _createClass2.default)(IceGatheringFailed);
130
151
  }(_webexMeetingsError.default);
131
152
  exports.IceGatheringFailed = IceGatheringFailed;
132
153
  (0, _defineProperty2.default)(IceGatheringFailed, "CODE", 30202);
133
154
  WebExMeetingsErrors[IceGatheringFailed.CODE] = IceGatheringFailed;
155
+
156
+ /**
157
+ * @class AddMediaFailed
158
+ * @classdesc Raised whenever we fail to successfully add media to a meeting
159
+ * @extends WebexMeetingsError
160
+ * @property {number} code - 30203
161
+ * @property {string} message - 'Failed to add media'
162
+ */
163
+ var AddMediaFailed = /*#__PURE__*/function (_WebexMeetingsError7) {
164
+ (0, _inherits2.default)(AddMediaFailed, _WebexMeetingsError7);
165
+ var _super7 = _createSuper(AddMediaFailed);
166
+ function AddMediaFailed() {
167
+ (0, _classCallCheck2.default)(this, AddMediaFailed);
168
+ return _super7.call(this, AddMediaFailed.CODE, 'Failed to add media');
169
+ }
170
+ return (0, _createClass2.default)(AddMediaFailed);
171
+ }(_webexMeetingsError.default);
172
+ exports.AddMediaFailed = AddMediaFailed;
173
+ (0, _defineProperty2.default)(AddMediaFailed, "CODE", 30203);
174
+ WebExMeetingsErrors[AddMediaFailed.CODE] = AddMediaFailed;
134
175
  //# sourceMappingURL=webex-errors.js.map