@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.200

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 (576) hide show
  1. package/README.md +45 -7
  2. package/UPGRADING.md +9 -9
  3. package/browsers.js +19 -24
  4. package/dist/annotation/annotation.types.js +7 -0
  5. package/dist/annotation/annotation.types.js.map +1 -0
  6. package/dist/annotation/constants.js +49 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.js +342 -0
  9. package/dist/annotation/index.js.map +1 -0
  10. package/dist/breakouts/breakout.js +216 -0
  11. package/dist/breakouts/breakout.js.map +1 -0
  12. package/dist/breakouts/collection.js +23 -0
  13. package/dist/breakouts/collection.js.map +1 -0
  14. package/dist/breakouts/edit-lock-error.js +52 -0
  15. package/dist/breakouts/edit-lock-error.js.map +1 -0
  16. package/dist/breakouts/events.js +45 -0
  17. package/dist/breakouts/events.js.map +1 -0
  18. package/dist/breakouts/index.js +1048 -0
  19. package/dist/breakouts/index.js.map +1 -0
  20. package/dist/breakouts/request.js +78 -0
  21. package/dist/breakouts/request.js.map +1 -0
  22. package/dist/breakouts/utils.js +67 -0
  23. package/dist/breakouts/utils.js.map +1 -0
  24. package/dist/common/browser-detection.js +1 -20
  25. package/dist/common/browser-detection.js.map +1 -1
  26. package/dist/common/collection.js +5 -20
  27. package/dist/common/collection.js.map +1 -1
  28. package/dist/common/config.js +0 -7
  29. package/dist/common/config.js.map +1 -1
  30. package/dist/common/errors/captcha-error.js +10 -24
  31. package/dist/common/errors/captcha-error.js.map +1 -1
  32. package/dist/common/errors/intent-to-join.js +11 -24
  33. package/dist/common/errors/intent-to-join.js.map +1 -1
  34. package/dist/common/errors/join-meeting.js +12 -25
  35. package/dist/common/errors/join-meeting.js.map +1 -1
  36. package/dist/common/errors/media.js +10 -24
  37. package/dist/common/errors/media.js.map +1 -1
  38. package/dist/common/errors/parameter.js +5 -33
  39. package/dist/common/errors/parameter.js.map +1 -1
  40. package/dist/common/errors/password-error.js +10 -24
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.js +9 -23
  43. package/dist/common/errors/permission.js.map +1 -1
  44. package/dist/common/errors/reconnection-in-progress.js +0 -17
  45. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  46. package/dist/common/errors/reconnection.js +10 -24
  47. package/dist/common/errors/reconnection.js.map +1 -1
  48. package/dist/common/errors/stats.js +10 -24
  49. package/dist/common/errors/stats.js.map +1 -1
  50. package/dist/common/errors/webex-errors.js +9 -43
  51. package/dist/common/errors/webex-errors.js.map +1 -1
  52. package/dist/common/errors/webex-meetings-error.js +5 -25
  53. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  54. package/dist/common/events/events-scope.js +0 -22
  55. package/dist/common/events/events-scope.js.map +1 -1
  56. package/dist/common/events/events.js +0 -23
  57. package/dist/common/events/events.js.map +1 -1
  58. package/dist/common/events/trigger-proxy.js +0 -12
  59. package/dist/common/events/trigger-proxy.js.map +1 -1
  60. package/dist/common/events/util.js +0 -15
  61. package/dist/common/events/util.js.map +1 -1
  62. package/dist/common/logs/logger-config.js +0 -4
  63. package/dist/common/logs/logger-config.js.map +1 -1
  64. package/dist/common/logs/logger-proxy.js +1 -8
  65. package/dist/common/logs/logger-proxy.js.map +1 -1
  66. package/dist/common/logs/request.js +37 -60
  67. package/dist/common/logs/request.js.map +1 -1
  68. package/dist/common/queue.js +28 -23
  69. package/dist/common/queue.js.map +1 -1
  70. package/dist/config.js +8 -13
  71. package/dist/config.js.map +1 -1
  72. package/dist/constants.js +250 -66
  73. package/dist/constants.js.map +1 -1
  74. package/dist/controls-options-manager/constants.js +14 -0
  75. package/dist/controls-options-manager/constants.js.map +1 -0
  76. package/dist/controls-options-manager/enums.js +27 -0
  77. package/dist/controls-options-manager/enums.js.map +1 -0
  78. package/dist/controls-options-manager/index.js +297 -0
  79. package/dist/controls-options-manager/index.js.map +1 -0
  80. package/dist/controls-options-manager/types.js +7 -0
  81. package/dist/controls-options-manager/types.js.map +1 -0
  82. package/dist/controls-options-manager/util.js +319 -0
  83. package/dist/controls-options-manager/util.js.map +1 -0
  84. package/dist/index.js +108 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/interpretation/collection.js +23 -0
  87. package/dist/interpretation/collection.js.map +1 -0
  88. package/dist/interpretation/index.js +366 -0
  89. package/dist/interpretation/index.js.map +1 -0
  90. package/dist/interpretation/siLanguage.js +25 -0
  91. package/dist/interpretation/siLanguage.js.map +1 -0
  92. package/dist/locus-info/controlsUtils.js +101 -29
  93. package/dist/locus-info/controlsUtils.js.map +1 -1
  94. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  95. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  96. package/dist/locus-info/fullState.js +0 -15
  97. package/dist/locus-info/fullState.js.map +1 -1
  98. package/dist/locus-info/hostUtils.js +4 -12
  99. package/dist/locus-info/hostUtils.js.map +1 -1
  100. package/dist/locus-info/index.js +532 -240
  101. package/dist/locus-info/index.js.map +1 -1
  102. package/dist/locus-info/infoUtils.js +3 -37
  103. package/dist/locus-info/infoUtils.js.map +1 -1
  104. package/dist/locus-info/mediaSharesUtils.js +54 -38
  105. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  106. package/dist/locus-info/parser.js +284 -154
  107. package/dist/locus-info/parser.js.map +1 -1
  108. package/dist/locus-info/selfUtils.js +110 -92
  109. package/dist/locus-info/selfUtils.js.map +1 -1
  110. package/dist/media/index.js +95 -226
  111. package/dist/media/index.js.map +1 -1
  112. package/dist/media/properties.js +99 -194
  113. package/dist/media/properties.js.map +1 -1
  114. package/dist/media/util.js +2 -9
  115. package/dist/media/util.js.map +1 -1
  116. package/dist/mediaQualityMetrics/config.js +505 -495
  117. package/dist/mediaQualityMetrics/config.js.map +1 -1
  118. package/dist/meeting/in-meeting-actions.js +83 -14
  119. package/dist/meeting/in-meeting-actions.js.map +1 -1
  120. package/dist/meeting/index.js +3478 -3563
  121. package/dist/meeting/index.js.map +1 -1
  122. package/dist/meeting/locusMediaRequest.js +291 -0
  123. package/dist/meeting/locusMediaRequest.js.map +1 -0
  124. package/dist/meeting/muteState.js +247 -183
  125. package/dist/meeting/muteState.js.map +1 -1
  126. package/dist/meeting/request.js +344 -344
  127. package/dist/meeting/request.js.map +1 -1
  128. package/dist/meeting/request.type.js +7 -0
  129. package/dist/meeting/request.type.js.map +1 -0
  130. package/dist/meeting/state.js +21 -31
  131. package/dist/meeting/state.js.map +1 -1
  132. package/dist/meeting/util.js +529 -588
  133. package/dist/meeting/util.js.map +1 -1
  134. package/dist/meeting-info/collection.js +6 -25
  135. package/dist/meeting-info/collection.js.map +1 -1
  136. package/dist/meeting-info/index.js +62 -39
  137. package/dist/meeting-info/index.js.map +1 -1
  138. package/dist/meeting-info/meeting-info-v2.js +328 -283
  139. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  140. package/dist/meeting-info/request.js +3 -15
  141. package/dist/meeting-info/request.js.map +1 -1
  142. package/dist/meeting-info/util.js +98 -183
  143. package/dist/meeting-info/util.js.map +1 -1
  144. package/dist/meeting-info/utilv2.js +156 -232
  145. package/dist/meeting-info/utilv2.js.map +1 -1
  146. package/dist/meetings/collection.js +26 -19
  147. package/dist/meetings/collection.js.map +1 -1
  148. package/dist/meetings/index.js +795 -574
  149. package/dist/meetings/index.js.map +1 -1
  150. package/dist/meetings/meetings.types.js +7 -0
  151. package/dist/meetings/meetings.types.js.map +1 -0
  152. package/dist/meetings/request.js +26 -41
  153. package/dist/meetings/request.js.map +1 -1
  154. package/dist/meetings/util.js +186 -155
  155. package/dist/meetings/util.js.map +1 -1
  156. package/dist/member/index.js +126 -85
  157. package/dist/member/index.js.map +1 -1
  158. package/dist/member/types.js +25 -0
  159. package/dist/member/types.js.map +1 -0
  160. package/dist/member/util.js +147 -88
  161. package/dist/member/util.js.map +1 -1
  162. package/dist/members/collection.js +13 -12
  163. package/dist/members/collection.js.map +1 -1
  164. package/dist/members/index.js +178 -204
  165. package/dist/members/index.js.map +1 -1
  166. package/dist/members/request.js +113 -68
  167. package/dist/members/request.js.map +1 -1
  168. package/dist/members/types.js +15 -0
  169. package/dist/members/types.js.map +1 -0
  170. package/dist/members/util.js +314 -260
  171. package/dist/members/util.js.map +1 -1
  172. package/dist/metrics/constants.js +4 -7
  173. package/dist/metrics/constants.js.map +1 -1
  174. package/dist/metrics/index.js +11 -558
  175. package/dist/metrics/index.js.map +1 -1
  176. package/dist/multistream/mediaRequestManager.js +264 -50
  177. package/dist/multistream/mediaRequestManager.js.map +1 -1
  178. package/dist/multistream/receiveSlot.js +58 -65
  179. package/dist/multistream/receiveSlot.js.map +1 -1
  180. package/dist/multistream/receiveSlotManager.js +76 -95
  181. package/dist/multistream/receiveSlotManager.js.map +1 -1
  182. package/dist/multistream/remoteMedia.js +62 -76
  183. package/dist/multistream/remoteMedia.js.map +1 -1
  184. package/dist/multistream/remoteMediaGroup.js +66 -43
  185. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  186. package/dist/multistream/remoteMediaManager.js +502 -442
  187. package/dist/multistream/remoteMediaManager.js.map +1 -1
  188. package/dist/networkQualityMonitor/index.js +40 -59
  189. package/dist/networkQualityMonitor/index.js.map +1 -1
  190. package/dist/personal-meeting-room/index.js +21 -45
  191. package/dist/personal-meeting-room/index.js.map +1 -1
  192. package/dist/personal-meeting-room/request.js +1 -31
  193. package/dist/personal-meeting-room/request.js.map +1 -1
  194. package/dist/personal-meeting-room/util.js +0 -13
  195. package/dist/personal-meeting-room/util.js.map +1 -1
  196. package/dist/reachability/index.js +192 -191
  197. package/dist/reachability/index.js.map +1 -1
  198. package/dist/reachability/request.js +15 -23
  199. package/dist/reachability/request.js.map +1 -1
  200. package/dist/reactions/constants.js +13 -0
  201. package/dist/reactions/constants.js.map +1 -0
  202. package/dist/reactions/reactions.js +109 -0
  203. package/dist/reactions/reactions.js.map +1 -0
  204. package/dist/reactions/reactions.type.js +36 -0
  205. package/dist/reactions/reactions.type.js.map +1 -0
  206. package/dist/reconnection-manager/index.js +384 -476
  207. package/dist/reconnection-manager/index.js.map +1 -1
  208. package/dist/recording-controller/enums.js +17 -0
  209. package/dist/recording-controller/enums.js.map +1 -0
  210. package/dist/recording-controller/index.js +363 -0
  211. package/dist/recording-controller/index.js.map +1 -0
  212. package/dist/recording-controller/util.js +64 -0
  213. package/dist/recording-controller/util.js.map +1 -0
  214. package/dist/roap/index.js +58 -91
  215. package/dist/roap/index.js.map +1 -1
  216. package/dist/roap/request.js +137 -135
  217. package/dist/roap/request.js.map +1 -1
  218. package/dist/roap/turnDiscovery.js +148 -100
  219. package/dist/roap/turnDiscovery.js.map +1 -1
  220. package/dist/rtcMetrics/constants.js +12 -0
  221. package/dist/rtcMetrics/constants.js.map +1 -0
  222. package/dist/rtcMetrics/index.js +115 -0
  223. package/dist/rtcMetrics/index.js.map +1 -0
  224. package/dist/statsAnalyzer/global.js +1 -95
  225. package/dist/statsAnalyzer/global.js.map +1 -1
  226. package/dist/statsAnalyzer/index.js +385 -460
  227. package/dist/statsAnalyzer/index.js.map +1 -1
  228. package/dist/statsAnalyzer/mqaUtil.js +143 -87
  229. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  230. package/dist/transcription/index.js +22 -47
  231. package/dist/transcription/index.js.map +1 -1
  232. package/dist/types/annotation/annotation.types.d.ts +42 -0
  233. package/dist/types/annotation/constants.d.ts +31 -0
  234. package/dist/types/annotation/index.d.ts +117 -0
  235. package/dist/types/breakouts/breakout.d.ts +8 -0
  236. package/dist/types/breakouts/collection.d.ts +5 -0
  237. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  238. package/dist/types/breakouts/events.d.ts +8 -0
  239. package/dist/types/breakouts/index.d.ts +5 -0
  240. package/dist/types/breakouts/request.d.ts +22 -0
  241. package/dist/types/breakouts/utils.d.ts +15 -0
  242. package/dist/types/common/browser-detection.d.ts +9 -0
  243. package/dist/types/common/collection.d.ts +48 -0
  244. package/dist/types/common/config.d.ts +2 -0
  245. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  246. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  247. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  248. package/dist/types/common/errors/media.d.ts +15 -0
  249. package/dist/types/common/errors/parameter.d.ts +15 -0
  250. package/dist/types/common/errors/password-error.d.ts +15 -0
  251. package/dist/types/common/errors/permission.d.ts +14 -0
  252. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  253. package/dist/types/common/errors/reconnection.d.ts +15 -0
  254. package/dist/types/common/errors/stats.d.ts +15 -0
  255. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  256. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  257. package/dist/types/common/events/events-scope.d.ts +17 -0
  258. package/dist/types/common/events/events.d.ts +12 -0
  259. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  260. package/dist/types/common/events/util.d.ts +2 -0
  261. package/dist/types/common/logs/logger-config.d.ts +2 -0
  262. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  263. package/dist/types/common/logs/request.d.ts +34 -0
  264. package/dist/types/common/queue.d.ts +34 -0
  265. package/dist/types/config.d.ts +72 -0
  266. package/dist/types/constants.d.ts +1016 -0
  267. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  268. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  269. package/dist/types/controls-options-manager/index.d.ts +136 -0
  270. package/dist/types/controls-options-manager/types.d.ts +43 -0
  271. package/dist/types/controls-options-manager/util.d.ts +1 -0
  272. package/dist/types/index.d.ts +7 -0
  273. package/dist/types/interpretation/collection.d.ts +5 -0
  274. package/dist/types/interpretation/index.d.ts +5 -0
  275. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  276. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  277. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  278. package/dist/types/locus-info/fullState.d.ts +2 -0
  279. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  280. package/dist/types/locus-info/index.d.ts +322 -0
  281. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  282. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  283. package/dist/types/locus-info/parser.d.ts +271 -0
  284. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  285. package/dist/types/media/index.d.ts +34 -0
  286. package/dist/types/media/properties.d.ts +93 -0
  287. package/dist/types/media/util.d.ts +2 -0
  288. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  289. package/dist/types/meeting/in-meeting-actions.d.ts +153 -0
  290. package/dist/types/meeting/index.d.ts +1471 -0
  291. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  292. package/dist/types/meeting/muteState.d.ts +184 -0
  293. package/dist/types/meeting/request.d.ts +257 -0
  294. package/dist/types/meeting/request.type.d.ts +11 -0
  295. package/dist/types/meeting/state.d.ts +9 -0
  296. package/dist/types/meeting/util.d.ts +78 -0
  297. package/dist/types/meeting-info/collection.d.ts +20 -0
  298. package/dist/types/meeting-info/index.d.ts +62 -0
  299. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  300. package/dist/types/meeting-info/request.d.ts +22 -0
  301. package/dist/types/meeting-info/util.d.ts +2 -0
  302. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  303. package/dist/types/meetings/collection.d.ts +31 -0
  304. package/dist/types/meetings/index.d.ts +367 -0
  305. package/dist/types/meetings/meetings.types.d.ts +4 -0
  306. package/dist/types/meetings/request.d.ts +27 -0
  307. package/dist/types/meetings/util.d.ts +18 -0
  308. package/dist/types/member/index.d.ts +159 -0
  309. package/dist/types/member/types.d.ts +32 -0
  310. package/dist/types/member/util.d.ts +2 -0
  311. package/dist/types/members/collection.d.ts +29 -0
  312. package/dist/types/members/index.d.ts +353 -0
  313. package/dist/types/members/request.d.ts +114 -0
  314. package/dist/types/members/types.d.ts +24 -0
  315. package/dist/types/members/util.d.ts +210 -0
  316. package/dist/types/metrics/constants.d.ts +55 -0
  317. package/dist/types/metrics/index.d.ts +45 -0
  318. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  319. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  320. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  321. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  322. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  323. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  324. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  325. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  326. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  327. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  328. package/dist/types/reachability/index.d.ts +152 -0
  329. package/dist/types/reachability/request.d.ts +37 -0
  330. package/dist/types/reactions/constants.d.ts +3 -0
  331. package/dist/types/reactions/reactions.d.ts +4 -0
  332. package/dist/types/reactions/reactions.type.d.ts +52 -0
  333. package/dist/types/reconnection-manager/index.d.ts +126 -0
  334. package/dist/types/recording-controller/enums.d.ts +7 -0
  335. package/dist/types/recording-controller/index.d.ts +208 -0
  336. package/dist/types/recording-controller/util.d.ts +14 -0
  337. package/dist/types/roap/index.d.ts +77 -0
  338. package/dist/types/roap/request.d.ts +36 -0
  339. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  340. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  341. package/dist/types/rtcMetrics/index.d.ts +46 -0
  342. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  343. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  344. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  345. package/dist/types/transcription/index.d.ts +64 -0
  346. package/internal-README.md +7 -6
  347. package/package.json +29 -21
  348. package/src/annotation/annotation.types.ts +50 -0
  349. package/src/annotation/constants.ts +36 -0
  350. package/src/annotation/index.ts +328 -0
  351. package/src/breakouts/README.md +220 -0
  352. package/src/breakouts/breakout.ts +188 -0
  353. package/src/breakouts/collection.ts +19 -0
  354. package/src/breakouts/edit-lock-error.ts +25 -0
  355. package/src/breakouts/events.ts +56 -0
  356. package/src/breakouts/index.ts +925 -0
  357. package/src/breakouts/request.ts +55 -0
  358. package/src/breakouts/utils.ts +57 -0
  359. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  360. package/src/common/collection.ts +9 -7
  361. package/src/common/{config.js → config.ts} +1 -1
  362. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  363. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  364. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  365. package/src/common/errors/{media.js → media.ts} +11 -7
  366. package/src/common/errors/parameter.ts +11 -7
  367. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  368. package/src/common/errors/{permission.js → permission.ts} +10 -6
  369. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  370. package/src/common/errors/{stats.js → stats.ts} +11 -7
  371. package/src/common/errors/{webex-errors.js → webex-errors.ts} +14 -9
  372. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  373. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  374. package/src/common/events/{events.js → events.ts} +5 -1
  375. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  376. package/src/common/events/{util.js → util.ts} +2 -3
  377. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  378. package/src/common/logs/logger-proxy.ts +44 -0
  379. package/src/common/logs/{request.js → request.ts} +22 -9
  380. package/src/common/queue.ts +22 -9
  381. package/src/{config.js → config.ts} +17 -17
  382. package/src/constants.ts +197 -22
  383. package/src/controls-options-manager/constants.ts +5 -0
  384. package/src/controls-options-manager/enums.ts +18 -0
  385. package/src/controls-options-manager/index.ts +278 -0
  386. package/src/controls-options-manager/types.ts +59 -0
  387. package/src/controls-options-manager/util.ts +300 -0
  388. package/src/index.ts +39 -0
  389. package/src/interpretation/README.md +60 -0
  390. package/src/interpretation/collection.ts +19 -0
  391. package/src/interpretation/index.ts +332 -0
  392. package/src/interpretation/siLanguage.ts +18 -0
  393. package/src/locus-info/controlsUtils.ts +222 -0
  394. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  395. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  396. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  397. package/src/locus-info/{index.js → index.ts} +518 -111
  398. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  399. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +65 -17
  400. package/src/locus-info/{parser.js → parser.ts} +271 -98
  401. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  402. package/src/media/index.ts +456 -0
  403. package/src/media/{properties.js → properties.ts} +80 -102
  404. package/src/media/{util.js → util.ts} +2 -2
  405. package/src/mediaQualityMetrics/config.ts +384 -0
  406. package/src/meeting/in-meeting-actions.ts +171 -3
  407. package/src/meeting/index.ts +7070 -0
  408. package/src/meeting/locusMediaRequest.ts +309 -0
  409. package/src/meeting/muteState.ts +450 -0
  410. package/src/meeting/{request.js → request.ts} +354 -214
  411. package/src/meeting/request.type.ts +13 -0
  412. package/src/meeting/{state.js → state.ts} +50 -35
  413. package/src/meeting/util.ts +615 -0
  414. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  415. package/src/meeting-info/index.ts +183 -0
  416. package/src/meeting-info/meeting-info-v2.ts +407 -0
  417. package/src/meeting-info/{request.js → request.ts} +14 -4
  418. package/src/meeting-info/{util.js → util.ts} +60 -51
  419. package/src/meeting-info/{utilv2.js → utilv2.ts} +77 -60
  420. package/src/meetings/{collection.js → collection.ts} +26 -3
  421. package/src/meetings/index.ts +1467 -0
  422. package/src/meetings/meetings.types.ts +12 -0
  423. package/src/meetings/{request.js → request.ts} +34 -25
  424. package/src/meetings/{util.js → util.ts} +137 -36
  425. package/src/member/{index.js → index.ts} +151 -56
  426. package/src/member/types.ts +38 -0
  427. package/src/member/util.ts +383 -0
  428. package/src/members/{collection.js → collection.ts} +10 -2
  429. package/src/members/{index.js → index.ts} +323 -145
  430. package/src/members/request.ts +255 -0
  431. package/src/members/types.ts +28 -0
  432. package/src/members/util.ts +339 -0
  433. package/src/metrics/{constants.js → constants.ts} +2 -6
  434. package/src/metrics/index.ts +73 -0
  435. package/src/multistream/mediaRequestManager.ts +337 -61
  436. package/src/multistream/receiveSlot.ts +69 -26
  437. package/src/multistream/receiveSlotManager.ts +66 -42
  438. package/src/multistream/remoteMedia.ts +40 -5
  439. package/src/multistream/remoteMediaGroup.ts +63 -3
  440. package/src/multistream/remoteMediaManager.ts +263 -66
  441. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  442. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  443. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  444. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  445. package/src/reachability/{index.js → index.ts} +157 -94
  446. package/src/reachability/request.ts +46 -35
  447. package/src/reactions/constants.ts +4 -0
  448. package/src/reactions/reactions.ts +104 -0
  449. package/src/reactions/reactions.type.ts +62 -0
  450. package/src/reconnection-manager/{index.js → index.ts} +254 -136
  451. package/src/recording-controller/enums.ts +8 -0
  452. package/src/recording-controller/index.ts +333 -0
  453. package/src/recording-controller/util.ts +75 -0
  454. package/src/roap/{index.js → index.ts} +86 -78
  455. package/src/roap/request.ts +163 -0
  456. package/src/roap/turnDiscovery.ts +111 -49
  457. package/src/rtcMetrics/constants.ts +3 -0
  458. package/src/rtcMetrics/index.ts +96 -0
  459. package/src/statsAnalyzer/global.ts +37 -0
  460. package/src/statsAnalyzer/index.ts +1272 -0
  461. package/src/statsAnalyzer/mqaUtil.ts +291 -0
  462. package/src/transcription/{index.js → index.ts} +46 -39
  463. package/test/integration/spec/converged-space-meetings.js +233 -0
  464. package/test/integration/spec/journey.js +804 -526
  465. package/test/integration/spec/space-meeting.js +391 -204
  466. package/test/integration/spec/transcription.js +7 -8
  467. package/test/unit/spec/annotation/index.ts +418 -0
  468. package/test/unit/spec/breakouts/breakout.ts +237 -0
  469. package/test/unit/spec/breakouts/collection.ts +15 -0
  470. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  471. package/test/unit/spec/breakouts/events.ts +89 -0
  472. package/test/unit/spec/breakouts/index.ts +1790 -0
  473. package/test/unit/spec/breakouts/request.ts +104 -0
  474. package/test/unit/spec/breakouts/utils.js +72 -0
  475. package/test/unit/spec/common/browser-detection.js +9 -28
  476. package/test/unit/spec/common/queue.js +31 -2
  477. package/test/unit/spec/controls-options-manager/index.js +287 -0
  478. package/test/unit/spec/controls-options-manager/util.js +582 -0
  479. package/test/unit/spec/fixture/locus.js +93 -90
  480. package/test/unit/spec/interpretation/collection.ts +15 -0
  481. package/test/unit/spec/interpretation/index.ts +589 -0
  482. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  483. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  484. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  485. package/test/unit/spec/locus-info/index.js +1176 -18
  486. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  487. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  488. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  489. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  490. package/test/unit/spec/locus-info/parser.js +65 -31
  491. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  492. package/test/unit/spec/locus-info/selfUtils.js +296 -12
  493. package/test/unit/spec/media/index.ts +162 -68
  494. package/test/unit/spec/media/properties.ts +9 -9
  495. package/test/unit/spec/meeting/in-meeting-actions.ts +82 -3
  496. package/test/unit/spec/meeting/index.js +4569 -1773
  497. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  498. package/test/unit/spec/meeting/muteState.js +382 -211
  499. package/test/unit/spec/meeting/request.js +444 -78
  500. package/test/unit/spec/meeting/utils.js +517 -192
  501. package/test/unit/spec/meeting-info/index.js +181 -0
  502. package/test/unit/spec/meeting-info/meetinginfov2.js +481 -76
  503. package/test/unit/spec/meeting-info/request.js +7 -9
  504. package/test/unit/spec/meeting-info/util.js +11 -12
  505. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  506. package/test/unit/spec/meetings/collection.js +15 -1
  507. package/test/unit/spec/meetings/index.js +1254 -330
  508. package/test/unit/spec/meetings/utils.js +220 -14
  509. package/test/unit/spec/member/index.js +58 -5
  510. package/test/unit/spec/member/util.js +494 -26
  511. package/test/unit/spec/members/index.js +423 -55
  512. package/test/unit/spec/members/request.js +228 -40
  513. package/test/unit/spec/members/utils.js +191 -4
  514. package/test/unit/spec/metrics/index.js +12 -66
  515. package/test/unit/spec/multistream/mediaRequestManager.ts +1013 -106
  516. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  517. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  518. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  519. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  520. package/test/unit/spec/multistream/remoteMediaManager.ts +730 -65
  521. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  522. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  523. package/test/unit/spec/reachability/index.ts +176 -27
  524. package/test/unit/spec/reachability/request.js +66 -0
  525. package/test/unit/spec/reconnection-manager/index.js +155 -9
  526. package/test/unit/spec/recording-controller/index.js +307 -0
  527. package/test/unit/spec/recording-controller/util.js +229 -0
  528. package/test/unit/spec/roap/index.ts +28 -52
  529. package/test/unit/spec/roap/request.ts +225 -0
  530. package/test/unit/spec/roap/turnDiscovery.ts +92 -50
  531. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  532. package/test/unit/spec/stats-analyzer/index.js +116 -60
  533. package/test/utils/cmr.js +44 -42
  534. package/test/utils/constants.js +9 -0
  535. package/test/utils/integrationTestUtils.js +46 -0
  536. package/test/utils/testUtils.js +63 -99
  537. package/test/utils/webex-config.js +22 -18
  538. package/test/utils/webex-test-users.js +57 -50
  539. package/tsconfig.json +6 -0
  540. package/dist/media/internal-media-core-wrapper.js +0 -22
  541. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  542. package/dist/meeting/effectsState.js +0 -327
  543. package/dist/meeting/effectsState.js.map +0 -1
  544. package/dist/metrics/config.js +0 -301
  545. package/dist/metrics/config.js.map +0 -1
  546. package/dist/multistream/multistreamMedia.js +0 -116
  547. package/dist/multistream/multistreamMedia.js.map +0 -1
  548. package/dist/peer-connection-manager/util.js +0 -124
  549. package/dist/peer-connection-manager/util.js.map +0 -1
  550. package/src/common/logs/logger-proxy.js +0 -33
  551. package/src/index.js +0 -15
  552. package/src/locus-info/controlsUtils.js +0 -102
  553. package/src/media/index.js +0 -459
  554. package/src/media/internal-media-core-wrapper.ts +0 -9
  555. package/src/mediaQualityMetrics/config.js +0 -382
  556. package/src/meeting/effectsState.js +0 -205
  557. package/src/meeting/index.js +0 -6284
  558. package/src/meeting/muteState.js +0 -318
  559. package/src/meeting/util.js +0 -506
  560. package/src/meeting-info/index.js +0 -131
  561. package/src/meeting-info/meeting-info-v2.js +0 -255
  562. package/src/meetings/index.js +0 -1015
  563. package/src/member/util.js +0 -254
  564. package/src/members/request.js +0 -131
  565. package/src/members/util.js +0 -258
  566. package/src/metrics/config.js +0 -324
  567. package/src/metrics/index.js +0 -530
  568. package/src/multistream/multistreamMedia.ts +0 -92
  569. package/src/peer-connection-manager/util.ts +0 -117
  570. package/src/roap/request.js +0 -127
  571. package/src/statsAnalyzer/global.js +0 -133
  572. package/src/statsAnalyzer/index.js +0 -1006
  573. package/src/statsAnalyzer/mqaUtil.js +0 -173
  574. package/test/unit/spec/meeting/effectsState.js +0 -291
  575. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  576. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,78 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
15
+ var _webexCore = require("@webex/webex-core");
16
+ var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
17
+ var _utils = require("./utils");
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
+ * @class BreakoutRequest
23
+ */
24
+ var BreakoutRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
25
+ (0, _inherits2.default)(BreakoutRequest, _StatelessWebexPlugin);
26
+ var _super = _createSuper(BreakoutRequest);
27
+ function BreakoutRequest() {
28
+ (0, _classCallCheck2.default)(this, BreakoutRequest);
29
+ return _super.apply(this, arguments);
30
+ }
31
+ (0, _createClass2.default)(BreakoutRequest, [{
32
+ key: "broadcast",
33
+ value:
34
+ /**
35
+ * Broadcast message to all breakout session's participants
36
+ * @param {String} url
37
+ * @param {String} message
38
+ * @param {Object} options
39
+ * @param {string} groupId
40
+ * @param {string} sessionId
41
+ * @returns {Promise}
42
+ */
43
+ function broadcast(_ref) {
44
+ var url = _ref.url,
45
+ message = _ref.message,
46
+ options = _ref.options,
47
+ groupId = _ref.groupId,
48
+ sessionId = _ref.sessionId;
49
+ var roles = (0, _utils.getBroadcastRoles)(options);
50
+ var params = {
51
+ id: groupId,
52
+ recipientRoles: roles.length ? roles : undefined,
53
+ sessions: sessionId ? [{
54
+ id: sessionId
55
+ }] : undefined
56
+ };
57
+
58
+ // @ts-ignore
59
+ return this.request({
60
+ method: _constants.HTTP_VERBS.POST,
61
+ uri: "".concat(url, "/message"),
62
+ body: {
63
+ message: message,
64
+ groups: [params]
65
+ }
66
+ }).catch(function (error) {
67
+ if (error.body && error.body.errorCode === 201409036 && error.statusCode === 409) {
68
+ _loggerProxy.default.logger.info("Breakouts#broadcast --> no joined participants");
69
+ } else {
70
+ throw error;
71
+ }
72
+ });
73
+ }
74
+ }]);
75
+ return BreakoutRequest;
76
+ }(_webexCore.StatelessWebexPlugin);
77
+ exports.default = BreakoutRequest;
78
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BreakoutRequest","url","message","options","groupId","sessionId","roles","getBroadcastRoles","params","id","recipientRoles","length","undefined","sessions","request","method","HTTP_VERBS","POST","uri","body","groups","catch","error","errorCode","statusCode","LoggerProxy","logger","info","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["import {StatelessWebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {getBroadcastRoles} from './utils';\nimport {HTTP_VERBS} from '../constants';\n\n/**\n * @class BreakoutRequest\n */\nexport default class BreakoutRequest extends StatelessWebexPlugin {\n /**\n * Broadcast message to all breakout session's participants\n * @param {String} url\n * @param {String} message\n * @param {Object} options\n * @param {string} groupId\n * @param {string} sessionId\n * @returns {Promise}\n */\n broadcast({\n url,\n message,\n options,\n groupId,\n sessionId,\n }: {\n url: string;\n message: string;\n options?: object;\n groupId: string;\n sessionId?: string;\n }) {\n const roles = getBroadcastRoles(options);\n const params = {\n id: groupId,\n recipientRoles: roles.length ? roles : undefined,\n sessions: sessionId ? [{id: sessionId}] : undefined,\n };\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${url}/message`,\n body: {\n message,\n groups: [params],\n },\n }).catch((error) => {\n if (error.body && error.body.errorCode === 201409036 && error.statusCode === 409) {\n LoggerProxy.logger.info(`Breakouts#broadcast --> no joined participants`);\n } else {\n throw error;\n }\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAAwC;AAAA;AAExC;AACA;AACA;AAFA,IAGqBA,eAAe;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAClC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,yBAYG;MAAA,IAXDC,GAAG,QAAHA,GAAG;QACHC,OAAO,QAAPA,OAAO;QACPC,OAAO,QAAPA,OAAO;QACPC,OAAO,QAAPA,OAAO;QACPC,SAAS,QAATA,SAAS;MAQT,IAAMC,KAAK,GAAG,IAAAC,wBAAiB,EAACJ,OAAO,CAAC;MACxC,IAAMK,MAAM,GAAG;QACbC,EAAE,EAAEL,OAAO;QACXM,cAAc,EAAEJ,KAAK,CAACK,MAAM,GAAGL,KAAK,GAAGM,SAAS;QAChDC,QAAQ,EAAER,SAAS,GAAG,CAAC;UAACI,EAAE,EAAEJ;QAAS,CAAC,CAAC,GAAGO;MAC5C,CAAC;;MAED;MACA,OAAO,IAAI,CAACE,OAAO,CAAC;QAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,YAAKjB,GAAG,aAAU;QACrBkB,IAAI,EAAE;UACJjB,OAAO,EAAPA,OAAO;UACPkB,MAAM,EAAE,CAACZ,MAAM;QACjB;MACF,CAAC,CAAC,CAACa,KAAK,CAAC,UAACC,KAAK,EAAK;QAClB,IAAIA,KAAK,CAACH,IAAI,IAAIG,KAAK,CAACH,IAAI,CAACI,SAAS,KAAK,SAAS,IAAID,KAAK,CAACE,UAAU,KAAK,GAAG,EAAE;UAChFC,oBAAW,CAACC,MAAM,CAACC,IAAI,kDAAkD;QAC3E,CAAC,MAAM;UACL,MAAML,KAAK;QACb;MACF,CAAC,CAAC;IACJ;EAAC;EAAA;AAAA,EA7C0CM,+BAAoB;AAAA"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
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");
12
+ // eslint-disable-next-line import/prefer-default-export
13
+
14
+ var getBroadcastRoles = function getBroadcastRoles(options) {
15
+ var recipientRoles = [];
16
+ if (!options || !options.cohosts && !options.presenters) {
17
+ return recipientRoles;
18
+ }
19
+ if (options.cohosts) {
20
+ recipientRoles.push('COHOST');
21
+ }
22
+ if (options.presenters) {
23
+ recipientRoles.push('PRESENTER');
24
+ }
25
+ return recipientRoles;
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
+ */
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;
67
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
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"}
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _memoize2 = _interopRequireDefault(require("lodash/memoize"));
14
-
15
10
  var _bowser = _interopRequireDefault(require("bowser"));
16
-
17
11
  var _window = _interopRequireDefault(require("global/window"));
12
+ /* eslint-disable @typescript-eslint/no-var-requires */
18
13
 
19
14
  var mockDetectionObject = {
20
15
  /* eslint-disable global-require */
@@ -24,7 +19,6 @@ var mockDetectionObject = {
24
19
  getOSVersion: function getOSVersion() {
25
20
  return require('os').release();
26
21
  },
27
-
28
22
  /* eslint-enable global-require */
29
23
  getBrowserName: function getBrowserName() {
30
24
  return '';
@@ -36,36 +30,26 @@ var mockDetectionObject = {
36
30
  return false;
37
31
  }
38
32
  };
39
-
40
33
  var createDetectionObject = function createDetectionObject(results) {
41
34
  var getOSName = function getOSName() {
42
35
  var _results$getOSName;
43
-
44
36
  return (_results$getOSName = results === null || results === void 0 ? void 0 : results.getOSName()) !== null && _results$getOSName !== void 0 ? _results$getOSName : '';
45
37
  };
46
-
47
38
  var getOSVersion = function getOSVersion() {
48
39
  var _results$getOSVersion;
49
-
50
40
  return (_results$getOSVersion = results === null || results === void 0 ? void 0 : results.getOSVersion()) !== null && _results$getOSVersion !== void 0 ? _results$getOSVersion : '';
51
41
  };
52
-
53
42
  var getBrowserName = function getBrowserName() {
54
43
  var _results$getBrowserNa;
55
-
56
44
  return (_results$getBrowserNa = results === null || results === void 0 ? void 0 : results.getBrowserName()) !== null && _results$getBrowserNa !== void 0 ? _results$getBrowserNa : '';
57
45
  };
58
-
59
46
  var getBrowserVersion = function getBrowserVersion() {
60
47
  var _results$getBrowserVe;
61
-
62
48
  return (_results$getBrowserVe = results === null || results === void 0 ? void 0 : results.getBrowserVersion()) !== null && _results$getBrowserVe !== void 0 ? _results$getBrowserVe : '';
63
49
  };
64
-
65
50
  var isBrowser = function isBrowser(name) {
66
51
  return !!(results !== null && results !== void 0 && results.isBrowser(name, true));
67
52
  };
68
-
69
53
  return {
70
54
  getOSName: getOSName,
71
55
  getOSVersion: getOSVersion,
@@ -74,12 +58,9 @@ var createDetectionObject = function createDetectionObject(results) {
74
58
  isBrowser: isBrowser
75
59
  };
76
60
  };
77
-
78
61
  var _default = (0, _memoize2.default)(function (agent) {
79
62
  var _window$navigator;
80
-
81
63
  return agent || (_window$navigator = _window.default.navigator) !== null && _window$navigator !== void 0 && _window$navigator.userAgent ? createDetectionObject(_bowser.default.getParser(agent || _window.default.navigator.userAgent)) : mockDetectionObject;
82
64
  });
83
-
84
65
  exports.default = _default;
85
66
  //# sourceMappingURL=browser-detection.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mockDetectionObject","getOSName","require","platform","getOSVersion","release","getBrowserName","getBrowserVersion","isBrowser","createDetectionObject","results","name","agent","window","navigator","userAgent","bowser","getParser"],"sources":["browser-detection.js"],"sourcesContent":["import bowser from 'bowser';\nimport {memoize} from 'lodash';\nimport window from 'global/window';\n\nconst mockDetectionObject = {\n /* eslint-disable global-require */\n getOSName: () => require('os').platform(),\n getOSVersion: () => require('os').release(),\n /* eslint-enable global-require */\n getBrowserName: () => '',\n getBrowserVersion: () => '',\n isBrowser: () => false\n};\n\nconst createDetectionObject = (results) => {\n const getOSName = () => results?.getOSName() ?? '';\n const getOSVersion = () => results?.getOSVersion() ?? '';\n\n const getBrowserName = () => results?.getBrowserName() ?? '';\n const getBrowserVersion = () => results?.getBrowserVersion() ?? '';\n\n const isBrowser = (name) => !!results?.isBrowser(name, true);\n\n return {\n getOSName,\n getOSVersion,\n getBrowserName,\n getBrowserVersion,\n isBrowser\n };\n};\n\nexport default memoize((agent) => (agent || window.navigator?.userAgent ?\n createDetectionObject(bowser.getParser(agent || window.navigator.userAgent)) :\n mockDetectionObject\n));\n"],"mappings":";;;;;;;;;;;;;;AAAA;;AAEA;;AAEA,IAAMA,mBAAmB,GAAG;EAC1B;EACAC,SAAS,EAAE;IAAA,OAAMC,OAAO,CAAC,IAAD,CAAP,CAAcC,QAAd,EAAN;EAAA,CAFe;EAG1BC,YAAY,EAAE;IAAA,OAAMF,OAAO,CAAC,IAAD,CAAP,CAAcG,OAAd,EAAN;EAAA,CAHY;;EAI1B;EACAC,cAAc,EAAE;IAAA,OAAM,EAAN;EAAA,CALU;EAM1BC,iBAAiB,EAAE;IAAA,OAAM,EAAN;EAAA,CANO;EAO1BC,SAAS,EAAE;IAAA,OAAM,KAAN;EAAA;AAPe,CAA5B;;AAUA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,OAAD,EAAa;EACzC,IAAMT,SAAS,GAAG,SAAZA,SAAY;IAAA;;IAAA,6BAAMS,OAAN,aAAMA,OAAN,uBAAMA,OAAO,CAAET,SAAT,EAAN,mEAA8B,EAA9B;EAAA,CAAlB;;EACA,IAAMG,YAAY,GAAG,SAAfA,YAAe;IAAA;;IAAA,gCAAMM,OAAN,aAAMA,OAAN,uBAAMA,OAAO,CAAEN,YAAT,EAAN,yEAAiC,EAAjC;EAAA,CAArB;;EAEA,IAAME,cAAc,GAAG,SAAjBA,cAAiB;IAAA;;IAAA,gCAAMI,OAAN,aAAMA,OAAN,uBAAMA,OAAO,CAAEJ,cAAT,EAAN,yEAAmC,EAAnC;EAAA,CAAvB;;EACA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB;IAAA;;IAAA,gCAAMG,OAAN,aAAMA,OAAN,uBAAMA,OAAO,CAAEH,iBAAT,EAAN,yEAAsC,EAAtC;EAAA,CAA1B;;EAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACG,IAAD;IAAA,OAAU,CAAC,EAACD,OAAD,aAACA,OAAD,eAACA,OAAO,CAAEF,SAAT,CAAmBG,IAAnB,EAAyB,IAAzB,CAAD,CAAX;EAAA,CAAlB;;EAEA,OAAO;IACLV,SAAS,EAATA,SADK;IAELG,YAAY,EAAZA,YAFK;IAGLE,cAAc,EAAdA,cAHK;IAILC,iBAAiB,EAAjBA,iBAJK;IAKLC,SAAS,EAATA;EALK,CAAP;AAOD,CAhBD;;eAkBe,uBAAQ,UAACI,KAAD;EAAA;;EAAA,OAAYA,KAAK,yBAAIC,eAAA,CAAOC,SAAX,8CAAI,kBAAkBC,SAA3B,GACjCN,qBAAqB,CAACO,eAAA,CAAOC,SAAP,CAAiBL,KAAK,IAAIC,eAAA,CAAOC,SAAP,CAAiBC,SAA3C,CAAD,CADY,GAEjCf,mBAFqB;AAAA,CAAR,C"}
1
+ {"version":3,"names":["mockDetectionObject","getOSName","require","platform","getOSVersion","release","getBrowserName","getBrowserVersion","isBrowser","createDetectionObject","results","name","agent","window","navigator","userAgent","bowser","getParser"],"sources":["browser-detection.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\n\nimport bowser from 'bowser';\nimport {memoize} from 'lodash';\nimport window from 'global/window';\n\nconst mockDetectionObject = {\n /* eslint-disable global-require */\n getOSName: () => require('os').platform(),\n getOSVersion: () => require('os').release(),\n /* eslint-enable global-require */\n getBrowserName: () => '',\n getBrowserVersion: () => '',\n isBrowser: () => false,\n};\n\nconst createDetectionObject = (results) => {\n const getOSName = () => results?.getOSName() ?? '';\n const getOSVersion = () => results?.getOSVersion() ?? '';\n\n const getBrowserName = () => results?.getBrowserName() ?? '';\n const getBrowserVersion = () => results?.getBrowserVersion() ?? '';\n\n const isBrowser = (name) => !!results?.isBrowser(name, true);\n\n return {\n getOSName,\n getOSVersion,\n getBrowserName,\n getBrowserVersion,\n isBrowser,\n };\n};\n\nexport default memoize((agent?: any) =>\n agent || window.navigator?.userAgent\n ? createDetectionObject(bowser.getParser(agent || window.navigator.userAgent))\n : mockDetectionObject\n);\n"],"mappings":";;;;;;;;;AAEA;AAEA;AAJA;;AAMA,IAAMA,mBAAmB,GAAG;EAC1B;EACAC,SAAS,EAAE;IAAA,OAAMC,OAAO,CAAC,IAAI,CAAC,CAACC,QAAQ,EAAE;EAAA;EACzCC,YAAY,EAAE;IAAA,OAAMF,OAAO,CAAC,IAAI,CAAC,CAACG,OAAO,EAAE;EAAA;EAC3C;EACAC,cAAc,EAAE;IAAA,OAAM,EAAE;EAAA;EACxBC,iBAAiB,EAAE;IAAA,OAAM,EAAE;EAAA;EAC3BC,SAAS,EAAE;IAAA,OAAM,KAAK;EAAA;AACxB,CAAC;AAED,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqB,CAAIC,OAAO,EAAK;EACzC,IAAMT,SAAS,GAAG,SAAZA,SAAS;IAAA;IAAA,6BAASS,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAET,SAAS,EAAE,mEAAI,EAAE;EAAA;EAClD,IAAMG,YAAY,GAAG,SAAfA,YAAY;IAAA;IAAA,gCAASM,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEN,YAAY,EAAE,yEAAI,EAAE;EAAA;EAExD,IAAME,cAAc,GAAG,SAAjBA,cAAc;IAAA;IAAA,gCAASI,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ,cAAc,EAAE,yEAAI,EAAE;EAAA;EAC5D,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiB;IAAA;IAAA,gCAASG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEH,iBAAiB,EAAE,yEAAI,EAAE;EAAA;EAElE,IAAMC,SAAS,GAAG,SAAZA,SAAS,CAAIG,IAAI;IAAA,OAAK,CAAC,EAACD,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEF,SAAS,CAACG,IAAI,EAAE,IAAI,CAAC;EAAA;EAE5D,OAAO;IACLV,SAAS,EAATA,SAAS;IACTG,YAAY,EAAZA,YAAY;IACZE,cAAc,EAAdA,cAAc;IACdC,iBAAiB,EAAjBA,iBAAiB;IACjBC,SAAS,EAATA;EACF,CAAC;AACH,CAAC;AAAC,eAEa,uBAAQ,UAACI,KAAW;EAAA;EAAA,OACjCA,KAAK,yBAAIC,eAAM,CAACC,SAAS,8CAAhB,kBAAkBC,SAAS,GAChCN,qBAAqB,CAACO,eAAM,CAACC,SAAS,CAACL,KAAK,IAAIC,eAAM,CAACC,SAAS,CAACC,SAAS,CAAC,CAAC,GAC5Ef,mBAAmB;AAAA,EACxB;AAAA"}
@@ -1,25 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
-
15
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
16
-
17
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
-
19
12
  var _isString2 = _interopRequireDefault(require("lodash/isString"));
20
-
21
13
  var _parameter = _interopRequireDefault(require("./errors/parameter"));
22
-
23
14
  /**
24
15
  * @class Collection
25
16
  */
@@ -32,7 +23,6 @@ var Collection = /*#__PURE__*/function () {
32
23
  (0, _classCallCheck2.default)(this, Collection);
33
24
  (0, _defineProperty2.default)(this, "namespace", 'Meetings');
34
25
  (0, _defineProperty2.default)(this, "propertyName", void 0);
35
-
36
26
  if (!property || !(0, _isString2.default)(property)) {
37
27
  throw new _parameter.default('Collection expects a string to use as a property name.');
38
28
  }
@@ -43,8 +33,6 @@ var Collection = /*#__PURE__*/function () {
43
33
  * @public
44
34
  * @memberof Meetings
45
35
  */
46
-
47
-
48
36
  this.propertyName = property;
49
37
  /**
50
38
  * The actual object for the collection
@@ -53,22 +41,21 @@ var Collection = /*#__PURE__*/function () {
53
41
  * @public
54
42
  * @memberof Meetings
55
43
  */
56
-
57
44
  this[this.propertyName] = {};
58
45
  }
46
+
59
47
  /**
60
48
  * @param {String} id ID of the thing stuffed into the collection at id location
61
49
  * @returns {Any} returns whatever is being stuffed into the collection
62
50
  * @public
63
51
  * @memberof Collection
64
52
  */
65
-
66
-
67
53
  (0, _createClass2.default)(Collection, [{
68
54
  key: "get",
69
55
  value: function get(id) {
70
56
  return this[this.propertyName] && this[this.propertyName][id] ? this[this.propertyName][id] : null;
71
57
  }
58
+
72
59
  /**
73
60
  * @param {String} id the id of the meeting info instance to add to the collection
74
61
  * @param {Any} value the thing to set in the collection
@@ -76,13 +63,13 @@ var Collection = /*#__PURE__*/function () {
76
63
  * @public
77
64
  * @memberof Collection
78
65
  */
79
-
80
66
  }, {
81
67
  key: "set",
82
68
  value: function set(id, value) {
83
69
  this[this.propertyName][id] = value;
84
70
  return this.get(id);
85
71
  }
72
+
86
73
  /**
87
74
  * remove the thing at the id
88
75
  * @param {String} id ID of the thing you wish to delete from the collection
@@ -90,30 +77,29 @@ var Collection = /*#__PURE__*/function () {
90
77
  * @public
91
78
  * @memberof Collection
92
79
  */
93
-
94
80
  }, {
95
81
  key: "delete",
96
82
  value: function _delete(id) {
97
83
  delete this[this.propertyName][id];
98
84
  }
85
+
99
86
  /**
100
87
  * @returns {Object} returns an object map of things stuffed into the collection
101
88
  * @public
102
89
  * @memberof Collection
103
90
  */
104
-
105
91
  }, {
106
92
  key: "getAll",
107
93
  value: function getAll() {
108
94
  return this[this.propertyName];
109
95
  }
96
+
110
97
  /**
111
98
  * @param {Object} set the replacement object
112
99
  * @returns {Object} returns an object map of things stuffed into the collection
113
100
  * @public
114
101
  * @memberof Collection
115
102
  */
116
-
117
103
  }, {
118
104
  key: "setAll",
119
105
  value: function setAll(set) {
@@ -123,6 +109,5 @@ var Collection = /*#__PURE__*/function () {
123
109
  }]);
124
110
  return Collection;
125
111
  }();
126
-
127
112
  exports.default = Collection;
128
113
  //# sourceMappingURL=collection.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Collection","property","ParameterError","propertyName","id","value","get","set","getAll"],"sources":["collection.ts"],"sourcesContent":["import {isString} from 'lodash';\n\nimport ParameterError from './errors/parameter';\n\n/**\n * @class Collection\n */\nexport default class Collection {\n namespace = 'Meetings';\n propertyName: string;\n\n /**\n * @param {String} property\n * @memberof Collection\n */\n constructor(property) {\n if (!property || !isString(property)) {\n throw new ParameterError('Collection expects a string to use as a property name.');\n }\n /**\n * The property name for what collection will be stored, i.e., this.meetingInfos, this.meetings, etc.\n * @instance\n * @type {String}\n * @public\n * @memberof Meetings\n */\n this.propertyName = property;\n /**\n * The actual object for the collection\n * @instance\n * @type {Object}\n * @public\n * @memberof Meetings\n */\n this[this.propertyName] = {};\n }\n\n /**\n * @param {String} id ID of the thing stuffed into the collection at id location\n * @returns {Any} returns whatever is being stuffed into the collection\n * @public\n * @memberof Collection\n */\n get(id) {\n return this[this.propertyName] && this[this.propertyName][id] ? this[this.propertyName][id] : null;\n }\n\n /**\n * @param {String} id the id of the meeting info instance to add to the collection\n * @param {Any} value the thing to set in the collection\n * @returns {Any} returns the thing just put in the collection\n * @public\n * @memberof Collection\n */\n set(id, value) {\n this[this.propertyName][id] = value;\n\n return this.get(id);\n }\n\n /**\n * remove the thing at the id\n * @param {String} id ID of the thing you wish to delete from the collection\n * @returns {undefined}\n * @public\n * @memberof Collection\n */\n delete(id) {\n delete this[this.propertyName][id];\n }\n\n /**\n * @returns {Object} returns an object map of things stuffed into the collection\n * @public\n * @memberof Collection\n */\n getAll() {\n return this[this.propertyName];\n }\n\n /**\n * @param {Object} set the replacement object\n * @returns {Object} returns an object map of things stuffed into the collection\n * @public\n * @memberof Collection\n */\n setAll(set) {\n this[this.propertyName] = set;\n\n return this.getAll();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;AAEA;AACA;AACA;IACqBA,U;EAInB;AACF;AACA;AACA;EACE,oBAAYC,QAAZ,EAAsB;IAAA;IAAA,iDAPV,UAOU;IAAA;;IACpB,IAAI,CAACA,QAAD,IAAa,CAAC,wBAASA,QAAT,CAAlB,EAAsC;MACpC,MAAM,IAAIC,kBAAJ,CAAmB,wDAAnB,CAAN;IACD;IACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;IACI,KAAKC,YAAL,GAAoBF,QAApB;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;;IACI,KAAK,KAAKE,YAAV,IAA0B,EAA1B;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;;;WACE,aAAIC,EAAJ,EAAQ;MACN,OAAO,KAAK,KAAKD,YAAV,KAA2B,KAAK,KAAKA,YAAV,EAAwBC,EAAxB,CAA3B,GAAyD,KAAK,KAAKD,YAAV,EAAwBC,EAAxB,CAAzD,GAAuF,IAA9F;IACD;IAED;AACF;AACA;AACA;AACA;AACA;AACA;;;;WACE,aAAIA,EAAJ,EAAQC,KAAR,EAAe;MACb,KAAK,KAAKF,YAAV,EAAwBC,EAAxB,IAA8BC,KAA9B;MAEA,OAAO,KAAKC,GAAL,CAASF,EAAT,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;AACA;;;;WACE,iBAAOA,EAAP,EAAW;MACT,OAAO,KAAK,KAAKD,YAAV,EAAwBC,EAAxB,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;;;;WACE,kBAAS;MACP,OAAO,KAAK,KAAKD,YAAV,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,gBAAOI,GAAP,EAAY;MACV,KAAK,KAAKJ,YAAV,IAA0BI,GAA1B;MAEA,OAAO,KAAKC,MAAL,EAAP;IACD"}
1
+ {"version":3,"names":["Collection","property","ParameterError","propertyName","id","value","get","set","getAll"],"sources":["collection.ts"],"sourcesContent":["import {isString} from 'lodash';\n\nimport ParameterError from './errors/parameter';\n\n/**\n * @class Collection\n */\nexport default class Collection {\n namespace = 'Meetings';\n propertyName: string;\n\n /**\n * @param {String} property\n * @memberof Collection\n */\n constructor(property: string) {\n if (!property || !isString(property)) {\n throw new ParameterError('Collection expects a string to use as a property name.');\n }\n /**\n * The property name for what collection will be stored, i.e., this.meetingInfos, this.meetings, etc.\n * @instance\n * @type {String}\n * @public\n * @memberof Meetings\n */\n this.propertyName = property;\n /**\n * The actual object for the collection\n * @instance\n * @type {Object}\n * @public\n * @memberof Meetings\n */\n this[this.propertyName] = {};\n }\n\n /**\n * @param {String} id ID of the thing stuffed into the collection at id location\n * @returns {Any} returns whatever is being stuffed into the collection\n * @public\n * @memberof Collection\n */\n public get(id: string) {\n return this[this.propertyName] && this[this.propertyName][id]\n ? this[this.propertyName][id]\n : null;\n }\n\n /**\n * @param {String} id the id of the meeting info instance to add to the collection\n * @param {Any} value the thing to set in the collection\n * @returns {Any} returns the thing just put in the collection\n * @public\n * @memberof Collection\n */\n public set(id: string, value: any) {\n this[this.propertyName][id] = value;\n\n return this.get(id);\n }\n\n /**\n * remove the thing at the id\n * @param {String} id ID of the thing you wish to delete from the collection\n * @returns {undefined}\n * @public\n * @memberof Collection\n */\n public delete(id: string) {\n delete this[this.propertyName][id];\n }\n\n /**\n * @returns {Object} returns an object map of things stuffed into the collection\n * @public\n * @memberof Collection\n */\n public getAll() {\n return this[this.propertyName];\n }\n\n /**\n * @param {Object} set the replacement object\n * @returns {Object} returns an object map of things stuffed into the collection\n * @public\n * @memberof Collection\n */\n public setAll(set: object) {\n this[this.propertyName] = set;\n\n return this.getAll();\n }\n}\n"],"mappings":";;;;;;;;;;;;AAEA;AAEA;AACA;AACA;AAFA,IAGqBA,UAAU;EAI7B;AACF;AACA;AACA;EACE,oBAAYC,QAAgB,EAAE;IAAA;IAAA,iDAPlB,UAAU;IAAA;IAQpB,IAAI,CAACA,QAAQ,IAAI,CAAC,wBAASA,QAAQ,CAAC,EAAE;MACpC,MAAM,IAAIC,kBAAc,CAAC,wDAAwD,CAAC;IACpF;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAGF,QAAQ;IAC5B;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAAC,IAAI,CAACE,YAAY,CAAC,GAAG,CAAC,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,aAAWC,EAAU,EAAE;MACrB,OAAO,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAACA,YAAY,CAAC,CAACC,EAAE,CAAC,GACzD,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,CAACC,EAAE,CAAC,GAC3B,IAAI;IACV;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,aAAWA,EAAU,EAAEC,KAAU,EAAE;MACjC,IAAI,CAAC,IAAI,CAACF,YAAY,CAAC,CAACC,EAAE,CAAC,GAAGC,KAAK;MAEnC,OAAO,IAAI,CAACC,GAAG,CAACF,EAAE,CAAC;IACrB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,iBAAcA,EAAU,EAAE;MACxB,OAAO,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,CAACC,EAAE,CAAC;IACpC;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,kBAAgB;MACd,OAAO,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC;IAChC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,gBAAcI,GAAW,EAAE;MACzB,IAAI,CAAC,IAAI,CAACJ,YAAY,CAAC,GAAGI,GAAG;MAE7B,OAAO,IAAI,CAACC,MAAM,EAAE;IACtB;EAAC;EAAA;AAAA;AAAA"}
@@ -1,24 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
14
-
15
10
  var StaticConfig = {};
16
-
17
11
  StaticConfig.set = function (options) {
18
12
  var values = {};
19
13
  StaticConfig.meetings = (0, _assign.default)(values, options);
20
14
  };
21
-
22
15
  var _default = StaticConfig;
23
16
  exports.default = _default;
24
17
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StaticConfig","set","options","values","meetings"],"sources":["config.js"],"sourcesContent":["const StaticConfig = {};\n\nStaticConfig.set = (options) => {\n const values = {};\n\n StaticConfig.meetings = Object.assign(values, options);\n};\n\nexport default StaticConfig;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAMA,YAAY,GAAG,EAArB;;AAEAA,YAAY,CAACC,GAAb,GAAmB,UAACC,OAAD,EAAa;EAC9B,IAAMC,MAAM,GAAG,EAAf;EAEAH,YAAY,CAACI,QAAb,GAAwB,qBAAcD,MAAd,EAAsBD,OAAtB,CAAxB;AACD,CAJD;;eAMeF,Y"}
1
+ {"version":3,"names":["StaticConfig","set","options","values","meetings"],"sources":["config.ts"],"sourcesContent":["const StaticConfig: any = {};\n\nStaticConfig.set = (options) => {\n const values = {};\n\n StaticConfig.meetings = Object.assign(values, options);\n};\n\nexport default StaticConfig;\n"],"mappings":";;;;;;;;;AAAA,IAAMA,YAAiB,GAAG,CAAC,CAAC;AAE5BA,YAAY,CAACC,GAAG,GAAG,UAACC,OAAO,EAAK;EAC9B,IAAMC,MAAM,GAAG,CAAC,CAAC;EAEjBH,YAAY,CAACI,QAAQ,GAAG,qBAAcD,MAAM,EAAED,OAAO,CAAC;AACxD,CAAC;AAAC,eAEaF,YAAY;AAAA"}