@webex/plugin-meetings 3.0.0-beta.1 → 3.0.0-beta.104

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 (548) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.js +48 -0
  6. package/dist/annotation/constants.js.map +1 -0
  7. package/dist/annotation/index.js +357 -0
  8. package/dist/annotation/index.js.map +1 -0
  9. package/dist/breakouts/breakout.js +176 -0
  10. package/dist/breakouts/breakout.js.map +1 -0
  11. package/dist/breakouts/collection.js +23 -0
  12. package/dist/breakouts/collection.js.map +1 -0
  13. package/dist/breakouts/edit-lock-error.js +52 -0
  14. package/dist/breakouts/edit-lock-error.js.map +1 -0
  15. package/dist/breakouts/events.js +43 -0
  16. package/dist/breakouts/events.js.map +1 -0
  17. package/dist/breakouts/index.js +919 -0
  18. package/dist/breakouts/index.js.map +1 -0
  19. package/dist/breakouts/request.js +78 -0
  20. package/dist/breakouts/request.js.map +1 -0
  21. package/dist/breakouts/utils.js +67 -0
  22. package/dist/breakouts/utils.js.map +1 -0
  23. package/dist/common/browser-detection.js +1 -20
  24. package/dist/common/browser-detection.js.map +1 -1
  25. package/dist/common/collection.js +5 -20
  26. package/dist/common/collection.js.map +1 -1
  27. package/dist/common/config.js +0 -7
  28. package/dist/common/config.js.map +1 -1
  29. package/dist/common/errors/captcha-error.js +10 -24
  30. package/dist/common/errors/captcha-error.js.map +1 -1
  31. package/dist/common/errors/intent-to-join.js +11 -24
  32. package/dist/common/errors/intent-to-join.js.map +1 -1
  33. package/dist/common/errors/join-meeting.js +12 -25
  34. package/dist/common/errors/join-meeting.js.map +1 -1
  35. package/dist/common/errors/media.js +10 -24
  36. package/dist/common/errors/media.js.map +1 -1
  37. package/dist/common/errors/parameter.js +5 -33
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.js +10 -24
  40. package/dist/common/errors/password-error.js.map +1 -1
  41. package/dist/common/errors/permission.js +9 -23
  42. package/dist/common/errors/permission.js.map +1 -1
  43. package/dist/common/errors/reconnection-in-progress.js +0 -17
  44. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  45. package/dist/common/errors/reconnection.js +10 -24
  46. package/dist/common/errors/reconnection.js.map +1 -1
  47. package/dist/common/errors/stats.js +10 -24
  48. package/dist/common/errors/stats.js.map +1 -1
  49. package/dist/common/errors/webex-errors.js +10 -69
  50. package/dist/common/errors/webex-errors.js.map +1 -1
  51. package/dist/common/errors/webex-meetings-error.js +5 -25
  52. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  53. package/dist/common/events/events-scope.js +0 -22
  54. package/dist/common/events/events-scope.js.map +1 -1
  55. package/dist/common/events/events.js +0 -23
  56. package/dist/common/events/events.js.map +1 -1
  57. package/dist/common/events/trigger-proxy.js +0 -12
  58. package/dist/common/events/trigger-proxy.js.map +1 -1
  59. package/dist/common/events/util.js +0 -15
  60. package/dist/common/events/util.js.map +1 -1
  61. package/dist/common/logs/logger-config.js +0 -4
  62. package/dist/common/logs/logger-config.js.map +1 -1
  63. package/dist/common/logs/logger-proxy.js +1 -8
  64. package/dist/common/logs/logger-proxy.js.map +1 -1
  65. package/dist/common/logs/request.js +37 -60
  66. package/dist/common/logs/request.js.map +1 -1
  67. package/dist/common/queue.js +4 -14
  68. package/dist/common/queue.js.map +1 -1
  69. package/dist/config.js +7 -6
  70. package/dist/config.js.map +1 -1
  71. package/dist/constants.js +184 -122
  72. package/dist/constants.js.map +1 -1
  73. package/dist/controls-options-manager/constants.js +14 -0
  74. package/dist/controls-options-manager/constants.js.map +1 -0
  75. package/dist/controls-options-manager/enums.js +25 -0
  76. package/dist/controls-options-manager/enums.js.map +1 -0
  77. package/dist/controls-options-manager/index.js +297 -0
  78. package/dist/controls-options-manager/index.js.map +1 -0
  79. package/dist/controls-options-manager/types.js +7 -0
  80. package/dist/controls-options-manager/types.js.map +1 -0
  81. package/dist/controls-options-manager/util.js +250 -0
  82. package/dist/controls-options-manager/util.js.map +1 -0
  83. package/dist/index.js +72 -17
  84. package/dist/index.js.map +1 -1
  85. package/dist/locus-info/controlsUtils.js +56 -29
  86. package/dist/locus-info/controlsUtils.js.map +1 -1
  87. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  88. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  89. package/dist/locus-info/fullState.js +0 -15
  90. package/dist/locus-info/fullState.js.map +1 -1
  91. package/dist/locus-info/hostUtils.js +4 -12
  92. package/dist/locus-info/hostUtils.js.map +1 -1
  93. package/dist/locus-info/index.js +362 -208
  94. package/dist/locus-info/index.js.map +1 -1
  95. package/dist/locus-info/infoUtils.js +3 -37
  96. package/dist/locus-info/infoUtils.js.map +1 -1
  97. package/dist/locus-info/mediaSharesUtils.js +12 -38
  98. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  99. package/dist/locus-info/parser.js +92 -118
  100. package/dist/locus-info/parser.js.map +1 -1
  101. package/dist/locus-info/selfUtils.js +99 -91
  102. package/dist/locus-info/selfUtils.js.map +1 -1
  103. package/dist/media/index.js +113 -337
  104. package/dist/media/index.js.map +1 -1
  105. package/dist/media/properties.js +96 -135
  106. package/dist/media/properties.js.map +1 -1
  107. package/dist/media/util.js +1 -35
  108. package/dist/media/util.js.map +1 -1
  109. package/dist/mediaQualityMetrics/config.js +505 -495
  110. package/dist/mediaQualityMetrics/config.js.map +1 -1
  111. package/dist/meeting/in-meeting-actions.js +59 -14
  112. package/dist/meeting/in-meeting-actions.js.map +1 -1
  113. package/dist/meeting/index.js +2909 -2398
  114. package/dist/meeting/index.js.map +1 -1
  115. package/dist/meeting/muteState.js +257 -112
  116. package/dist/meeting/muteState.js.map +1 -1
  117. package/dist/meeting/request.js +330 -264
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/request.type.js +7 -0
  120. package/dist/meeting/request.type.js.map +1 -0
  121. package/dist/meeting/state.js +21 -31
  122. package/dist/meeting/state.js.map +1 -1
  123. package/dist/meeting/util.js +63 -261
  124. package/dist/meeting/util.js.map +1 -1
  125. package/dist/meeting-info/collection.js +6 -25
  126. package/dist/meeting-info/collection.js.map +1 -1
  127. package/dist/meeting-info/index.js +14 -32
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.js +273 -280
  130. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  131. package/dist/meeting-info/request.js +3 -15
  132. package/dist/meeting-info/request.js.map +1 -1
  133. package/dist/meeting-info/util.js +98 -183
  134. package/dist/meeting-info/util.js.map +1 -1
  135. package/dist/meeting-info/utilv2.js +155 -232
  136. package/dist/meeting-info/utilv2.js.map +1 -1
  137. package/dist/meetings/collection.js +26 -19
  138. package/dist/meetings/collection.js.map +1 -1
  139. package/dist/meetings/index.js +741 -548
  140. package/dist/meetings/index.js.map +1 -1
  141. package/dist/meetings/request.js +26 -41
  142. package/dist/meetings/request.js.map +1 -1
  143. package/dist/meetings/util.js +194 -149
  144. package/dist/meetings/util.js.map +1 -1
  145. package/dist/member/index.js +100 -85
  146. package/dist/member/index.js.map +1 -1
  147. package/dist/member/types.js +15 -0
  148. package/dist/member/types.js.map +1 -0
  149. package/dist/member/util.js +90 -68
  150. package/dist/member/util.js.map +1 -1
  151. package/dist/members/collection.js +13 -12
  152. package/dist/members/collection.js.map +1 -1
  153. package/dist/members/index.js +227 -188
  154. package/dist/members/index.js.map +1 -1
  155. package/dist/members/request.js +54 -39
  156. package/dist/members/request.js.map +1 -1
  157. package/dist/members/types.js +15 -0
  158. package/dist/members/types.js.map +1 -0
  159. package/dist/members/util.js +107 -44
  160. package/dist/members/util.js.map +1 -1
  161. package/dist/metrics/config.js +5 -14
  162. package/dist/metrics/config.js.map +1 -1
  163. package/dist/metrics/constants.js +3 -7
  164. package/dist/metrics/constants.js.map +1 -1
  165. package/dist/metrics/index.js +67 -159
  166. package/dist/metrics/index.js.map +1 -1
  167. package/dist/multistream/mediaRequestManager.js +250 -0
  168. package/dist/multistream/mediaRequestManager.js.map +1 -0
  169. package/dist/multistream/receiveSlot.js +202 -0
  170. package/dist/multistream/receiveSlot.js.map +1 -0
  171. package/dist/multistream/receiveSlotManager.js +176 -0
  172. package/dist/multistream/receiveSlotManager.js.map +1 -0
  173. package/dist/multistream/remoteMedia.js +270 -0
  174. package/dist/multistream/remoteMedia.js.map +1 -0
  175. package/dist/multistream/remoteMediaGroup.js +209 -0
  176. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  177. package/dist/multistream/remoteMediaManager.js +1137 -0
  178. package/dist/multistream/remoteMediaManager.js.map +1 -0
  179. package/dist/networkQualityMonitor/index.js +40 -59
  180. package/dist/networkQualityMonitor/index.js.map +1 -1
  181. package/dist/personal-meeting-room/index.js +21 -45
  182. package/dist/personal-meeting-room/index.js.map +1 -1
  183. package/dist/personal-meeting-room/request.js +1 -31
  184. package/dist/personal-meeting-room/request.js.map +1 -1
  185. package/dist/personal-meeting-room/util.js +0 -13
  186. package/dist/personal-meeting-room/util.js.map +1 -1
  187. package/dist/reachability/index.js +192 -191
  188. package/dist/reachability/index.js.map +1 -1
  189. package/dist/reachability/request.js +15 -23
  190. package/dist/reachability/request.js.map +1 -1
  191. package/dist/reactions/constants.js +13 -0
  192. package/dist/reactions/constants.js.map +1 -0
  193. package/dist/reactions/reactions.js +109 -0
  194. package/dist/reactions/reactions.js.map +1 -0
  195. package/dist/reactions/reactions.type.js +36 -0
  196. package/dist/reactions/reactions.type.js.map +1 -0
  197. package/dist/reconnection-manager/index.js +386 -527
  198. package/dist/reconnection-manager/index.js.map +1 -1
  199. package/dist/recording-controller/enums.js +17 -0
  200. package/dist/recording-controller/enums.js.map +1 -0
  201. package/dist/recording-controller/index.js +343 -0
  202. package/dist/recording-controller/index.js.map +1 -0
  203. package/dist/recording-controller/util.js +63 -0
  204. package/dist/recording-controller/util.js.map +1 -0
  205. package/dist/roap/index.js +84 -286
  206. package/dist/roap/index.js.map +1 -1
  207. package/dist/roap/request.js +138 -238
  208. package/dist/roap/request.js.map +1 -1
  209. package/dist/roap/turnDiscovery.js +164 -102
  210. package/dist/roap/turnDiscovery.js.map +1 -1
  211. package/dist/statsAnalyzer/global.js +1 -93
  212. package/dist/statsAnalyzer/global.js.map +1 -1
  213. package/dist/statsAnalyzer/index.js +399 -470
  214. package/dist/statsAnalyzer/index.js.map +1 -1
  215. package/dist/statsAnalyzer/mqaUtil.js +143 -87
  216. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  217. package/dist/transcription/index.js +22 -47
  218. package/dist/transcription/index.js.map +1 -1
  219. package/dist/types/annotation/annotation.types.d.ts +34 -0
  220. package/dist/types/annotation/constants.d.ts +31 -0
  221. package/dist/types/annotation/index.d.ts +124 -0
  222. package/dist/types/breakouts/breakout.d.ts +8 -0
  223. package/dist/types/breakouts/collection.d.ts +5 -0
  224. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  225. package/dist/types/breakouts/events.d.ts +2 -0
  226. package/dist/types/breakouts/index.d.ts +5 -0
  227. package/dist/types/breakouts/request.d.ts +22 -0
  228. package/dist/types/breakouts/utils.d.ts +15 -0
  229. package/dist/types/common/browser-detection.d.ts +9 -0
  230. package/dist/types/common/collection.d.ts +48 -0
  231. package/dist/types/common/config.d.ts +2 -0
  232. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  233. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  234. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  235. package/dist/types/common/errors/media.d.ts +15 -0
  236. package/dist/types/common/errors/parameter.d.ts +15 -0
  237. package/dist/types/common/errors/password-error.d.ts +15 -0
  238. package/dist/types/common/errors/permission.d.ts +14 -0
  239. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  240. package/dist/types/common/errors/reconnection.d.ts +15 -0
  241. package/dist/types/common/errors/stats.d.ts +15 -0
  242. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  243. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  244. package/dist/types/common/events/events-scope.d.ts +17 -0
  245. package/dist/types/common/events/events.d.ts +12 -0
  246. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  247. package/dist/types/common/events/util.d.ts +2 -0
  248. package/dist/types/common/logs/logger-config.d.ts +2 -0
  249. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  250. package/dist/types/common/logs/request.d.ts +34 -0
  251. package/dist/types/common/queue.d.ts +32 -0
  252. package/dist/types/config.d.ts +78 -0
  253. package/dist/types/constants.d.ts +968 -0
  254. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  255. package/dist/types/controls-options-manager/enums.d.ts +13 -0
  256. package/dist/types/controls-options-manager/index.d.ts +136 -0
  257. package/dist/types/controls-options-manager/types.d.ts +37 -0
  258. package/dist/types/controls-options-manager/util.d.ts +1 -0
  259. package/dist/types/index.d.ts +7 -0
  260. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  261. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  262. package/dist/types/locus-info/fullState.d.ts +2 -0
  263. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  264. package/dist/types/locus-info/index.d.ts +315 -0
  265. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  266. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  267. package/dist/types/locus-info/parser.d.ts +212 -0
  268. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  269. package/dist/types/media/index.d.ts +34 -0
  270. package/dist/types/media/properties.d.ts +108 -0
  271. package/dist/types/media/util.d.ts +2 -0
  272. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  273. package/dist/types/meeting/in-meeting-actions.d.ts +129 -0
  274. package/dist/types/meeting/index.d.ts +1748 -0
  275. package/dist/types/meeting/muteState.d.ts +185 -0
  276. package/dist/types/meeting/request.d.ts +275 -0
  277. package/dist/types/meeting/request.type.d.ts +11 -0
  278. package/dist/types/meeting/state.d.ts +9 -0
  279. package/dist/types/meeting/util.d.ts +2 -0
  280. package/dist/types/meeting-info/collection.d.ts +20 -0
  281. package/dist/types/meeting-info/index.d.ts +57 -0
  282. package/dist/types/meeting-info/meeting-info-v2.d.ts +112 -0
  283. package/dist/types/meeting-info/request.d.ts +22 -0
  284. package/dist/types/meeting-info/util.d.ts +2 -0
  285. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  286. package/dist/types/meetings/collection.d.ts +31 -0
  287. package/dist/types/meetings/index.d.ts +345 -0
  288. package/dist/types/meetings/request.d.ts +27 -0
  289. package/dist/types/meetings/util.d.ts +18 -0
  290. package/dist/types/member/index.d.ts +156 -0
  291. package/dist/types/member/types.d.ts +21 -0
  292. package/dist/types/member/util.d.ts +2 -0
  293. package/dist/types/members/collection.d.ts +29 -0
  294. package/dist/types/members/index.d.ts +353 -0
  295. package/dist/types/members/request.d.ts +69 -0
  296. package/dist/types/members/types.d.ts +24 -0
  297. package/dist/types/members/util.d.ts +2 -0
  298. package/dist/types/metrics/config.d.ts +172 -0
  299. package/dist/types/metrics/constants.d.ts +54 -0
  300. package/dist/types/metrics/index.d.ts +152 -0
  301. package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
  302. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  303. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  304. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  305. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  306. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  307. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  308. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  309. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  310. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  311. package/dist/types/reachability/index.d.ts +152 -0
  312. package/dist/types/reachability/request.d.ts +37 -0
  313. package/dist/types/reactions/constants.d.ts +3 -0
  314. package/dist/types/reactions/reactions.d.ts +4 -0
  315. package/dist/types/reactions/reactions.type.d.ts +52 -0
  316. package/dist/types/reconnection-manager/index.d.ts +126 -0
  317. package/dist/types/recording-controller/enums.d.ts +7 -0
  318. package/dist/types/recording-controller/index.d.ts +193 -0
  319. package/dist/types/recording-controller/util.d.ts +13 -0
  320. package/dist/types/roap/index.d.ts +77 -0
  321. package/dist/types/roap/request.d.ts +38 -0
  322. package/dist/types/roap/turnDiscovery.d.ts +88 -0
  323. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  324. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  325. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  326. package/dist/types/transcription/index.d.ts +64 -0
  327. package/internal-README.md +7 -6
  328. package/package.json +29 -21
  329. package/src/annotation/annotation.types.ts +41 -0
  330. package/src/annotation/constants.ts +36 -0
  331. package/src/annotation/index.ts +339 -0
  332. package/src/breakouts/README.md +219 -0
  333. package/src/breakouts/breakout.ts +141 -0
  334. package/src/breakouts/collection.ts +19 -0
  335. package/src/breakouts/edit-lock-error.ts +25 -0
  336. package/src/breakouts/events.ts +37 -0
  337. package/src/breakouts/index.ts +823 -0
  338. package/src/breakouts/request.ts +55 -0
  339. package/src/breakouts/utils.ts +57 -0
  340. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  341. package/src/common/collection.ts +9 -7
  342. package/src/common/{config.js → config.ts} +1 -1
  343. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  344. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  345. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  346. package/src/common/errors/{media.js → media.ts} +11 -7
  347. package/src/common/errors/parameter.ts +11 -7
  348. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  349. package/src/common/errors/{permission.js → permission.ts} +10 -6
  350. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  351. package/src/common/errors/{stats.js → stats.ts} +11 -7
  352. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -25
  353. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  354. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  355. package/src/common/events/{events.js → events.ts} +5 -1
  356. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  357. package/src/common/events/{util.js → util.ts} +2 -3
  358. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  359. package/src/common/logs/logger-proxy.ts +44 -0
  360. package/src/common/logs/{request.js → request.ts} +22 -9
  361. package/src/common/queue.ts +1 -2
  362. package/src/{config.js → config.ts} +18 -12
  363. package/src/constants.ts +256 -183
  364. package/src/controls-options-manager/constants.ts +5 -0
  365. package/src/controls-options-manager/enums.ts +16 -0
  366. package/src/controls-options-manager/index.ts +278 -0
  367. package/src/controls-options-manager/types.ts +49 -0
  368. package/src/controls-options-manager/util.ts +229 -0
  369. package/src/index.ts +33 -0
  370. package/src/locus-info/controlsUtils.ts +169 -0
  371. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  372. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  373. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  374. package/src/locus-info/{index.js → index.ts} +331 -80
  375. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  376. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  377. package/src/locus-info/{parser.js → parser.ts} +67 -79
  378. package/src/locus-info/{selfUtils.js → selfUtils.ts} +196 -67
  379. package/src/media/index.ts +488 -0
  380. package/src/media/{properties.js → properties.ts} +67 -54
  381. package/src/media/util.ts +16 -0
  382. package/src/mediaQualityMetrics/config.ts +384 -0
  383. package/src/meeting/in-meeting-actions.ts +123 -3
  384. package/src/meeting/{index.js → index.ts} +3334 -1775
  385. package/src/meeting/muteState.ts +526 -0
  386. package/src/meeting/{request.js → request.ts} +350 -142
  387. package/src/meeting/request.type.ts +13 -0
  388. package/src/meeting/{state.js → state.ts} +50 -35
  389. package/src/meeting/{util.js → util.ts} +126 -159
  390. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  391. package/src/meeting-info/{index.js → index.ts} +42 -36
  392. package/src/meeting-info/meeting-info-v2.ts +345 -0
  393. package/src/meeting-info/{request.js → request.ts} +14 -4
  394. package/src/meeting-info/{util.js → util.ts} +60 -51
  395. package/src/meeting-info/{utilv2.js → utilv2.ts} +76 -60
  396. package/src/meetings/{collection.js → collection.ts} +26 -3
  397. package/src/meetings/index.ts +1394 -0
  398. package/src/meetings/{request.js → request.ts} +34 -25
  399. package/src/meetings/util.ts +288 -0
  400. package/src/member/{index.js → index.ts} +124 -56
  401. package/src/member/types.ts +24 -0
  402. package/src/member/{util.js → util.ts} +105 -25
  403. package/src/members/{collection.js → collection.ts} +10 -2
  404. package/src/members/{index.js → index.ts} +359 -139
  405. package/src/members/request.ts +215 -0
  406. package/src/members/types.ts +28 -0
  407. package/src/members/{util.js → util.ts} +145 -54
  408. package/src/metrics/{config.js → config.ts} +256 -92
  409. package/src/metrics/{constants.js → constants.ts} +1 -6
  410. package/src/metrics/{index.js → index.ts} +116 -97
  411. package/src/multistream/mediaRequestManager.ts +324 -0
  412. package/src/multistream/receiveSlot.ts +184 -0
  413. package/src/multistream/receiveSlotManager.ts +166 -0
  414. package/src/multistream/remoteMedia.ts +254 -0
  415. package/src/multistream/remoteMediaGroup.ts +225 -0
  416. package/src/multistream/remoteMediaManager.ts +1075 -0
  417. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  418. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  419. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  420. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  421. package/src/reachability/{index.js → index.ts} +157 -94
  422. package/src/reachability/request.ts +46 -35
  423. package/src/reactions/constants.ts +4 -0
  424. package/src/reactions/reactions.ts +104 -0
  425. package/src/reactions/reactions.type.ts +62 -0
  426. package/src/reconnection-manager/{index.js → index.ts} +261 -163
  427. package/src/recording-controller/enums.ts +8 -0
  428. package/src/recording-controller/index.ts +315 -0
  429. package/src/recording-controller/util.ts +58 -0
  430. package/src/roap/index.ts +241 -0
  431. package/src/roap/request.ts +172 -0
  432. package/src/roap/turnDiscovery.ts +127 -53
  433. package/src/statsAnalyzer/global.ts +37 -0
  434. package/src/statsAnalyzer/index.ts +1273 -0
  435. package/src/statsAnalyzer/mqaUtil.ts +291 -0
  436. package/src/transcription/{index.js → index.ts} +46 -39
  437. package/test/integration/spec/converged-space-meetings.js +177 -0
  438. package/test/integration/spec/journey.js +666 -464
  439. package/test/integration/spec/space-meeting.js +321 -206
  440. package/test/integration/spec/transcription.js +7 -8
  441. package/test/unit/spec/annotation/index.ts +435 -0
  442. package/test/unit/spec/breakouts/breakout.ts +184 -0
  443. package/test/unit/spec/breakouts/collection.ts +15 -0
  444. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  445. package/test/unit/spec/breakouts/events.ts +77 -0
  446. package/test/unit/spec/breakouts/index.ts +1504 -0
  447. package/test/unit/spec/breakouts/request.ts +104 -0
  448. package/test/unit/spec/breakouts/utils.js +72 -0
  449. package/test/unit/spec/common/browser-detection.js +9 -28
  450. package/test/unit/spec/controls-options-manager/index.js +287 -0
  451. package/test/unit/spec/controls-options-manager/util.js +403 -0
  452. package/test/unit/spec/fixture/locus.js +92 -90
  453. package/test/unit/spec/locus-info/controlsUtils.js +177 -32
  454. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  455. package/test/unit/spec/locus-info/index.js +493 -3
  456. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  457. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  458. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  459. package/test/unit/spec/locus-info/parser.js +3 -9
  460. package/test/unit/spec/locus-info/selfConstant.js +110 -103
  461. package/test/unit/spec/locus-info/selfUtils.js +236 -12
  462. package/test/unit/spec/media/index.ts +303 -0
  463. package/test/unit/spec/media/properties.ts +73 -82
  464. package/test/unit/spec/meeting/in-meeting-actions.ts +58 -3
  465. package/test/unit/spec/meeting/index.js +3127 -975
  466. package/test/unit/spec/meeting/muteState.js +375 -70
  467. package/test/unit/spec/meeting/request.js +217 -43
  468. package/test/unit/spec/meeting/utils.js +205 -163
  469. package/test/unit/spec/meeting-info/meetinginfov2.js +268 -74
  470. package/test/unit/spec/meeting-info/request.js +7 -9
  471. package/test/unit/spec/meeting-info/util.js +11 -12
  472. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  473. package/test/unit/spec/meetings/collection.js +15 -1
  474. package/test/unit/spec/meetings/index.js +1052 -333
  475. package/test/unit/spec/meetings/utils.js +163 -14
  476. package/test/unit/spec/member/index.js +24 -1
  477. package/test/unit/spec/member/util.js +359 -32
  478. package/test/unit/spec/members/index.js +547 -37
  479. package/test/unit/spec/members/request.js +76 -20
  480. package/test/unit/spec/members/utils.js +191 -4
  481. package/test/unit/spec/metrics/index.js +46 -20
  482. package/test/unit/spec/multistream/mediaRequestManager.ts +1060 -0
  483. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  484. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  485. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  486. package/test/unit/spec/multistream/remoteMediaGroup.ts +396 -0
  487. package/test/unit/spec/multistream/remoteMediaManager.ts +1793 -0
  488. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  489. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  490. package/test/unit/spec/reachability/index.ts +176 -27
  491. package/test/unit/spec/reachability/request.js +66 -0
  492. package/test/unit/spec/reconnection-manager/index.js +106 -9
  493. package/test/unit/spec/recording-controller/index.js +231 -0
  494. package/test/unit/spec/recording-controller/util.js +102 -0
  495. package/test/unit/spec/roap/index.ts +78 -45
  496. package/test/unit/spec/roap/request.ts +217 -0
  497. package/test/unit/spec/roap/turnDiscovery.ts +93 -49
  498. package/test/unit/spec/stats-analyzer/index.js +118 -65
  499. package/test/utils/cmr.js +44 -42
  500. package/test/utils/constants.js +9 -0
  501. package/test/utils/integrationTestUtils.js +64 -0
  502. package/test/utils/testUtils.js +63 -99
  503. package/test/utils/webex-config.js +22 -18
  504. package/test/utils/webex-test-users.js +57 -50
  505. package/tsconfig.json +6 -0
  506. package/dist/meeting/effectsState.js +0 -327
  507. package/dist/meeting/effectsState.js.map +0 -1
  508. package/dist/peer-connection-manager/index.js +0 -794
  509. package/dist/peer-connection-manager/index.js.map +0 -1
  510. package/dist/peer-connection-manager/util.js +0 -124
  511. package/dist/peer-connection-manager/util.js.map +0 -1
  512. package/dist/roap/collection.js +0 -73
  513. package/dist/roap/collection.js.map +0 -1
  514. package/dist/roap/handler.js +0 -337
  515. package/dist/roap/handler.js.map +0 -1
  516. package/dist/roap/state.js +0 -164
  517. package/dist/roap/state.js.map +0 -1
  518. package/dist/roap/util.js +0 -102
  519. package/dist/roap/util.js.map +0 -1
  520. package/src/common/logs/logger-proxy.js +0 -33
  521. package/src/index.js +0 -15
  522. package/src/locus-info/controlsUtils.js +0 -102
  523. package/src/media/index.js +0 -593
  524. package/src/media/util.js +0 -38
  525. package/src/mediaQualityMetrics/config.js +0 -382
  526. package/src/meeting/effectsState.js +0 -205
  527. package/src/meeting/muteState.js +0 -318
  528. package/src/meeting-info/meeting-info-v2.js +0 -255
  529. package/src/meetings/index.js +0 -986
  530. package/src/meetings/util.js +0 -176
  531. package/src/members/request.js +0 -131
  532. package/src/peer-connection-manager/index.js +0 -723
  533. package/src/peer-connection-manager/util.ts +0 -117
  534. package/src/roap/collection.js +0 -63
  535. package/src/roap/handler.js +0 -252
  536. package/src/roap/index.js +0 -380
  537. package/src/roap/request.js +0 -198
  538. package/src/roap/state.js +0 -149
  539. package/src/roap/util.js +0 -93
  540. package/src/statsAnalyzer/global.js +0 -131
  541. package/src/statsAnalyzer/index.js +0 -1020
  542. package/src/statsAnalyzer/mqaUtil.js +0 -173
  543. package/test/unit/spec/meeting/effectsState.js +0 -293
  544. package/test/unit/spec/peerconnection-manager/index.js +0 -188
  545. package/test/unit/spec/peerconnection-manager/utils.js +0 -48
  546. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  547. package/test/unit/spec/roap/util.js +0 -30
  548. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,107 +1,85 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
4
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
8
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
5
9
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
10
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
11
  _Object$defineProperty(exports, "__esModule", {
10
12
  value: true
11
13
  });
12
-
13
14
  exports.default = void 0;
14
-
15
15
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
16
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
17
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
17
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
18
-
19
19
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
20
-
21
20
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
22
-
23
21
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
24
-
25
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
26
-
27
23
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
28
-
29
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
30
-
31
25
  var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
32
-
33
26
  var _webexCore = require("@webex/webex-core");
34
-
35
27
  var _constants = require("../constants");
36
-
37
28
  var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
38
-
39
29
  var _member = _interopRequireDefault(require("../member"));
40
-
41
30
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
42
-
43
31
  var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
44
-
45
32
  var _collection = _interopRequireDefault(require("./collection"));
46
-
47
33
  var _request = _interopRequireDefault(require("./request"));
48
-
49
34
  var _util = _interopRequireDefault(require("./util"));
50
-
35
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
51
37
  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); }; }
52
-
53
38
  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; } }
54
-
55
39
  /**
56
- * Members Update Event
57
- * Emitted when something in the roster list needs to be updated
58
- * @event members:update
59
- * @instance
60
- * @property {Object} delta the changes to the members list
61
- * @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
62
- * @property {Array} delta.added array added members to the meeting
63
- * @property {Array} full array the full members collection
64
- * @memberof Members
65
- */
66
-
40
+ * Members Update Event
41
+ * Emitted when something in the roster list needs to be updated
42
+ * @event members:update
43
+ * @instance
44
+ * @property {Object} delta the changes to the members list
45
+ * @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
46
+ * @property {Array} delta.added array added members to the meeting
47
+ * @property {Array} full array the full members collection
48
+ * @memberof Members
49
+ */
67
50
  /**
68
- * Members Content Update Event
69
- * Emitted when who is sharing changes
70
- * @event members:content:update
71
- * @instance
72
- * @property {String} activeContentSharingId
73
- * @property {String} endedContentSharingId
74
- * @memberof Members
75
- */
76
-
51
+ * Members Content Update Event
52
+ * Emitted when who is sharing changes
53
+ * @event members:content:update
54
+ * @instance
55
+ * @property {String} activeContentSharingId
56
+ * @property {String} endedContentSharingId
57
+ * @memberof Members
58
+ */
77
59
  /**
78
- * Members Host Update Event
79
- * Emitted when who is the host changes
80
- * @event members:host:update
81
- * @instance
82
- * @property {String} activeHostId
83
- * @property {String} endedHostId
84
- * @memberof Members
85
- */
86
-
60
+ * Members Host Update Event
61
+ * Emitted when who is the host changes
62
+ * @event members:host:update
63
+ * @instance
64
+ * @property {String} activeHostId
65
+ * @property {String} endedHostId
66
+ * @memberof Members
67
+ */
87
68
  /**
88
- * Members Self Update Event
89
- * Emitted when who is the self changes
90
- * @event members:self:update
91
- * @instance
92
- * @property {String} activeSelfId
93
- * @property {String} endedSelfId
94
- * @memberof Members
95
- */
96
-
69
+ * Members Self Update Event
70
+ * Emitted when who is the self changes
71
+ * @event members:self:update
72
+ * @instance
73
+ * @property {String} activeSelfId
74
+ * @property {String} endedSelfId
75
+ * @memberof Members
76
+ */
97
77
  /**
98
78
  * @class Members
99
79
  */
100
80
  var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
101
81
  (0, _inherits2.default)(Members, _StatelessWebexPlugin);
102
-
103
82
  var _super = _createSuper(Members);
104
-
105
83
  /**
106
84
  *
107
85
  * @param {Object} attrs
@@ -110,7 +88,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
110
88
  */
111
89
  function Members(attrs, options) {
112
90
  var _this;
113
-
114
91
  (0, _classCallCheck2.default)(this, Members);
115
92
  _this = _super.call(this, {}, options);
116
93
  /**
@@ -119,8 +96,19 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
119
96
  * @type {MembersRequest}
120
97
  * @private
121
98
  * @memberof Members
122
- */
123
-
99
+ */
100
+ // @ts-ignore
101
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hostId", void 0);
102
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
103
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaShareContentId", void 0);
104
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaShareWhiteboardId", void 0);
105
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "membersCollection", void 0);
106
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "membersRequest", void 0);
107
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "receiveSlotManager", void 0);
108
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaRequestManagers", void 0);
109
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "recordingId", void 0);
110
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selfId", void 0);
111
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", void 0);
124
112
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
125
113
  _this.membersRequest = new _request.default({}, options);
126
114
  /**
@@ -129,8 +117,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
129
117
  * @type {MembersCollection}
130
118
  * @private
131
119
  * @memberof Members
132
- */
133
-
120
+ */
134
121
  _this.membersCollection = new _collection.default();
135
122
  /**
136
123
  * The current locus url for the active meeting
@@ -138,8 +125,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
138
125
  * @type {String}
139
126
  * @private
140
127
  * @memberof Members
141
- */
142
-
128
+ */
143
129
  _this.locusUrl = attrs.locusUrl || null;
144
130
  /**
145
131
  * The current hostId for the meeting
@@ -147,8 +133,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
147
133
  * @type {String}
148
134
  * @private
149
135
  * @memberof Members
150
- */
151
-
136
+ */
152
137
  _this.hostId = null;
153
138
  /**
154
139
  * The current type for the meeting, could be MEETING or CALL
@@ -156,8 +141,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
156
141
  * @type {String}
157
142
  * @private
158
143
  * @memberof Members
159
- */
160
-
144
+ */
161
145
  _this.type = null;
162
146
  /**
163
147
  * Locus has a self object, sent individually to the client
@@ -171,8 +155,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
171
155
  * @type {String}
172
156
  * @private
173
157
  * @memberof Members
174
- */
175
-
158
+ */
176
159
  _this.selfId = null;
177
160
  /**
178
161
  * The current mediaShareContentId for the meeting
@@ -180,8 +163,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
180
163
  * @type {String}
181
164
  * @private
182
165
  * @memberof Members
183
- */
184
-
166
+ */
185
167
  _this.mediaShareContentId = null;
186
168
  /**
187
169
  * The current mediaShareWhiteboardId for the meeting
@@ -189,8 +171,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
189
171
  * @type {String}
190
172
  * @private
191
173
  * @memberof Members
192
- */
193
-
174
+ */
194
175
  _this.mediaShareWhiteboardId = null;
195
176
  /**
196
177
  * The current recordingId for the meeting, if it exists
@@ -198,11 +179,23 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
198
179
  * @type {String}
199
180
  * @private
200
181
  * @memberof Members
201
- */
202
-
182
+ */
203
183
  _this.recordingId = null;
184
+
185
+ /**
186
+ * reference to a ReceiveSlotManager instance (for multistream)
187
+ * @private
188
+ */
189
+ _this.receiveSlotManager = attrs.receiveSlotManager;
190
+
191
+ /**
192
+ * reference to a MediaRequestManager instance that manages main video requests (for multistream)
193
+ * @private
194
+ */
195
+ _this.mediaRequestManagers = attrs.mediaRequestManagers;
204
196
  return _this;
205
197
  }
198
+
206
199
  /**
207
200
  * Internal update the self Id value
208
201
  * @param {Object} payload
@@ -212,42 +205,32 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
212
205
  * @private
213
206
  * @memberof Members
214
207
  */
215
-
216
-
217
208
  (0, _createClass2.default)(Members, [{
218
209
  key: "locusSelfUpdate",
219
210
  value: function locusSelfUpdate(payload) {
220
211
  var newSelfId = null;
221
212
  var oldSelfId = null;
222
-
223
213
  if (payload) {
224
214
  if (payload.newSelf) {
225
215
  newSelfId = payload.newSelf.id;
226
216
  }
227
-
228
217
  if (payload.oldSelf) {
229
218
  oldSelfId = payload.oldSelf.id;
230
219
  }
231
220
  }
232
-
233
221
  if (newSelfId) {
234
222
  var theSelf = this.membersCollection.get(newSelfId);
235
-
236
223
  if (theSelf) {
237
224
  theSelf.setIsSelf(true);
238
225
  }
239
226
  }
240
-
241
227
  if (oldSelfId) {
242
228
  var notSelf = this.membersCollection.get(oldSelfId);
243
-
244
229
  if (notSelf) {
245
230
  notSelf.setIsSelf(false);
246
231
  }
247
232
  }
248
-
249
233
  this.selfId = newSelfId;
250
-
251
234
  _triggerProxy.default.trigger(this, {
252
235
  file: 'members',
253
236
  function: 'locusSelfUpdate'
@@ -256,6 +239,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
256
239
  endedSelfId: oldSelfId
257
240
  });
258
241
  }
242
+
259
243
  /**
260
244
  * Internal update the hostId value
261
245
  * @param {Object} payload
@@ -265,41 +249,32 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
265
249
  * @private
266
250
  * @memberof Members
267
251
  */
268
-
269
252
  }, {
270
253
  key: "locusHostUpdate",
271
254
  value: function locusHostUpdate(payload) {
272
255
  var newHostId = null;
273
256
  var oldHostId = null;
274
-
275
257
  if (payload) {
276
258
  if (payload.newHost) {
277
259
  newHostId = payload.newHost.id;
278
260
  }
279
-
280
261
  if (payload.oldHost) {
281
262
  oldHostId = payload.oldHost.id;
282
263
  }
283
264
  }
284
-
285
265
  if (newHostId) {
286
266
  var theHost = this.membersCollection.get(newHostId);
287
-
288
267
  if (theHost) {
289
268
  theHost.setIsHost(true);
290
269
  }
291
270
  }
292
-
293
271
  if (oldHostId) {
294
272
  var notHost = this.membersCollection.get(oldHostId);
295
-
296
273
  if (notHost) {
297
274
  notHost.setIsHost(false);
298
275
  }
299
276
  }
300
-
301
277
  this.hostId = newHostId;
302
-
303
278
  _triggerProxy.default.trigger(this, {
304
279
  file: 'members',
305
280
  function: 'locusHostUpdate'
@@ -308,6 +283,23 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
308
283
  endedHostId: oldHostId
309
284
  });
310
285
  }
286
+
287
+ /**
288
+ * clear member collection
289
+ * @returns {void}
290
+ * @private
291
+ * @memberof Members
292
+ */
293
+ }, {
294
+ key: "clearMembers",
295
+ value: function clearMembers() {
296
+ this.membersCollection.reset();
297
+ _triggerProxy.default.trigger(this, {
298
+ file: 'members',
299
+ function: 'clearMembers'
300
+ }, _constants.EVENT_TRIGGERS.MEMBERS_CLEAR, {});
301
+ }
302
+
311
303
  /**
312
304
  * when new participant updates come in, both delta and full participants, update them in members collection
313
305
  * delta object in the event will have {updated, added} and full will be the full membersCollection
@@ -317,23 +309,29 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
317
309
  * @private
318
310
  * @memberof Members
319
311
  */
320
-
321
312
  }, {
322
313
  key: "locusParticipantsUpdate",
323
314
  value: function locusParticipantsUpdate(payload) {
324
315
  if (payload) {
316
+ var _this$receiveSlotMana;
317
+ if (payload.isReplace) {
318
+ this.clearMembers();
319
+ }
325
320
  var delta = this.handleLocusInfoUpdatedParticipants(payload);
326
321
  var full = this.handleMembersUpdate(delta); // SDK should propagate the full list for both delta and non delta updates
327
322
 
323
+ (_this$receiveSlotMana = this.receiveSlotManager) === null || _this$receiveSlotMana === void 0 ? void 0 : _this$receiveSlotMana.updateMemberIds();
328
324
  _triggerProxy.default.trigger(this, {
329
325
  file: 'members',
330
326
  function: 'locusParticipantsUpdate'
331
327
  }, _constants.EVENT_TRIGGERS.MEMBERS_UPDATE, {
332
328
  delta: delta,
333
- full: full
329
+ full: full,
330
+ isReplace: !!payload.isReplace
334
331
  });
335
332
  }
336
333
  }
334
+
337
335
  /**
338
336
  * Internal update the content id
339
337
  * @param {Object} payload
@@ -343,26 +341,22 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
343
341
  * @private
344
342
  * @memberof Members
345
343
  */
346
-
347
344
  }, {
348
345
  key: "locusMediaSharesUpdate",
349
346
  value: function locusMediaSharesUpdate(payload) {
350
347
  var _payload$current, _payload$previous, _payload$current2, _payload$previous2;
351
-
352
348
  var currentContent = (_payload$current = payload.current) === null || _payload$current === void 0 ? void 0 : _payload$current.content;
353
349
  var previousContent = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
354
350
  var currentWhiteboard = (_payload$current2 = payload.current) === null || _payload$current2 === void 0 ? void 0 : _payload$current2.whiteboard;
355
351
  var previousWhiteboard = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
356
352
  var whoSharing = null;
357
353
  var whoStopped = null;
358
-
359
354
  if (currentContent !== null && currentContent !== void 0 && currentContent.beneficiaryId) {
360
355
  if (currentContent.disposition === _constants.FLOOR_ACTION.GRANTED) {
361
356
  whoSharing = currentContent.beneficiaryId;
362
357
  this.mediaShareWhiteboardId = null;
363
358
  this.mediaShareContentId = whoSharing;
364
359
  }
365
-
366
360
  if ((previousContent === null || previousContent === void 0 ? void 0 : previousContent.disposition) === _constants.FLOOR_ACTION.GRANTED) {
367
361
  if (currentContent.disposition === _constants.FLOOR_ACTION.RELEASED) {
368
362
  whoStopped = currentContent.beneficiaryId;
@@ -372,14 +366,12 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
372
366
  }
373
367
  }
374
368
  }
375
-
376
369
  if (currentWhiteboard !== null && currentWhiteboard !== void 0 && currentWhiteboard.beneficiaryId) {
377
370
  if (currentWhiteboard.disposition === _constants.FLOOR_ACTION.GRANTED) {
378
371
  whoSharing = currentWhiteboard.beneficiaryId;
379
372
  this.mediaShareContentId = null;
380
373
  this.mediaShareWhiteboardId = whoSharing;
381
374
  }
382
-
383
375
  if ((previousWhiteboard === null || previousWhiteboard === void 0 ? void 0 : previousWhiteboard.disposition) === _constants.FLOOR_ACTION.GRANTED) {
384
376
  if (currentWhiteboard.disposition === _constants.FLOOR_ACTION.RELEASED) {
385
377
  whoStopped = currentWhiteboard.beneficiaryId;
@@ -389,23 +381,18 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
389
381
  }
390
382
  }
391
383
  }
392
-
393
384
  if (whoSharing) {
394
385
  var shareMember = this.membersCollection.get(whoSharing);
395
-
396
386
  if (shareMember) {
397
387
  shareMember.setIsContentSharing(true);
398
388
  }
399
389
  }
400
-
401
390
  if (whoStopped) {
402
391
  var stopMember = this.membersCollection.get(whoStopped);
403
-
404
392
  if (stopMember) {
405
393
  stopMember.setIsContentSharing(false);
406
394
  }
407
395
  }
408
-
409
396
  _triggerProxy.default.trigger(this, {
410
397
  file: 'members',
411
398
  function: 'locusMediaSharesUpdate'
@@ -414,6 +401,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
414
401
  endedSharingId: whoStopped
415
402
  });
416
403
  }
404
+
417
405
  /**
418
406
  * Internal update the locus url value
419
407
  * @param {Object} payload
@@ -422,7 +410,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
422
410
  * @private
423
411
  * @memberof Members
424
412
  */
425
-
426
413
  }, {
427
414
  key: "locusUrlUpdate",
428
415
  value: function locusUrlUpdate(payload) {
@@ -430,6 +417,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
430
417
  this.setLocusUrl(null, payload);
431
418
  }
432
419
  }
420
+
433
421
  /**
434
422
  * Internal update the type of meeting
435
423
  * @param {Object} payload
@@ -438,7 +426,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
438
426
  * @private
439
427
  * @memberof Members
440
428
  */
441
-
442
429
  }, {
443
430
  key: "locusFullStateTypeUpdate",
444
431
  value: function locusFullStateTypeUpdate(payload) {
@@ -452,6 +439,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
452
439
  this.setType(payload);
453
440
  }
454
441
  }
442
+
455
443
  /**
456
444
  * sets values in the members collection for updated and added properties from delta
457
445
  * @param {Object} membersUpdate {updated: [], added: []}
@@ -459,7 +447,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
459
447
  * @private
460
448
  * @memberof Members
461
449
  */
462
-
463
450
  }, {
464
451
  key: "handleMembersUpdate",
465
452
  value: function handleMembersUpdate(membersUpdate) {
@@ -467,14 +454,13 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
467
454
  if (membersUpdate.updated) {
468
455
  this.constructMembers(membersUpdate.updated);
469
456
  }
470
-
471
457
  if (membersUpdate.added) {
472
458
  this.constructMembers(membersUpdate.added);
473
459
  }
474
460
  }
475
-
476
461
  return this.membersCollection.getAll();
477
462
  }
463
+
478
464
  /**
479
465
  * set members to the member collection from each updated/added lists as passed in
480
466
  * @param {Array} list
@@ -482,16 +468,15 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
482
468
  * @private
483
469
  * @memberof Members
484
470
  */
485
-
486
471
  }, {
487
472
  key: "constructMembers",
488
473
  value: function constructMembers(list) {
489
474
  var _this2 = this;
490
-
491
475
  list.forEach(function (member) {
492
476
  _this2.membersCollection.set(member.id, member);
493
477
  });
494
478
  }
479
+
495
480
  /**
496
481
  * Internal update the participants value
497
482
  * @param {Object} payload
@@ -499,21 +484,19 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
499
484
  * @private
500
485
  * @memberof Members
501
486
  */
502
-
503
487
  }, {
504
488
  key: "handleLocusInfoUpdatedParticipants",
505
489
  value: function handleLocusInfoUpdatedParticipants(payload) {
506
490
  this.hostId = payload.hostId || this.hostId;
507
491
  this.selfId = payload.selfId || this.selfId;
508
492
  this.recordingId = payload.recordingId;
509
-
510
493
  if (!payload.participants) {
511
494
  _loggerProxy.default.logger.warn('Members:index#handleLocusInfoUpdatedParticipants --> participants payload is missing.');
512
495
  }
513
-
514
496
  var memberUpdate = this.update(payload.participants);
515
497
  return memberUpdate;
516
498
  }
499
+
517
500
  /**
518
501
  * Update the locus Url
519
502
  * @param {Object} locus
@@ -523,12 +506,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
523
506
  * @public
524
507
  * @memberof Members
525
508
  */
526
-
527
509
  }, {
528
510
  key: "setLocusUrl",
529
511
  value: function setLocusUrl(locus) {
530
512
  var locusUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
531
-
532
513
  if (locusUrl) {
533
514
  this.locusUrl = locusUrl;
534
515
  } else if (locus && (locus.locusUrl || locus.url)) {
@@ -537,6 +518,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
537
518
  throw new _parameter.default('Setting locusUrl for the Members module should be done with a locus object or locusUrl');
538
519
  }
539
520
  }
521
+
540
522
  /**
541
523
  * Update the host id
542
524
  * @param {Object} locus
@@ -546,12 +528,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
546
528
  * @public
547
529
  * @memberof Members
548
530
  */
549
-
550
531
  }, {
551
532
  key: "setHostId",
552
533
  value: function setHostId(locus) {
553
534
  var hostId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
554
-
555
535
  if (hostId) {
556
536
  this.hostId = hostId;
557
537
  } else if (locus) {
@@ -560,6 +540,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
560
540
  throw new _parameter.default('Setting hostid for the Members module should be done with a locus object or hostId');
561
541
  }
562
542
  }
543
+
563
544
  /**
564
545
  * Update the type
565
546
  * @param {Object} fullState
@@ -569,12 +550,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
569
550
  * @public
570
551
  * @memberof Members
571
552
  */
572
-
573
553
  }, {
574
554
  key: "setType",
575
555
  value: function setType(fullState) {
576
556
  var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
577
-
578
557
  if (type) {
579
558
  this.type = type;
580
559
  } else if (fullState) {
@@ -583,6 +562,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
583
562
  throw new _parameter.default('Setting type for the Members module should be done with a fullstate object or type string');
584
563
  }
585
564
  }
565
+
586
566
  /**
587
567
  * Update the self Id
588
568
  * @param {Object} locus
@@ -591,12 +571,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
591
571
  * @returns {undefined}
592
572
  * @memberof Members
593
573
  */
594
-
595
574
  }, {
596
575
  key: "setSelfId",
597
576
  value: function setSelfId(locus) {
598
577
  var selfId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
599
-
600
578
  if (selfId) {
601
579
  this.selfId = selfId;
602
580
  } else if (locus) {
@@ -605,6 +583,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
605
583
  throw new _parameter.default('Setting selfid for the Members module should be done with a locus object or selfId');
606
584
  }
607
585
  }
586
+
608
587
  /**
609
588
  * Update the media share content id
610
589
  * @param {Object} locus
@@ -613,7 +592,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
613
592
  * @returns {undefined}
614
593
  * @memberof Members
615
594
  */
616
-
617
595
  }, {
618
596
  key: "setMediaShareContentId",
619
597
  value: function setMediaShareContentId(locus, contentId) {
@@ -628,6 +606,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
628
606
  throw new _parameter.default('Setting hostid for the Members module should be done with a locus object or hostId');
629
607
  }
630
608
  }
609
+
631
610
  /**
632
611
  * Update the media share whiteboard id
633
612
  * @param {Object} locus
@@ -636,7 +615,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
636
615
  * @returns {undefined}
637
616
  * @memberof Members
638
617
  */
639
-
640
618
  }, {
641
619
  key: "setMediaShareWhiteboardId",
642
620
  value: function setMediaShareWhiteboardId(locus, whiteboardId) {
@@ -651,6 +629,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
651
629
  throw new _parameter.default('Setting hostid for the Members module should be done with a locus object or hostId');
652
630
  }
653
631
  }
632
+
654
633
  /**
655
634
  * Find all the updates, and added members
656
635
  * Removed/left members will end up in updates
@@ -660,25 +639,20 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
660
639
  * @private
661
640
  * @memberof Members
662
641
  */
663
-
664
642
  }, {
665
643
  key: "update",
666
644
  value: function update(participants) {
667
645
  var _this3 = this;
668
-
669
646
  var membersUpdate = {
670
647
  added: [],
671
648
  updated: []
672
649
  };
673
-
674
650
  if (participants) {
675
651
  participants.forEach(function (participant) {
676
652
  if (participant.hideInRoster) {
677
653
  return;
678
654
  }
679
-
680
655
  var existing = _this3.membersCollection.get(participant.id);
681
-
682
656
  if (existing) {
683
657
  // TODO: compare existing member to new participant coming in properties and determine if updated (this helps for non delta events)
684
658
  // on client re renders, but we will have to determine what values to compare to determine difference, premature optimization
@@ -702,9 +676,9 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
702
676
  }
703
677
  });
704
678
  }
705
-
706
679
  return membersUpdate;
707
680
  }
681
+
708
682
  /**
709
683
  * Adds a guest Member to the associated meeting
710
684
  * @param {String} invitee
@@ -712,63 +686,58 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
712
686
  * @returns {Promise}
713
687
  * @memberof Members
714
688
  */
715
-
716
689
  }, {
717
690
  key: "addMember",
718
691
  value: function addMember(invitee, alertIfActive) {
719
692
  if (!this.locusUrl) {
720
693
  return _promise.default.reject(new _parameter.default('The associated locus url for this meeting object must be defined.'));
721
694
  }
722
-
723
695
  if (_util.default.isInvalidInvitee(invitee)) {
724
696
  return _promise.default.reject(new _parameter.default('The invitee must be defined with either a valid email, emailAddress or phoneNumber property.'));
725
697
  }
726
-
727
698
  var options = _util.default.generateAddMemberOptions(invitee, this.locusUrl, alertIfActive);
728
-
729
699
  return this.membersRequest.addMembers(options);
730
700
  }
701
+
731
702
  /**
732
703
  * Cancels an outgoing PSTN call to the associated meeting
733
704
  * @param {String} invitee
734
705
  * @returns {Promise}
735
706
  * @memberof Members
736
707
  */
737
-
738
708
  }, {
739
709
  key: "cancelPhoneInvite",
740
710
  value: function cancelPhoneInvite(invitee) {
741
711
  if (!this.locusUrl) {
742
712
  return _promise.default.reject(new _parameter.default('The associated locus url for this meeting object must be defined.'));
743
713
  }
744
-
745
714
  if (_util.default.isInvalidInvitee(invitee)) {
746
715
  return _promise.default.reject(new _parameter.default('The invitee must be defined with a valid phoneNumber property.'));
747
716
  }
748
-
749
717
  var options = _util.default.cancelPhoneInviteOptions(invitee, this.locusUrl);
750
-
751
718
  return this.membersRequest.cancelPhoneInvite(options);
752
719
  }
720
+
753
721
  /**
754
722
  * Admits waiting members (invited guests to meeting)
755
723
  * @param {Array} memberIds
724
+ * @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
756
725
  * @returns {Promise}
757
726
  * @public
758
727
  * @memberof Members
759
728
  */
760
-
761
729
  }, {
762
730
  key: "admitMembers",
763
- value: function admitMembers(memberIds) {
731
+ value: function admitMembers(memberIds, sessionLocusUrls) {
764
732
  if ((0, _isEmpty2.default)(memberIds)) {
765
733
  return _promise.default.reject(new _parameter.default('No member ids provided to admit.'));
766
734
  }
767
-
768
- var options = _util.default.generateAdmitMemberOptions(memberIds, this.locusUrl);
769
-
735
+ var options = _objectSpread({
736
+ sessionLocusUrls: sessionLocusUrls
737
+ }, _util.default.generateAdmitMemberOptions(memberIds, this.locusUrl));
770
738
  return this.membersRequest.admitMember(options);
771
739
  }
740
+
772
741
  /**
773
742
  * Removes a member from the meeting
774
743
  * @param {String} memberId
@@ -776,48 +745,64 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
776
745
  * @public
777
746
  * @memberof Members
778
747
  */
779
-
780
748
  }, {
781
749
  key: "removeMember",
782
750
  value: function removeMember(memberId) {
783
751
  if (!this.locusUrl) {
784
752
  return _promise.default.reject(new _parameter.default('The associated locus url for this meeting object must be defined.'));
785
753
  }
786
-
787
754
  if (!memberId) {
788
755
  return _promise.default.reject(new _parameter.default('The member id must be defined to remove the member.'));
789
756
  }
790
-
791
757
  var options = _util.default.generateRemoveMemberOptions(memberId, this.locusUrl);
792
-
793
758
  return this.membersRequest.removeMember(options);
794
759
  }
760
+
795
761
  /**
796
762
  * Audio mutes another member in a meeting
797
763
  * @param {String} memberId
798
764
  * @param {boolean} [mute] default true
765
+ * @param {boolean} [isAudio] default true
799
766
  * @returns {Promise}
800
767
  * @public
801
768
  * @memberof Members
802
769
  */
803
-
804
770
  }, {
805
771
  key: "muteMember",
806
772
  value: function muteMember(memberId) {
807
773
  var mute = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
808
-
774
+ var isAudio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
809
775
  if (!this.locusUrl) {
810
776
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
811
777
  }
812
-
813
778
  if (!memberId) {
814
779
  return _promise.default.reject(new _parameter.default('The member id must be defined to mute the member.'));
815
780
  }
816
-
817
- var options = _util.default.generateMuteMemberOptions(memberId, mute, this.locusUrl);
818
-
781
+ var options = _util.default.generateMuteMemberOptions(memberId, mute, this.locusUrl, isAudio);
819
782
  return this.membersRequest.muteMember(options);
820
783
  }
784
+
785
+ /**
786
+ * Assign role(s) to a member in the meeting
787
+ * @param {String} memberId
788
+ * @param {[ServerRoleShape]} roles - to assign an array of roles
789
+ * @returns {Promise}
790
+ * @public
791
+ * @memberof Members
792
+ */
793
+ }, {
794
+ key: "assignRoles",
795
+ value: function assignRoles(memberId, roles) {
796
+ if (!this.locusUrl) {
797
+ return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
798
+ }
799
+ if (!memberId) {
800
+ return _promise.default.reject(new _parameter.default('The member id must be defined to assign the roles to a member.'));
801
+ }
802
+ var options = _util.default.generateRoleAssignmentMemberOptions(memberId, roles, this.locusUrl);
803
+ return this.membersRequest.assignRolesMember(options);
804
+ }
805
+
821
806
  /**
822
807
  * Raise or lower the hand of a member in a meeting
823
808
  * @param {String} memberId
@@ -826,24 +811,20 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
826
811
  * @public
827
812
  * @memberof Members
828
813
  */
829
-
830
814
  }, {
831
815
  key: "raiseOrLowerHand",
832
816
  value: function raiseOrLowerHand(memberId) {
833
817
  var raise = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
834
-
835
818
  if (!this.locusUrl) {
836
819
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
837
820
  }
838
-
839
821
  if (!memberId) {
840
822
  return _promise.default.reject(new _parameter.default('The member id must be defined to raise/lower the hand of the member.'));
841
823
  }
842
-
843
824
  var options = _util.default.generateRaiseHandMemberOptions(memberId, raise, this.locusUrl);
844
-
845
825
  return this.membersRequest.raiseOrLowerHandMember(options);
846
826
  }
827
+
847
828
  /**
848
829
  * Lower all hands of members in a meeting
849
830
  * @param {String} requestingMemberId - id of the participant which requested the lower all hands
@@ -851,22 +832,19 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
851
832
  * @public
852
833
  * @memberof Members
853
834
  */
854
-
855
835
  }, {
856
836
  key: "lowerAllHands",
857
837
  value: function lowerAllHands(requestingMemberId) {
858
838
  if (!this.locusUrl) {
859
839
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
860
840
  }
861
-
862
841
  if (!requestingMemberId) {
863
842
  return _promise.default.reject(new _parameter.default('The requestingMemberId must be defined to lower all hands in a meeting.'));
864
843
  }
865
-
866
844
  var options = _util.default.generateLowerAllHandsMemberOptions(requestingMemberId, this.locusUrl);
867
-
868
845
  return this.membersRequest.lowerAllHandsMember(options);
869
846
  }
847
+
870
848
  /**
871
849
  * Transfers the host to another member
872
850
  * @param {String} memberId
@@ -875,24 +853,20 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
875
853
  * @public
876
854
  * @memberof Members
877
855
  */
878
-
879
856
  }, {
880
857
  key: "transferHostToMember",
881
858
  value: function transferHostToMember(memberId) {
882
859
  var moderator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
883
-
884
860
  if (!this.locusUrl) {
885
861
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
886
862
  }
887
-
888
863
  if (!memberId) {
889
864
  return _promise.default.reject(new _parameter.default('The member id must be defined to transfer host to the member.'));
890
865
  }
891
-
892
866
  var options = _util.default.generateTransferHostMemberOptions(memberId, moderator, this.locusUrl);
893
-
894
867
  return this.membersRequest.transferHostToMember(options);
895
868
  }
869
+
896
870
  /**
897
871
  * Sends DTMF tones for the PSTN member of a meeting
898
872
  * @param {String} tones a string of one or more DTMF tones to send
@@ -901,23 +875,19 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
901
875
  * @public
902
876
  * @memberof Members
903
877
  */
904
-
905
878
  }, {
906
879
  key: "sendDialPadKey",
907
880
  value: function sendDialPadKey() {
908
881
  var tones = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
909
882
  var memberId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
910
-
883
+ // @ts-ignore
911
884
  if (!tones && tones !== 0) {
912
885
  return _promise.default.reject(new _parameter.default('DMTF tones must be passed in'));
913
886
  }
914
-
915
887
  var member = this.membersCollection.get(memberId);
916
-
917
888
  if (!member) {
918
889
  return _promise.default.reject(new _parameter.default('there is no member associated with that Id'));
919
890
  }
920
-
921
891
  var locusUrl = this.locusUrl;
922
892
  var deviceArray = member.participant.devices;
923
893
  var device = deviceArray.find(function (_ref) {
@@ -925,18 +895,87 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
925
895
  return deviceType === 'SIP';
926
896
  });
927
897
  var url = device === null || device === void 0 ? void 0 : device.url;
928
-
929
898
  if (locusUrl && url) {
930
899
  var options = _util.default.genderateSendDTMFOptions(url, tones, memberId, locusUrl);
931
-
932
900
  return this.membersRequest.sendDialPadKey(options);
933
901
  }
934
-
935
902
  return _promise.default.reject(new Error('Members:index#sendDialPadKey --> cannot send DTMF, meeting does not have a connection to the "locus" call control service.'));
936
903
  }
904
+
905
+ /** Finds a member that has any device with a csi matching provided value
906
+ *
907
+ * @param {number} csi
908
+ * @returns {Member}
909
+ */
910
+ }, {
911
+ key: "findMemberByCsi",
912
+ value: function findMemberByCsi(csi) {
913
+ return (0, _values.default)(this.membersCollection.getAll()).find(function (member) {
914
+ var _member$participant, _member$participant$d;
915
+ return (// @ts-ignore
916
+ (_member$participant = member.participant) === null || _member$participant === void 0 ? void 0 : (_member$participant$d = _member$participant.devices) === null || _member$participant$d === void 0 ? void 0 : _member$participant$d.find(function (device) {
917
+ var _device$csis;
918
+ return (_device$csis = device.csis) === null || _device$csis === void 0 ? void 0 : _device$csis.find(function (memberCsi) {
919
+ return memberCsi === csi;
920
+ });
921
+ })
922
+ );
923
+ });
924
+ }
925
+
926
+ /**
927
+ * Returns an array of a member's CSIs matching the mediaType and mediaContent
928
+ *
929
+ * @param {string} memberId
930
+ * @param {string} mediaType 'audio' or 'video'
931
+ * @param {string} mediaContent 'main' or 'slides'
932
+ * @returns {Member}
933
+ */
934
+ }, {
935
+ key: "getCsisForMember",
936
+ value: function getCsisForMember(memberId) {
937
+ var _this$membersCollecti, _this$membersCollecti2, _this$membersCollecti3;
938
+ var mediaType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'video';
939
+ var mediaContent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'main';
940
+ var csis = [];
941
+ (_this$membersCollecti = this.membersCollection.get(memberId)) === null || _this$membersCollecti === void 0 ? void 0 : (_this$membersCollecti2 = _this$membersCollecti.participant) === null || _this$membersCollecti2 === void 0 ? void 0 : (_this$membersCollecti3 = _this$membersCollecti2.devices) === null || _this$membersCollecti3 === void 0 ? void 0 : _this$membersCollecti3.forEach(function (device) {
942
+ if (device.mediaSessions) {
943
+ var _device$mediaSessions;
944
+ var deviceCsis = (_device$mediaSessions = device.mediaSessions) === null || _device$mediaSessions === void 0 ? void 0 : _device$mediaSessions.filter(function (mediaSession) {
945
+ return mediaSession.mediaType === mediaType && mediaSession.mediaContent === mediaContent;
946
+ }).map(function (mediaSession) {
947
+ return mediaSession.csi;
948
+ });
949
+ csis.push.apply(csis, (0, _toConsumableArray2.default)(deviceCsis));
950
+ }
951
+ });
952
+ return csis;
953
+ }
954
+
955
+ /**
956
+ * Edit display name of participants in a meeting
957
+ * @param {string} memberId - id of the participant who is receiving request
958
+ * @param {string} requestingParticipantId - id of the participant who is sending request (optional)
959
+ * @param {string} [alias] - alias name
960
+ * @returns {Promise}
961
+ * @public
962
+ * @memberof Members
963
+ */
964
+ }, {
965
+ key: "editDisplayName",
966
+ value: function editDisplayName(memberId, requestingParticipantId, alias) {
967
+ if (!this.locusUrl) {
968
+ return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
969
+ }
970
+ if (!memberId) {
971
+ return _promise.default.reject(new _parameter.default('The member id must be defined to edit display name of the member.'));
972
+ }
973
+ var locusUrl = this.locusUrl;
974
+ var options = _util.default.generateEditDisplayNameMemberOptions(memberId, requestingParticipantId, alias, locusUrl);
975
+ return this.membersRequest.editDisplayNameMember(options);
976
+ }
937
977
  }]);
938
978
  return Members;
939
979
  }(_webexCore.StatelessWebexPlugin);
940
-
941
980
  exports.default = Members;
942
981
  //# sourceMappingURL=index.js.map