@webex/plugin-meetings 3.0.0-beta.3 → 3.0.0-beta.300

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 (601) hide show
  1. package/README.md +46 -8
  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/no-meeting-info.js +51 -0
  39. package/dist/common/errors/no-meeting-info.js.map +1 -0
  40. package/dist/common/errors/parameter.js +5 -33
  41. package/dist/common/errors/parameter.js.map +1 -1
  42. package/dist/common/errors/password-error.js +10 -24
  43. package/dist/common/errors/password-error.js.map +1 -1
  44. package/dist/common/errors/permission.js +9 -23
  45. package/dist/common/errors/permission.js.map +1 -1
  46. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  47. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  48. package/dist/common/errors/reconnection-in-progress.js +0 -17
  49. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  50. package/dist/common/errors/reconnection.js +10 -24
  51. package/dist/common/errors/reconnection.js.map +1 -1
  52. package/dist/common/errors/stats.js +10 -24
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/common/errors/webex-errors.js +54 -48
  55. package/dist/common/errors/webex-errors.js.map +1 -1
  56. package/dist/common/errors/webex-meetings-error.js +5 -25
  57. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  58. package/dist/common/events/events-scope.js +0 -22
  59. package/dist/common/events/events-scope.js.map +1 -1
  60. package/dist/common/events/events.js +0 -23
  61. package/dist/common/events/events.js.map +1 -1
  62. package/dist/common/events/trigger-proxy.js +0 -12
  63. package/dist/common/events/trigger-proxy.js.map +1 -1
  64. package/dist/common/events/util.js +0 -15
  65. package/dist/common/events/util.js.map +1 -1
  66. package/dist/common/logs/logger-config.js +0 -4
  67. package/dist/common/logs/logger-config.js.map +1 -1
  68. package/dist/common/logs/logger-proxy.js +1 -8
  69. package/dist/common/logs/logger-proxy.js.map +1 -1
  70. package/dist/common/logs/request.js +41 -60
  71. package/dist/common/logs/request.js.map +1 -1
  72. package/dist/common/queue.js +28 -23
  73. package/dist/common/queue.js.map +1 -1
  74. package/dist/config.js +9 -15
  75. package/dist/config.js.map +1 -1
  76. package/dist/constants.js +315 -68
  77. package/dist/constants.js.map +1 -1
  78. package/dist/controls-options-manager/constants.js +14 -0
  79. package/dist/controls-options-manager/constants.js.map +1 -0
  80. package/dist/controls-options-manager/enums.js +27 -0
  81. package/dist/controls-options-manager/enums.js.map +1 -0
  82. package/dist/controls-options-manager/index.js +297 -0
  83. package/dist/controls-options-manager/index.js.map +1 -0
  84. package/dist/controls-options-manager/types.js +7 -0
  85. package/dist/controls-options-manager/types.js.map +1 -0
  86. package/dist/controls-options-manager/util.js +319 -0
  87. package/dist/controls-options-manager/util.js.map +1 -0
  88. package/dist/index.js +114 -17
  89. package/dist/index.js.map +1 -1
  90. package/dist/interpretation/collection.js +23 -0
  91. package/dist/interpretation/collection.js.map +1 -0
  92. package/dist/interpretation/index.js +366 -0
  93. package/dist/interpretation/index.js.map +1 -0
  94. package/dist/interpretation/siLanguage.js +25 -0
  95. package/dist/interpretation/siLanguage.js.map +1 -0
  96. package/dist/locus-info/controlsUtils.js +101 -29
  97. package/dist/locus-info/controlsUtils.js.map +1 -1
  98. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  99. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  100. package/dist/locus-info/fullState.js +0 -15
  101. package/dist/locus-info/fullState.js.map +1 -1
  102. package/dist/locus-info/hostUtils.js +4 -12
  103. package/dist/locus-info/hostUtils.js.map +1 -1
  104. package/dist/locus-info/index.js +561 -246
  105. package/dist/locus-info/index.js.map +1 -1
  106. package/dist/locus-info/infoUtils.js +10 -38
  107. package/dist/locus-info/infoUtils.js.map +1 -1
  108. package/dist/locus-info/mediaSharesUtils.js +68 -38
  109. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  110. package/dist/locus-info/parser.js +314 -163
  111. package/dist/locus-info/parser.js.map +1 -1
  112. package/dist/locus-info/selfUtils.js +110 -92
  113. package/dist/locus-info/selfUtils.js.map +1 -1
  114. package/dist/media/index.js +103 -231
  115. package/dist/media/index.js.map +1 -1
  116. package/dist/media/properties.js +137 -222
  117. package/dist/media/properties.js.map +1 -1
  118. package/dist/media/util.js +2 -9
  119. package/dist/media/util.js.map +1 -1
  120. package/dist/mediaQualityMetrics/config.js +505 -495
  121. package/dist/mediaQualityMetrics/config.js.map +1 -1
  122. package/dist/meeting/in-meeting-actions.js +93 -14
  123. package/dist/meeting/in-meeting-actions.js.map +1 -1
  124. package/dist/meeting/index.js +4624 -3740
  125. package/dist/meeting/index.js.map +1 -1
  126. package/dist/meeting/locusMediaRequest.js +292 -0
  127. package/dist/meeting/locusMediaRequest.js.map +1 -0
  128. package/dist/meeting/muteState.js +249 -184
  129. package/dist/meeting/muteState.js.map +1 -1
  130. package/dist/meeting/request.js +400 -346
  131. package/dist/meeting/request.js.map +1 -1
  132. package/dist/meeting/request.type.js +7 -0
  133. package/dist/meeting/request.type.js.map +1 -0
  134. package/dist/meeting/state.js +21 -31
  135. package/dist/meeting/state.js.map +1 -1
  136. package/dist/meeting/util.js +598 -586
  137. package/dist/meeting/util.js.map +1 -1
  138. package/dist/meeting-info/collection.js +6 -25
  139. package/dist/meeting-info/collection.js.map +1 -1
  140. package/dist/meeting-info/index.js +87 -39
  141. package/dist/meeting-info/index.js.map +1 -1
  142. package/dist/meeting-info/meeting-info-v2.js +349 -283
  143. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  144. package/dist/meeting-info/request.js +3 -15
  145. package/dist/meeting-info/request.js.map +1 -1
  146. package/dist/meeting-info/util.js +98 -183
  147. package/dist/meeting-info/util.js.map +1 -1
  148. package/dist/meeting-info/utilv2.js +143 -234
  149. package/dist/meeting-info/utilv2.js.map +1 -1
  150. package/dist/meetings/collection.js +26 -19
  151. package/dist/meetings/collection.js.map +1 -1
  152. package/dist/meetings/index.js +813 -596
  153. package/dist/meetings/index.js.map +1 -1
  154. package/dist/meetings/meetings.types.js +7 -0
  155. package/dist/meetings/meetings.types.js.map +1 -0
  156. package/dist/meetings/request.js +26 -41
  157. package/dist/meetings/request.js.map +1 -1
  158. package/dist/meetings/util.js +183 -156
  159. package/dist/meetings/util.js.map +1 -1
  160. package/dist/member/index.js +135 -85
  161. package/dist/member/index.js.map +1 -1
  162. package/dist/member/types.js +25 -0
  163. package/dist/member/types.js.map +1 -0
  164. package/dist/member/util.js +158 -88
  165. package/dist/member/util.js.map +1 -1
  166. package/dist/members/collection.js +13 -12
  167. package/dist/members/collection.js.map +1 -1
  168. package/dist/members/index.js +194 -204
  169. package/dist/members/index.js.map +1 -1
  170. package/dist/members/request.js +113 -68
  171. package/dist/members/request.js.map +1 -1
  172. package/dist/members/types.js +15 -0
  173. package/dist/members/types.js.map +1 -0
  174. package/dist/members/util.js +324 -259
  175. package/dist/members/util.js.map +1 -1
  176. package/dist/metrics/constants.js +14 -7
  177. package/dist/metrics/constants.js.map +1 -1
  178. package/dist/metrics/index.js +11 -558
  179. package/dist/metrics/index.js.map +1 -1
  180. package/dist/multistream/mediaRequestManager.js +263 -50
  181. package/dist/multistream/mediaRequestManager.js.map +1 -1
  182. package/dist/multistream/receiveSlot.js +58 -65
  183. package/dist/multistream/receiveSlot.js.map +1 -1
  184. package/dist/multistream/receiveSlotManager.js +76 -95
  185. package/dist/multistream/receiveSlotManager.js.map +1 -1
  186. package/dist/multistream/remoteMedia.js +62 -76
  187. package/dist/multistream/remoteMedia.js.map +1 -1
  188. package/dist/multistream/remoteMediaGroup.js +66 -43
  189. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  190. package/dist/multistream/remoteMediaManager.js +536 -439
  191. package/dist/multistream/remoteMediaManager.js.map +1 -1
  192. package/dist/multistream/sendSlotManager.js +233 -0
  193. package/dist/multistream/sendSlotManager.js.map +1 -0
  194. package/dist/networkQualityMonitor/index.js +40 -59
  195. package/dist/networkQualityMonitor/index.js.map +1 -1
  196. package/dist/personal-meeting-room/index.js +21 -45
  197. package/dist/personal-meeting-room/index.js.map +1 -1
  198. package/dist/personal-meeting-room/request.js +1 -31
  199. package/dist/personal-meeting-room/request.js.map +1 -1
  200. package/dist/personal-meeting-room/util.js +0 -13
  201. package/dist/personal-meeting-room/util.js.map +1 -1
  202. package/dist/reachability/index.js +322 -200
  203. package/dist/reachability/index.js.map +1 -1
  204. package/dist/reachability/request.js +20 -26
  205. package/dist/reachability/request.js.map +1 -1
  206. package/dist/reactions/constants.js +13 -0
  207. package/dist/reactions/constants.js.map +1 -0
  208. package/dist/reactions/reactions.js +109 -0
  209. package/dist/reactions/reactions.js.map +1 -0
  210. package/dist/reactions/reactions.type.js +36 -0
  211. package/dist/reactions/reactions.type.js.map +1 -0
  212. package/dist/reconnection-manager/index.js +388 -476
  213. package/dist/reconnection-manager/index.js.map +1 -1
  214. package/dist/recording-controller/enums.js +17 -0
  215. package/dist/recording-controller/enums.js.map +1 -0
  216. package/dist/recording-controller/index.js +362 -0
  217. package/dist/recording-controller/index.js.map +1 -0
  218. package/dist/recording-controller/util.js +64 -0
  219. package/dist/recording-controller/util.js.map +1 -0
  220. package/dist/roap/index.js +99 -94
  221. package/dist/roap/index.js.map +1 -1
  222. package/dist/roap/request.js +131 -135
  223. package/dist/roap/request.js.map +1 -1
  224. package/dist/roap/turnDiscovery.js +151 -101
  225. package/dist/roap/turnDiscovery.js.map +1 -1
  226. package/dist/rtcMetrics/constants.js +12 -0
  227. package/dist/rtcMetrics/constants.js.map +1 -0
  228. package/dist/rtcMetrics/index.js +117 -0
  229. package/dist/rtcMetrics/index.js.map +1 -0
  230. package/dist/statsAnalyzer/global.js +1 -95
  231. package/dist/statsAnalyzer/global.js.map +1 -1
  232. package/dist/statsAnalyzer/index.js +416 -497
  233. package/dist/statsAnalyzer/index.js.map +1 -1
  234. package/dist/statsAnalyzer/mqaUtil.js +145 -88
  235. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  236. package/dist/transcription/index.js +22 -47
  237. package/dist/transcription/index.js.map +1 -1
  238. package/dist/types/annotation/annotation.types.d.ts +42 -0
  239. package/dist/types/annotation/constants.d.ts +31 -0
  240. package/dist/types/annotation/index.d.ts +117 -0
  241. package/dist/types/breakouts/breakout.d.ts +8 -0
  242. package/dist/types/breakouts/collection.d.ts +5 -0
  243. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  244. package/dist/types/breakouts/events.d.ts +8 -0
  245. package/dist/types/breakouts/index.d.ts +5 -0
  246. package/dist/types/breakouts/request.d.ts +22 -0
  247. package/dist/types/breakouts/utils.d.ts +15 -0
  248. package/dist/types/common/browser-detection.d.ts +9 -0
  249. package/dist/types/common/collection.d.ts +48 -0
  250. package/dist/types/common/config.d.ts +2 -0
  251. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  252. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  253. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  254. package/dist/types/common/errors/media.d.ts +15 -0
  255. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  256. package/dist/types/common/errors/parameter.d.ts +15 -0
  257. package/dist/types/common/errors/password-error.d.ts +15 -0
  258. package/dist/types/common/errors/permission.d.ts +14 -0
  259. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  260. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  261. package/dist/types/common/errors/reconnection.d.ts +15 -0
  262. package/dist/types/common/errors/stats.d.ts +15 -0
  263. package/dist/types/common/errors/webex-errors.d.ts +93 -0
  264. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  265. package/dist/types/common/events/events-scope.d.ts +17 -0
  266. package/dist/types/common/events/events.d.ts +12 -0
  267. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  268. package/dist/types/common/events/util.d.ts +2 -0
  269. package/dist/types/common/logs/logger-config.d.ts +2 -0
  270. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  271. package/dist/types/common/logs/request.d.ts +36 -0
  272. package/dist/types/common/queue.d.ts +34 -0
  273. package/dist/types/config.d.ts +71 -0
  274. package/dist/types/constants.d.ts +1066 -0
  275. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  276. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  277. package/dist/types/controls-options-manager/index.d.ts +136 -0
  278. package/dist/types/controls-options-manager/types.d.ts +43 -0
  279. package/dist/types/controls-options-manager/util.d.ts +1 -0
  280. package/dist/types/index.d.ts +7 -0
  281. package/dist/types/interpretation/collection.d.ts +5 -0
  282. package/dist/types/interpretation/index.d.ts +5 -0
  283. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  284. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  285. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  286. package/dist/types/locus-info/fullState.d.ts +2 -0
  287. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  288. package/dist/types/locus-info/index.d.ts +322 -0
  289. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  290. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  291. package/dist/types/locus-info/parser.d.ts +273 -0
  292. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  293. package/dist/types/media/index.d.ts +34 -0
  294. package/dist/types/media/properties.d.ts +93 -0
  295. package/dist/types/media/util.d.ts +2 -0
  296. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  297. package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
  298. package/dist/types/meeting/index.d.ts +1676 -0
  299. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  300. package/dist/types/meeting/muteState.d.ts +184 -0
  301. package/dist/types/meeting/request.d.ts +290 -0
  302. package/dist/types/meeting/request.type.d.ts +11 -0
  303. package/dist/types/meeting/state.d.ts +9 -0
  304. package/dist/types/meeting/util.d.ts +102 -0
  305. package/dist/types/meeting-info/collection.d.ts +20 -0
  306. package/dist/types/meeting-info/index.d.ts +69 -0
  307. package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
  308. package/dist/types/meeting-info/request.d.ts +22 -0
  309. package/dist/types/meeting-info/util.d.ts +2 -0
  310. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  311. package/dist/types/meetings/collection.d.ts +31 -0
  312. package/dist/types/meetings/index.d.ts +367 -0
  313. package/dist/types/meetings/meetings.types.d.ts +4 -0
  314. package/dist/types/meetings/request.d.ts +27 -0
  315. package/dist/types/meetings/util.d.ts +18 -0
  316. package/dist/types/member/index.d.ts +160 -0
  317. package/dist/types/member/types.d.ts +32 -0
  318. package/dist/types/member/util.d.ts +2 -0
  319. package/dist/types/members/collection.d.ts +29 -0
  320. package/dist/types/members/index.d.ts +353 -0
  321. package/dist/types/members/request.d.ts +114 -0
  322. package/dist/types/members/types.d.ts +25 -0
  323. package/dist/types/members/util.d.ts +215 -0
  324. package/dist/types/metrics/constants.d.ts +65 -0
  325. package/dist/types/metrics/index.d.ts +45 -0
  326. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  327. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  328. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  329. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  330. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  331. package/dist/types/multistream/remoteMediaManager.d.ts +285 -0
  332. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  333. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  334. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  335. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  336. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  337. package/dist/types/reachability/index.d.ts +194 -0
  338. package/dist/types/reachability/request.d.ts +39 -0
  339. package/dist/types/reactions/constants.d.ts +3 -0
  340. package/dist/types/reactions/reactions.d.ts +4 -0
  341. package/dist/types/reactions/reactions.type.d.ts +52 -0
  342. package/dist/types/reconnection-manager/index.d.ts +126 -0
  343. package/dist/types/recording-controller/enums.d.ts +7 -0
  344. package/dist/types/recording-controller/index.d.ts +207 -0
  345. package/dist/types/recording-controller/util.d.ts +14 -0
  346. package/dist/types/roap/index.d.ts +78 -0
  347. package/dist/types/roap/request.d.ts +39 -0
  348. package/dist/types/roap/turnDiscovery.d.ts +92 -0
  349. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  350. package/dist/types/rtcMetrics/index.d.ts +47 -0
  351. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  352. package/dist/types/statsAnalyzer/index.d.ts +201 -0
  353. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  354. package/dist/types/transcription/index.d.ts +64 -0
  355. package/dist/types/webinar/collection.d.ts +16 -0
  356. package/dist/types/webinar/index.d.ts +5 -0
  357. package/dist/webinar/collection.js +44 -0
  358. package/dist/webinar/collection.js.map +1 -0
  359. package/dist/webinar/index.js +69 -0
  360. package/dist/webinar/index.js.map +1 -0
  361. package/internal-README.md +7 -6
  362. package/package.json +29 -21
  363. package/src/annotation/annotation.types.ts +50 -0
  364. package/src/annotation/constants.ts +36 -0
  365. package/src/annotation/index.ts +328 -0
  366. package/src/breakouts/README.md +220 -0
  367. package/src/breakouts/breakout.ts +188 -0
  368. package/src/breakouts/collection.ts +19 -0
  369. package/src/breakouts/edit-lock-error.ts +25 -0
  370. package/src/breakouts/events.ts +56 -0
  371. package/src/breakouts/index.ts +925 -0
  372. package/src/breakouts/request.ts +55 -0
  373. package/src/breakouts/utils.ts +57 -0
  374. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  375. package/src/common/collection.ts +9 -7
  376. package/src/common/{config.js → config.ts} +1 -1
  377. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  378. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  379. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  380. package/src/common/errors/{media.js → media.ts} +11 -7
  381. package/src/common/errors/no-meeting-info.ts +24 -0
  382. package/src/common/errors/parameter.ts +11 -7
  383. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  384. package/src/common/errors/{permission.js → permission.ts} +10 -6
  385. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  386. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  387. package/src/common/errors/{stats.js → stats.ts} +11 -7
  388. package/src/common/errors/{webex-errors.js → webex-errors.ts} +51 -8
  389. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  390. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  391. package/src/common/events/{events.js → events.ts} +5 -1
  392. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  393. package/src/common/events/{util.js → util.ts} +2 -3
  394. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  395. package/src/common/logs/logger-proxy.ts +44 -0
  396. package/src/common/logs/{request.js → request.ts} +26 -9
  397. package/src/common/queue.ts +22 -9
  398. package/src/{config.js → config.ts} +18 -19
  399. package/src/constants.ts +260 -22
  400. package/src/controls-options-manager/constants.ts +5 -0
  401. package/src/controls-options-manager/enums.ts +18 -0
  402. package/src/controls-options-manager/index.ts +278 -0
  403. package/src/controls-options-manager/types.ts +59 -0
  404. package/src/controls-options-manager/util.ts +300 -0
  405. package/src/index.ts +40 -0
  406. package/src/interpretation/README.md +60 -0
  407. package/src/interpretation/collection.ts +19 -0
  408. package/src/interpretation/index.ts +332 -0
  409. package/src/interpretation/siLanguage.ts +18 -0
  410. package/src/locus-info/controlsUtils.ts +222 -0
  411. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  412. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  413. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  414. package/src/locus-info/{index.js → index.ts} +557 -119
  415. package/src/locus-info/{infoUtils.js → infoUtils.ts} +29 -10
  416. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +81 -17
  417. package/src/locus-info/{parser.js → parser.ts} +303 -104
  418. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  419. package/src/media/index.ts +458 -0
  420. package/src/media/properties.ts +283 -0
  421. package/src/media/{util.js → util.ts} +2 -2
  422. package/src/mediaQualityMetrics/config.ts +384 -0
  423. package/src/meeting/in-meeting-actions.ts +191 -3
  424. package/src/meeting/index.ts +7882 -0
  425. package/src/meeting/locusMediaRequest.ts +313 -0
  426. package/src/meeting/muteState.ts +451 -0
  427. package/src/meeting/{request.js → request.ts} +421 -220
  428. package/src/meeting/request.type.ts +13 -0
  429. package/src/meeting/{state.js → state.ts} +50 -35
  430. package/src/meeting/util.ts +697 -0
  431. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  432. package/src/meeting-info/index.ts +210 -0
  433. package/src/meeting-info/meeting-info-v2.ts +429 -0
  434. package/src/meeting-info/{request.js → request.ts} +14 -4
  435. package/src/meeting-info/{util.js → util.ts} +60 -51
  436. package/src/meeting-info/{utilv2.js → utilv2.ts} +78 -71
  437. package/src/meetings/{collection.js → collection.ts} +26 -3
  438. package/src/meetings/index.ts +1470 -0
  439. package/src/meetings/meetings.types.ts +12 -0
  440. package/src/meetings/{request.js → request.ts} +34 -25
  441. package/src/meetings/{util.js → util.ts} +132 -37
  442. package/src/member/{index.js → index.ts} +160 -56
  443. package/src/member/types.ts +38 -0
  444. package/src/member/util.ts +397 -0
  445. package/src/members/{collection.js → collection.ts} +10 -2
  446. package/src/members/{index.js → index.ts} +351 -146
  447. package/src/members/request.ts +255 -0
  448. package/src/members/types.ts +29 -0
  449. package/src/members/util.ts +353 -0
  450. package/src/metrics/{constants.js → constants.ts} +12 -6
  451. package/src/metrics/index.ts +73 -0
  452. package/src/multistream/mediaRequestManager.ts +337 -63
  453. package/src/multistream/receiveSlot.ts +69 -26
  454. package/src/multistream/receiveSlotManager.ts +66 -42
  455. package/src/multistream/remoteMedia.ts +40 -5
  456. package/src/multistream/remoteMediaGroup.ts +63 -3
  457. package/src/multistream/remoteMediaManager.ts +300 -66
  458. package/src/multistream/sendSlotManager.ts +170 -0
  459. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  460. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  461. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  462. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  463. package/src/reachability/index.ts +671 -0
  464. package/src/reachability/request.ts +50 -35
  465. package/src/reactions/constants.ts +4 -0
  466. package/src/reactions/reactions.ts +104 -0
  467. package/src/reactions/reactions.type.ts +62 -0
  468. package/src/reconnection-manager/{index.js → index.ts} +258 -138
  469. package/src/recording-controller/enums.ts +8 -0
  470. package/src/recording-controller/index.ts +332 -0
  471. package/src/recording-controller/util.ts +75 -0
  472. package/src/roap/{index.js → index.ts} +127 -79
  473. package/src/roap/request.ts +153 -0
  474. package/src/roap/turnDiscovery.ts +109 -47
  475. package/src/rtcMetrics/constants.ts +3 -0
  476. package/src/rtcMetrics/index.ts +100 -0
  477. package/src/statsAnalyzer/global.ts +37 -0
  478. package/src/statsAnalyzer/index.ts +1250 -0
  479. package/src/statsAnalyzer/mqaUtil.ts +292 -0
  480. package/src/transcription/{index.js → index.ts} +46 -39
  481. package/src/webinar/collection.ts +31 -0
  482. package/src/webinar/index.ts +62 -0
  483. package/test/integration/spec/converged-space-meetings.js +233 -0
  484. package/test/integration/spec/journey.js +790 -530
  485. package/test/integration/spec/space-meeting.js +391 -204
  486. package/test/integration/spec/transcription.js +7 -8
  487. package/test/unit/spec/annotation/index.ts +418 -0
  488. package/test/unit/spec/breakouts/breakout.ts +237 -0
  489. package/test/unit/spec/breakouts/collection.ts +15 -0
  490. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  491. package/test/unit/spec/breakouts/events.ts +89 -0
  492. package/test/unit/spec/breakouts/index.ts +1790 -0
  493. package/test/unit/spec/breakouts/request.ts +104 -0
  494. package/test/unit/spec/breakouts/utils.js +72 -0
  495. package/test/unit/spec/common/browser-detection.js +9 -28
  496. package/test/unit/spec/common/queue.js +31 -2
  497. package/test/unit/spec/controls-options-manager/index.js +287 -0
  498. package/test/unit/spec/controls-options-manager/util.js +582 -0
  499. package/test/unit/spec/fixture/locus.js +93 -90
  500. package/test/unit/spec/interpretation/collection.ts +15 -0
  501. package/test/unit/spec/interpretation/index.ts +589 -0
  502. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  503. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  504. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  505. package/test/unit/spec/locus-info/index.js +1390 -17
  506. package/test/unit/spec/locus-info/infoUtils.js +71 -40
  507. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  508. package/test/unit/spec/locus-info/lib/SeqCmp.json +529 -685
  509. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  510. package/test/unit/spec/locus-info/parser.js +119 -44
  511. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  512. package/test/unit/spec/locus-info/selfUtils.js +296 -12
  513. package/test/unit/spec/media/index.ts +128 -77
  514. package/test/unit/spec/media/properties.ts +11 -11
  515. package/test/unit/spec/meeting/in-meeting-actions.ts +92 -3
  516. package/test/unit/spec/meeting/index.js +7433 -2752
  517. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  518. package/test/unit/spec/meeting/muteState.js +420 -211
  519. package/test/unit/spec/meeting/request.js +545 -79
  520. package/test/unit/spec/meeting/utils.js +722 -174
  521. package/test/unit/spec/meeting-info/index.js +300 -0
  522. package/test/unit/spec/meeting-info/meetinginfov2.js +624 -76
  523. package/test/unit/spec/meeting-info/request.js +7 -9
  524. package/test/unit/spec/meeting-info/util.js +11 -12
  525. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  526. package/test/unit/spec/meetings/collection.js +15 -1
  527. package/test/unit/spec/meetings/index.js +1365 -377
  528. package/test/unit/spec/meetings/utils.js +216 -14
  529. package/test/unit/spec/member/index.js +61 -7
  530. package/test/unit/spec/member/util.js +526 -26
  531. package/test/unit/spec/members/index.js +536 -55
  532. package/test/unit/spec/members/request.js +228 -40
  533. package/test/unit/spec/members/utils.js +217 -4
  534. package/test/unit/spec/metrics/index.js +12 -66
  535. package/test/unit/spec/multistream/mediaRequestManager.ts +1012 -109
  536. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  537. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  538. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  539. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  540. package/test/unit/spec/multistream/remoteMediaManager.ts +738 -65
  541. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  542. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  543. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  544. package/test/unit/spec/reachability/index.ts +598 -26
  545. package/test/unit/spec/reachability/request.js +68 -0
  546. package/test/unit/spec/reconnection-manager/index.js +181 -12
  547. package/test/unit/spec/recording-controller/index.js +307 -0
  548. package/test/unit/spec/recording-controller/util.js +229 -0
  549. package/test/unit/spec/roap/index.ts +179 -64
  550. package/test/unit/spec/roap/request.ts +232 -0
  551. package/test/unit/spec/roap/turnDiscovery.ts +123 -58
  552. package/test/unit/spec/rtcMetrics/index.ts +73 -0
  553. package/test/unit/spec/stats-analyzer/index.js +199 -60
  554. package/test/unit/spec/webinar/collection.ts +13 -0
  555. package/test/unit/spec/webinar/index.ts +60 -0
  556. package/test/utils/cmr.js +44 -42
  557. package/test/utils/constants.js +9 -0
  558. package/test/utils/integrationTestUtils.js +46 -0
  559. package/test/utils/testUtils.js +63 -99
  560. package/test/utils/webex-config.js +22 -18
  561. package/test/utils/webex-test-users.js +57 -50
  562. package/tsconfig.json +6 -0
  563. package/dist/media/internal-media-core-wrapper.js +0 -22
  564. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  565. package/dist/meeting/effectsState.js +0 -327
  566. package/dist/meeting/effectsState.js.map +0 -1
  567. package/dist/metrics/config.js +0 -301
  568. package/dist/metrics/config.js.map +0 -1
  569. package/dist/multistream/multistreamMedia.js +0 -116
  570. package/dist/multistream/multistreamMedia.js.map +0 -1
  571. package/dist/peer-connection-manager/util.js +0 -124
  572. package/dist/peer-connection-manager/util.js.map +0 -1
  573. package/src/common/logs/logger-proxy.js +0 -33
  574. package/src/index.js +0 -15
  575. package/src/locus-info/controlsUtils.js +0 -102
  576. package/src/media/index.js +0 -459
  577. package/src/media/internal-media-core-wrapper.ts +0 -9
  578. package/src/media/properties.js +0 -289
  579. package/src/mediaQualityMetrics/config.js +0 -382
  580. package/src/meeting/effectsState.js +0 -205
  581. package/src/meeting/index.js +0 -6284
  582. package/src/meeting/muteState.js +0 -318
  583. package/src/meeting/util.js +0 -506
  584. package/src/meeting-info/index.js +0 -131
  585. package/src/meeting-info/meeting-info-v2.js +0 -255
  586. package/src/meetings/index.js +0 -1015
  587. package/src/member/util.js +0 -254
  588. package/src/members/request.js +0 -131
  589. package/src/members/util.js +0 -258
  590. package/src/metrics/config.js +0 -324
  591. package/src/metrics/index.js +0 -530
  592. package/src/multistream/multistreamMedia.ts +0 -92
  593. package/src/peer-connection-manager/util.ts +0 -117
  594. package/src/reachability/index.js +0 -464
  595. package/src/roap/request.js +0 -127
  596. package/src/statsAnalyzer/global.js +0 -133
  597. package/src/statsAnalyzer/index.js +0 -1006
  598. package/src/statsAnalyzer/mqaUtil.js +0 -173
  599. package/test/unit/spec/meeting/effectsState.js +0 -291
  600. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  601. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,254 +0,0 @@
1
- import {
2
- _USER_,
3
- _RESOURCE_ROOM_,
4
- _OBSERVE_,
5
- _WAIT_,
6
- _LEFT_,
7
- _JOINED_,
8
- _IDLE_,
9
- _IN_LOBBY_,
10
- _NOT_IN_MEETING_,
11
- _IN_MEETING_,
12
- AUDIO_STATUS,
13
- VIDEO_STATUS,
14
- _SEND_RECEIVE_,
15
- _RECEIVE_ONLY_,
16
- _CALL_
17
- } from '../constants';
18
- import ParameterError from '../common/errors/parameter';
19
-
20
- const MemberUtil = {};
21
-
22
- /**
23
- * @param {Object} participant the locus participant
24
- * @returns {Boolean}
25
- */
26
- MemberUtil.isUser = (participant) => participant && participant.type === _USER_;
27
-
28
- MemberUtil.isModerator = (participant) => participant && participant.moderator;
29
-
30
- /**
31
- * @param {Object} participant the locus participant
32
- * @returns {Boolean}
33
- */
34
- MemberUtil.isGuest = (participant) => participant && participant.guest;
35
-
36
- /**
37
- * @param {Object} participant the locus participant
38
- * @returns {Boolean}
39
- */
40
- MemberUtil.isDevice = (participant) => participant && participant.type === _RESOURCE_ROOM_;
41
-
42
- MemberUtil.isModeratorAssignmentProhibited = (participant) => participant && participant.moderatorAssignmentNotAllowed;
43
-
44
- /**
45
- * checks to see if the participant id is the same as the passed id
46
- * there are multiple ids that can be used
47
- * @param {Object} participant the locus participant
48
- * @param {String} id
49
- * @returns {Boolean}
50
- */
51
- MemberUtil.isSame = (participant, id) => participant &&
52
- (participant.id === id || participant.person && participant.person.id === id);
53
-
54
- /**
55
- * checks to see if the participant id is the same as the passed id for associated devices
56
- * there are multiple ids that can be used
57
- * @param {Object} participant the locus participant
58
- * @param {String} id
59
- * @returns {Boolean}
60
- */
61
- MemberUtil.isAssociatedSame = (participant, id) => participant &&
62
- participant.associatedUsers &&
63
- participant.associatedUsers.some((user) => (user.id === id || user.person && user.person.id === id));
64
-
65
- /**
66
- * @param {Object} participant the locus participant
67
- * @param {Boolean} isGuest
68
- * @param {String} status
69
- * @returns {Boolean}
70
- */
71
- MemberUtil.isNotAdmitted = (participant, isGuest, status) => participant &&
72
- participant.guest && ((participant.devices && participant.devices[0] &&
73
- participant.devices[0].intent && participant.devices[0].intent.type === _WAIT_ &&
74
- isGuest && status === _IN_LOBBY_) || !status === _IN_MEETING_);
75
-
76
- /**
77
- * @param {Object} participant the locus participant
78
- * @returns {Boolean}
79
- */
80
- MemberUtil.isAudioMuted = (participant) => {
81
- if (!participant) {
82
- throw new ParameterError('Audio could not be processed, participant is undefined.');
83
- }
84
- const mutedStatus = MemberUtil.isMuted(participant.status, AUDIO_STATUS);
85
-
86
- if (participant.controls && participant.controls.audio) {
87
- if (participant.controls.audio.muted) {
88
- return true;
89
- }
90
- if (mutedStatus) {
91
- return true;
92
- }
93
- }
94
-
95
- return false;
96
- };
97
-
98
- /**
99
- * @param {Object} participant the locus participant
100
- * @returns {Boolean}
101
- */
102
- MemberUtil.isVideoMuted = (participant) => {
103
- if (!participant) {
104
- throw new ParameterError('Video could not be processed, participant is undefined.');
105
- }
106
-
107
- return MemberUtil.isMuted(participant.status, VIDEO_STATUS);
108
- };
109
-
110
- /**
111
- * @param {Object} participant the locus participant
112
- * @returns {Boolean}
113
- */
114
- MemberUtil.isHandRaised = (participant) => {
115
- if (!participant) {
116
- throw new ParameterError('Raise hand could not be processed, participant is undefined.');
117
- }
118
-
119
- return participant.controls?.hand?.raised || false;
120
- };
121
-
122
- /**
123
- * utility method for audio/video muted status
124
- * @param {String} status
125
- * @param {String} accessor
126
- * @returns {Boolean}
127
- */
128
- MemberUtil.isMuted = (status, accessor) => {
129
- if (status) {
130
- if (status[accessor] === _RECEIVE_ONLY_) {
131
- return true;
132
- }
133
- if (status[accessor] === _SEND_RECEIVE_) {
134
- return false;
135
- }
136
- }
137
-
138
- return null;
139
- };
140
-
141
- /**
142
- * utility method for getting the recording member for later comparison
143
- * @param {Object} controls
144
- * @returns {String|null}
145
- */
146
- MemberUtil.getRecordingMember = (controls) => {
147
- if (!controls) {
148
- return null;
149
- }
150
- if (controls.record && controls.record.recording && controls.record.meta) {
151
- return controls.record.meta.modifiedBy;
152
- }
153
-
154
- return null;
155
- };
156
-
157
- /**
158
- * @param {Object} participant the locus participant
159
- * @returns {Boolean}
160
- */
161
- MemberUtil.isRecording = (participant) => {
162
- if (!participant) {
163
- throw new ParameterError('Recording could not be processed, participant is undefined.');
164
- }
165
- if (participant.controls && participant.controls.localRecord) {
166
- return participant.controls.localRecord.recording;
167
- }
168
-
169
- return false;
170
- };
171
-
172
- MemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {
173
- if (isGuest || isSelf) {
174
- return false;
175
- }
176
- if (type === _CALL_) {
177
- return false;
178
- }
179
- if (isInMeeting) {
180
- return true;
181
- }
182
-
183
- return false;
184
- };
185
-
186
- MemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {
187
- if (!isInMeeting) {
188
- return false;
189
- }
190
- if (isMuted) {
191
- return false;
192
- }
193
- if (type === _CALL_) {
194
- return false;
195
- }
196
- if (isSelf || isDevice) {
197
- return true;
198
- }
199
-
200
- return false;
201
- };
202
-
203
- /**
204
- * @param {Object} participant the locus participant
205
- * @returns {String}
206
- */
207
- MemberUtil.extractStatus = (participant) => {
208
- if (!(participant && participant.devices && participant.devices.length)) {
209
- return _NOT_IN_MEETING_;
210
- }
211
- if (participant.state === _JOINED_) {
212
- return _IN_MEETING_;
213
- }
214
- if (participant.state === _IDLE_) {
215
- if (participant.devices && participant.devices.length > 0) {
216
- const foundDevice = participant.devices.find((device) => device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_));
217
-
218
- return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;
219
- }
220
-
221
- return _NOT_IN_MEETING_;
222
- }
223
- if (participant.state === _LEFT_) {
224
- return _NOT_IN_MEETING_;
225
- }
226
-
227
- return _NOT_IN_MEETING_;
228
- };
229
-
230
- /**
231
- * @param {Object} participant the locus participant
232
- * @returns {String}
233
- */
234
- MemberUtil.extractId = (participant) => {
235
- if (participant) {
236
- return participant.id;
237
- }
238
-
239
- return null;
240
- };
241
-
242
- /**
243
- * @param {Object} participant the locus participant
244
- * @returns {String}
245
- */
246
- MemberUtil.extractName = (participant) => {
247
- if (participant && participant.person) {
248
- return participant.person.name;
249
- }
250
-
251
- return null;
252
- };
253
-
254
- export default MemberUtil;
@@ -1,131 +0,0 @@
1
- import {StatelessWebexPlugin} from '@webex/webex-core';
2
-
3
- import {MEETINGS} from '../constants';
4
- import ParameterError from '../common/errors/parameter';
5
-
6
- import MembersUtil from './util';
7
-
8
-
9
- /**
10
- * @class MembersRequest
11
- */
12
- export default class MembersRequest extends StatelessWebexPlugin {
13
- namespace = MEETINGS;
14
-
15
- /**
16
- *
17
- * @param {Object} options with format of {invitee: string, locusUrl: string}
18
- * @returns {Promise}
19
- * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
20
- * @memberof MembersRequest
21
- */
22
- addMembers(options) {
23
- if (!(!options || !options.invitee || (!options.invitee.emailAddress || !options.invitee.email || !options.invitee.phoneNumber) || !options.locusUrl)) {
24
- throw new ParameterError('invitee must be passed and the associated locus url for this meeting object must be defined.');
25
- }
26
- const requestParams = MembersUtil.getAddMemberRequestParams(options);
27
-
28
- return this.request(requestParams);
29
- }
30
-
31
- /**
32
- *
33
- * @param {Object} options
34
- * @returns {Promise}
35
- * @throws {Error} if the options are not valid and complete, must have memberIds AND locusUrl
36
- * @memberof MembersRequest
37
- */
38
- admitMember(options) {
39
- if (!options || !options.locusUrl || !options.memberIds) {
40
- throw new ParameterError('memberIds must be an array passed and the associated locus url for this meeting object must be defined.');
41
- }
42
- const requestParams = MembersUtil.getAdmitMemberRequestParams(options);
43
-
44
- return this.request(requestParams);
45
- }
46
-
47
- removeMember(options) {
48
- if (!options || !options.locusUrl || !options.memberId) {
49
- throw new ParameterError('memberId must be defined, and the associated locus url for this meeting object must be defined.');
50
- }
51
-
52
- const requestParams = MembersUtil.getRemoveMemberRequestParams(options);
53
-
54
- return this.request(requestParams);
55
- }
56
-
57
- muteMember(options) {
58
- if (!options || !options.locusUrl || !options.memberId) {
59
- throw new ParameterError('memberId must be defined, and the associated locus url for this meeting object must be defined.');
60
- }
61
-
62
- const requestParams = MembersUtil.getMuteMemberRequestParams(options);
63
-
64
- return this.request(requestParams);
65
- }
66
-
67
- raiseOrLowerHandMember(options) {
68
- if (!options || !options.locusUrl || !options.memberId) {
69
- throw new ParameterError('memberId must be defined, and the associated locus url for this meeting object must be defined.');
70
- }
71
-
72
- const requestParams = MembersUtil.getRaiseHandMemberRequestParams(options);
73
-
74
- return this.request(requestParams);
75
- }
76
-
77
- lowerAllHandsMember(options) {
78
- if (!options || !options.locusUrl || !options.requestingParticipantId) {
79
- throw new ParameterError('requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.');
80
- }
81
-
82
- const requestParams = MembersUtil.getLowerAllHandsMemberRequestParams(options);
83
-
84
- return this.request(requestParams);
85
- }
86
-
87
- transferHostToMember(options) {
88
- if (!options || !options.locusUrl || !options.memberId || !options.moderator) {
89
- throw new ParameterError('memberId must be defined, the associated locus url, and the moderator for this meeting object must be defined.');
90
- }
91
-
92
- const requestParams = MembersUtil.getTransferHostToMemberRequestParams(options);
93
-
94
- return this.request(requestParams);
95
- }
96
-
97
- /**
98
- * Sends a request to the DTMF endpoint to send tones
99
- * @param {Object} options
100
- * @param {String} options.locusUrl
101
- * @param {String} options.url device url SIP user
102
- * @param {String} options.tones a string of one or more DTMF tones to send
103
- * @param {String} options.memberId ID of PSTN user
104
- * @returns {Promise}
105
- */
106
- sendDialPadKey(options) {
107
- if (!options || !options.locusUrl || !options.memberId || !options.url || !options.tones && options.tones !== 0) {
108
- throw new ParameterError('memberId must be defined, the associated locus url, the device url and DTMF tones for this meeting object must be defined.');
109
- }
110
-
111
- const requestParams = MembersUtil.generateSendDTMFRequestParams(options);
112
-
113
- return this.request(requestParams);
114
- }
115
-
116
- /**
117
- * @param {Object} options with format of {invitee: string, locusUrl: string}
118
- * @returns {Promise}
119
- * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
120
- * @memberof MembersRequest
121
- */
122
- cancelPhoneInvite(options) {
123
- if (!(options?.invitee?.phoneNumber || options?.locusUrl)) {
124
- throw new ParameterError('invitee must be passed and the associated locus url for this meeting object must be defined.');
125
- }
126
-
127
- const requestParams = MembersUtil.generateCancelInviteRequestParams(options);
128
-
129
- return this.request(requestParams);
130
- }
131
- }
@@ -1,258 +0,0 @@
1
- import uuid from 'uuid';
2
-
3
- import {
4
- HTTP_VERBS,
5
- CONTROLS,
6
- _FORCED_,
7
- LEAVE,
8
- PARTICIPANT,
9
- VALID_EMAIL_ADDRESS,
10
- DIALER_REGEX,
11
- SEND_DTMF_ENDPOINT,
12
- _REMOVE_
13
- } from '../constants';
14
-
15
- const MembersUtil = {};
16
-
17
- /**
18
- * @param {Object} invitee with emailAddress, email or phoneNumber
19
- * @param {String} locusUrl
20
- * @param {Boolean} alertIfActive
21
- * @returns {Object} the format object
22
- */
23
- MembersUtil.generateAddMemberOptions = (invitee, locusUrl, alertIfActive) => ({
24
- invitee,
25
- locusUrl,
26
- alertIfActive
27
- });
28
-
29
- /**
30
- * @param {Array} memberIds
31
- * @param {String} locusUrl
32
- * @returns {Object} the format object
33
- */
34
- MembersUtil.generateAdmitMemberOptions = (memberIds, locusUrl) => ({
35
- locusUrl,
36
- memberIds
37
- });
38
-
39
- /**
40
- * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}
41
- * @returns {Object} with {invitees: [{address}], alertIfActive}
42
- */
43
- MembersUtil.getAddMemberBody = (options) => ({
44
- invitees: [
45
- {
46
- address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber
47
- }
48
- ],
49
- alertIfActive: options.alertIfActive
50
- });
51
-
52
- /**
53
- * @param {Object} options with {memberIds}
54
- * @returns {Object} admit with {memberIds}
55
- */
56
- MembersUtil.getAdmitMemberRequestBody = (options) => ({
57
- admit: {participantIds: options.memberIds}
58
- });
59
-
60
- /**
61
- * @param {Object} format with {memberIds, locusUrl}
62
- * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request
63
- */
64
- MembersUtil.getAdmitMemberRequestParams = (format) => {
65
- const body = MembersUtil.getAdmitMemberRequestBody(format);
66
- const uri = `${format.locusUrl}/${CONTROLS}`;
67
-
68
- return {
69
- method: HTTP_VERBS.PUT,
70
- uri,
71
- body
72
- };
73
- };
74
-
75
- /**
76
- * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}
77
- * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request
78
- */
79
- MembersUtil.getAddMemberRequestParams = (format) => {
80
- const body = MembersUtil.getAddMemberBody(format);
81
- const requestParams = {
82
- method: HTTP_VERBS.PUT,
83
- uri: format.locusUrl,
84
- body
85
- };
86
-
87
- return requestParams;
88
- };
89
-
90
- MembersUtil.isInvalidInvitee = (invitee) => {
91
- if (!(invitee && (invitee.email || invitee.emailAddress || invitee.phoneNumber))) {
92
- return true;
93
- }
94
-
95
- if (invitee.phoneNumber) {
96
- return !DIALER_REGEX.E164_FORMAT.test(invitee.phoneNumber);
97
- }
98
-
99
- return !VALID_EMAIL_ADDRESS.test(invitee.email || invitee.emailAddress);
100
- };
101
-
102
- MembersUtil.getRemoveMemberRequestParams = (options) => {
103
- const body = {
104
- reason: options.reason
105
- };
106
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;
107
-
108
- return {
109
- method: HTTP_VERBS.PUT,
110
- uri,
111
- body
112
- };
113
- };
114
-
115
- MembersUtil.generateTransferHostMemberOptions = (transfer, moderator, locusUrl) => ({
116
- moderator,
117
- locusUrl,
118
- memberId: transfer
119
- });
120
-
121
- MembersUtil.generateRemoveMemberOptions = (removal, locusUrl) => ({
122
- reason: _FORCED_,
123
- memberId: removal,
124
- locusUrl
125
- });
126
-
127
- MembersUtil.generateMuteMemberOptions = (memberId, status, locusUrl) => ({
128
- memberId,
129
- muted: status,
130
- locusUrl
131
- });
132
-
133
- MembersUtil.generateRaiseHandMemberOptions = (memberId, status, locusUrl) => ({
134
- memberId,
135
- raised: status,
136
- locusUrl
137
- });
138
-
139
- MembersUtil.generateLowerAllHandsMemberOptions = (requestingParticipantId, locusUrl) => ({
140
- requestingParticipantId,
141
- locusUrl
142
- });
143
-
144
- MembersUtil.getMuteMemberRequestParams = (options) => {
145
- const body = {
146
- audio: {
147
- muted: options.muted
148
- }
149
- };
150
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
151
-
152
- return {
153
- method: HTTP_VERBS.PATCH,
154
- uri,
155
- body
156
- };
157
- };
158
-
159
- MembersUtil.getRaiseHandMemberRequestParams = (options) => {
160
- const body = {
161
- hand: {
162
- raised: options.raised
163
- }
164
- };
165
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
166
-
167
- return {
168
- method: HTTP_VERBS.PATCH,
169
- uri,
170
- body
171
- };
172
- };
173
-
174
- MembersUtil.getLowerAllHandsMemberRequestParams = (options) => {
175
- const body = {
176
- hand: {
177
- raised: false
178
- },
179
- requestingParticipantId: options.requestingParticipantId
180
- };
181
- const uri = `${options.locusUrl}/${CONTROLS}`;
182
-
183
- return {
184
- method: HTTP_VERBS.PATCH,
185
- uri,
186
- body
187
- };
188
- };
189
-
190
- MembersUtil.getTransferHostToMemberRequestParams = (options) => {
191
- const body = {
192
- role: {
193
- moderator: options.moderator
194
- }
195
- };
196
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
197
-
198
- return {
199
- method: HTTP_VERBS.PATCH,
200
- uri,
201
- body
202
- };
203
- };
204
-
205
- MembersUtil.genderateSendDTMFOptions = (url, tones, memberId, locusUrl) => ({
206
- url,
207
- tones,
208
- memberId,
209
- locusUrl
210
- });
211
-
212
- MembersUtil.generateSendDTMFRequestParams = ({
213
- url, tones, memberId, locusUrl
214
- }) => {
215
- const body = {
216
- device: {
217
- url
218
- },
219
- memberId,
220
- dtmf: {
221
- correlationId: uuid.v4(),
222
- tones,
223
- direction: 'transmit'
224
- }
225
- };
226
- const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;
227
-
228
- return {
229
- method: HTTP_VERBS.POST,
230
- uri,
231
- body
232
- };
233
- };
234
-
235
- MembersUtil.cancelPhoneInviteOptions = (invitee, locusUrl) => ({
236
- invitee,
237
- locusUrl
238
- });
239
-
240
- MembersUtil.generateCancelInviteRequestParams = (options) => {
241
- const body = {
242
- actionType: _REMOVE_,
243
- invitees: [
244
- {
245
- address: options.invitee.phoneNumber
246
- }
247
- ]
248
- };
249
- const requestParams = {
250
- method: HTTP_VERBS.PUT,
251
- uri: options.locusUrl,
252
- body
253
- };
254
-
255
- return requestParams;
256
- };
257
-
258
- export default MembersUtil;