@webex/plugin-meetings 3.0.0-beta.4 → 3.0.0-beta.400

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 (629) hide show
  1. package/README.md +58 -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 +11 -15
  75. package/dist/config.js.map +1 -1
  76. package/dist/constants.js +347 -74
  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 +125 -18
  89. package/dist/index.js.map +1 -1
  90. package/dist/interceptors/index.js +15 -0
  91. package/dist/interceptors/index.js.map +1 -0
  92. package/dist/interceptors/locusRetry.js +93 -0
  93. package/dist/interceptors/locusRetry.js.map +1 -0
  94. package/dist/interpretation/collection.js +23 -0
  95. package/dist/interpretation/collection.js.map +1 -0
  96. package/dist/interpretation/index.js +380 -0
  97. package/dist/interpretation/index.js.map +1 -0
  98. package/dist/interpretation/siLanguage.js +25 -0
  99. package/dist/interpretation/siLanguage.js.map +1 -0
  100. package/dist/locus-info/controlsUtils.js +101 -29
  101. package/dist/locus-info/controlsUtils.js.map +1 -1
  102. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  103. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  104. package/dist/locus-info/fullState.js +0 -15
  105. package/dist/locus-info/fullState.js.map +1 -1
  106. package/dist/locus-info/hostUtils.js +4 -12
  107. package/dist/locus-info/hostUtils.js.map +1 -1
  108. package/dist/locus-info/index.js +564 -246
  109. package/dist/locus-info/index.js.map +1 -1
  110. package/dist/locus-info/infoUtils.js +10 -38
  111. package/dist/locus-info/infoUtils.js.map +1 -1
  112. package/dist/locus-info/mediaSharesUtils.js +82 -38
  113. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  114. package/dist/locus-info/parser.js +314 -163
  115. package/dist/locus-info/parser.js.map +1 -1
  116. package/dist/locus-info/selfUtils.js +110 -92
  117. package/dist/locus-info/selfUtils.js.map +1 -1
  118. package/dist/media/index.js +107 -231
  119. package/dist/media/index.js.map +1 -1
  120. package/dist/media/properties.js +137 -222
  121. package/dist/media/properties.js.map +1 -1
  122. package/dist/media/util.js +2 -9
  123. package/dist/media/util.js.map +1 -1
  124. package/dist/mediaQualityMetrics/config.js +316 -501
  125. package/dist/mediaQualityMetrics/config.js.map +1 -1
  126. package/dist/meeting/in-meeting-actions.js +97 -14
  127. package/dist/meeting/in-meeting-actions.js.map +1 -1
  128. package/dist/meeting/index.js +5311 -3871
  129. package/dist/meeting/index.js.map +1 -1
  130. package/dist/meeting/locusMediaRequest.js +292 -0
  131. package/dist/meeting/locusMediaRequest.js.map +1 -0
  132. package/dist/meeting/muteState.js +260 -183
  133. package/dist/meeting/muteState.js.map +1 -1
  134. package/dist/meeting/request.js +421 -347
  135. package/dist/meeting/request.js.map +1 -1
  136. package/dist/meeting/request.type.js +7 -0
  137. package/dist/meeting/request.type.js.map +1 -0
  138. package/dist/meeting/state.js +21 -31
  139. package/dist/meeting/state.js.map +1 -1
  140. package/dist/meeting/util.js +672 -585
  141. package/dist/meeting/util.js.map +1 -1
  142. package/dist/meeting/voicea-meeting.js +172 -0
  143. package/dist/meeting/voicea-meeting.js.map +1 -0
  144. package/dist/meeting-info/collection.js +6 -25
  145. package/dist/meeting-info/collection.js.map +1 -1
  146. package/dist/meeting-info/index.js +87 -39
  147. package/dist/meeting-info/index.js.map +1 -1
  148. package/dist/meeting-info/meeting-info-v2.js +352 -283
  149. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  150. package/dist/meeting-info/request.js +3 -15
  151. package/dist/meeting-info/request.js.map +1 -1
  152. package/dist/meeting-info/util.js +99 -183
  153. package/dist/meeting-info/util.js.map +1 -1
  154. package/dist/meeting-info/utilv2.js +147 -234
  155. package/dist/meeting-info/utilv2.js.map +1 -1
  156. package/dist/meetings/collection.js +43 -19
  157. package/dist/meetings/collection.js.map +1 -1
  158. package/dist/meetings/index.js +895 -600
  159. package/dist/meetings/index.js.map +1 -1
  160. package/dist/meetings/meetings.types.js +7 -0
  161. package/dist/meetings/meetings.types.js.map +1 -0
  162. package/dist/meetings/request.js +26 -41
  163. package/dist/meetings/request.js.map +1 -1
  164. package/dist/meetings/util.js +184 -157
  165. package/dist/meetings/util.js.map +1 -1
  166. package/dist/member/index.js +134 -85
  167. package/dist/member/index.js.map +1 -1
  168. package/dist/member/types.js +25 -0
  169. package/dist/member/types.js.map +1 -0
  170. package/dist/member/util.js +158 -88
  171. package/dist/member/util.js.map +1 -1
  172. package/dist/members/collection.js +13 -12
  173. package/dist/members/collection.js.map +1 -1
  174. package/dist/members/index.js +194 -204
  175. package/dist/members/index.js.map +1 -1
  176. package/dist/members/request.js +113 -68
  177. package/dist/members/request.js.map +1 -1
  178. package/dist/members/types.js +15 -0
  179. package/dist/members/types.js.map +1 -0
  180. package/dist/members/util.js +324 -259
  181. package/dist/members/util.js.map +1 -1
  182. package/dist/metrics/constants.js +19 -7
  183. package/dist/metrics/constants.js.map +1 -1
  184. package/dist/metrics/index.js +11 -558
  185. package/dist/metrics/index.js.map +1 -1
  186. package/dist/multistream/mediaRequestManager.js +263 -50
  187. package/dist/multistream/mediaRequestManager.js.map +1 -1
  188. package/dist/multistream/receiveSlot.js +58 -65
  189. package/dist/multistream/receiveSlot.js.map +1 -1
  190. package/dist/multistream/receiveSlotManager.js +76 -95
  191. package/dist/multistream/receiveSlotManager.js.map +1 -1
  192. package/dist/multistream/remoteMedia.js +62 -76
  193. package/dist/multistream/remoteMedia.js.map +1 -1
  194. package/dist/multistream/remoteMediaGroup.js +82 -45
  195. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  196. package/dist/multistream/remoteMediaManager.js +657 -448
  197. package/dist/multistream/remoteMediaManager.js.map +1 -1
  198. package/dist/multistream/sendSlotManager.js +255 -0
  199. package/dist/multistream/sendSlotManager.js.map +1 -0
  200. package/dist/networkQualityMonitor/index.js +40 -59
  201. package/dist/networkQualityMonitor/index.js.map +1 -1
  202. package/dist/personal-meeting-room/index.js +21 -45
  203. package/dist/personal-meeting-room/index.js.map +1 -1
  204. package/dist/personal-meeting-room/request.js +1 -31
  205. package/dist/personal-meeting-room/request.js.map +1 -1
  206. package/dist/personal-meeting-room/util.js +0 -13
  207. package/dist/personal-meeting-room/util.js.map +1 -1
  208. package/dist/reachability/clusterReachability.js +356 -0
  209. package/dist/reachability/clusterReachability.js.map +1 -0
  210. package/dist/reachability/index.js +297 -460
  211. package/dist/reachability/index.js.map +1 -1
  212. package/dist/reachability/request.js +20 -26
  213. package/dist/reachability/request.js.map +1 -1
  214. package/dist/reachability/util.js +29 -0
  215. package/dist/reachability/util.js.map +1 -0
  216. package/dist/reactions/constants.js +13 -0
  217. package/dist/reactions/constants.js.map +1 -0
  218. package/dist/reactions/reactions.js +109 -0
  219. package/dist/reactions/reactions.js.map +1 -0
  220. package/dist/reactions/reactions.type.js +36 -0
  221. package/dist/reactions/reactions.type.js.map +1 -0
  222. package/dist/reconnection-manager/index.js +413 -483
  223. package/dist/reconnection-manager/index.js.map +1 -1
  224. package/dist/recording-controller/enums.js +17 -0
  225. package/dist/recording-controller/enums.js.map +1 -0
  226. package/dist/recording-controller/index.js +362 -0
  227. package/dist/recording-controller/index.js.map +1 -0
  228. package/dist/recording-controller/util.js +64 -0
  229. package/dist/recording-controller/util.js.map +1 -0
  230. package/dist/roap/index.js +102 -86
  231. package/dist/roap/index.js.map +1 -1
  232. package/dist/roap/request.js +131 -135
  233. package/dist/roap/request.js.map +1 -1
  234. package/dist/roap/turnDiscovery.js +437 -116
  235. package/dist/roap/turnDiscovery.js.map +1 -1
  236. package/dist/rtcMetrics/constants.js +12 -0
  237. package/dist/rtcMetrics/constants.js.map +1 -0
  238. package/dist/rtcMetrics/index.js +179 -0
  239. package/dist/rtcMetrics/index.js.map +1 -0
  240. package/dist/statsAnalyzer/global.js +1 -95
  241. package/dist/statsAnalyzer/global.js.map +1 -1
  242. package/dist/statsAnalyzer/index.js +557 -583
  243. package/dist/statsAnalyzer/index.js.map +1 -1
  244. package/dist/statsAnalyzer/mqaUtil.js +326 -130
  245. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  246. package/dist/transcription/index.js +22 -47
  247. package/dist/transcription/index.js.map +1 -1
  248. package/dist/types/annotation/annotation.types.d.ts +42 -0
  249. package/dist/types/annotation/constants.d.ts +31 -0
  250. package/dist/types/annotation/index.d.ts +117 -0
  251. package/dist/types/breakouts/breakout.d.ts +8 -0
  252. package/dist/types/breakouts/collection.d.ts +5 -0
  253. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  254. package/dist/types/breakouts/events.d.ts +8 -0
  255. package/dist/types/breakouts/index.d.ts +5 -0
  256. package/dist/types/breakouts/request.d.ts +22 -0
  257. package/dist/types/breakouts/utils.d.ts +15 -0
  258. package/dist/types/common/browser-detection.d.ts +9 -0
  259. package/dist/types/common/collection.d.ts +48 -0
  260. package/dist/types/common/config.d.ts +2 -0
  261. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  262. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  263. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  264. package/dist/types/common/errors/media.d.ts +15 -0
  265. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  266. package/dist/types/common/errors/parameter.d.ts +15 -0
  267. package/dist/types/common/errors/password-error.d.ts +15 -0
  268. package/dist/types/common/errors/permission.d.ts +14 -0
  269. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  270. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  271. package/dist/types/common/errors/reconnection.d.ts +15 -0
  272. package/dist/types/common/errors/stats.d.ts +15 -0
  273. package/dist/types/common/errors/webex-errors.d.ts +93 -0
  274. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  275. package/dist/types/common/events/events-scope.d.ts +17 -0
  276. package/dist/types/common/events/events.d.ts +12 -0
  277. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  278. package/dist/types/common/events/util.d.ts +2 -0
  279. package/dist/types/common/logs/logger-config.d.ts +2 -0
  280. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  281. package/dist/types/common/logs/request.d.ts +36 -0
  282. package/dist/types/common/queue.d.ts +34 -0
  283. package/dist/types/config.d.ts +72 -0
  284. package/dist/types/constants.d.ts +1088 -0
  285. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  286. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  287. package/dist/types/controls-options-manager/index.d.ts +136 -0
  288. package/dist/types/controls-options-manager/types.d.ts +43 -0
  289. package/dist/types/controls-options-manager/util.d.ts +1 -0
  290. package/dist/types/index.d.ts +7 -0
  291. package/dist/types/interceptors/index.d.ts +2 -0
  292. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  293. package/dist/types/interpretation/collection.d.ts +5 -0
  294. package/dist/types/interpretation/index.d.ts +5 -0
  295. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  296. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  297. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  298. package/dist/types/locus-info/fullState.d.ts +2 -0
  299. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  300. package/dist/types/locus-info/index.d.ts +322 -0
  301. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  302. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  303. package/dist/types/locus-info/parser.d.ts +272 -0
  304. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  305. package/dist/types/media/index.d.ts +34 -0
  306. package/dist/types/media/properties.d.ts +93 -0
  307. package/dist/types/media/util.d.ts +2 -0
  308. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  309. package/dist/types/meeting/in-meeting-actions.d.ts +167 -0
  310. package/dist/types/meeting/index.d.ts +1824 -0
  311. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  312. package/dist/types/meeting/muteState.d.ts +178 -0
  313. package/dist/types/meeting/request.d.ts +293 -0
  314. package/dist/types/meeting/request.type.d.ts +11 -0
  315. package/dist/types/meeting/state.d.ts +9 -0
  316. package/dist/types/meeting/util.d.ts +118 -0
  317. package/dist/types/meeting/voicea-meeting.d.ts +16 -0
  318. package/dist/types/meeting-info/collection.d.ts +20 -0
  319. package/dist/types/meeting-info/index.d.ts +69 -0
  320. package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
  321. package/dist/types/meeting-info/request.d.ts +22 -0
  322. package/dist/types/meeting-info/util.d.ts +2 -0
  323. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  324. package/dist/types/meetings/collection.d.ts +40 -0
  325. package/dist/types/meetings/index.d.ts +389 -0
  326. package/dist/types/meetings/meetings.types.d.ts +4 -0
  327. package/dist/types/meetings/request.d.ts +27 -0
  328. package/dist/types/meetings/util.d.ts +18 -0
  329. package/dist/types/member/index.d.ts +160 -0
  330. package/dist/types/member/types.d.ts +32 -0
  331. package/dist/types/member/util.d.ts +2 -0
  332. package/dist/types/members/collection.d.ts +29 -0
  333. package/dist/types/members/index.d.ts +353 -0
  334. package/dist/types/members/request.d.ts +114 -0
  335. package/dist/types/members/types.d.ts +25 -0
  336. package/dist/types/members/util.d.ts +215 -0
  337. package/dist/types/metrics/constants.d.ts +70 -0
  338. package/dist/types/metrics/index.d.ts +45 -0
  339. package/dist/types/multistream/mediaRequestManager.d.ts +120 -0
  340. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  341. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  342. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  343. package/dist/types/multistream/remoteMediaGroup.d.ts +49 -0
  344. package/dist/types/multistream/remoteMediaManager.d.ts +301 -0
  345. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  346. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  347. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  348. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  349. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  350. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  351. package/dist/types/reachability/index.d.ts +105 -0
  352. package/dist/types/reachability/request.d.ts +39 -0
  353. package/dist/types/reachability/util.d.ts +8 -0
  354. package/dist/types/reactions/constants.d.ts +3 -0
  355. package/dist/types/reactions/reactions.d.ts +4 -0
  356. package/dist/types/reactions/reactions.type.d.ts +52 -0
  357. package/dist/types/reconnection-manager/index.d.ts +136 -0
  358. package/dist/types/recording-controller/enums.d.ts +7 -0
  359. package/dist/types/recording-controller/index.d.ts +207 -0
  360. package/dist/types/recording-controller/util.d.ts +14 -0
  361. package/dist/types/roap/index.d.ts +86 -0
  362. package/dist/types/roap/request.d.ts +39 -0
  363. package/dist/types/roap/turnDiscovery.d.ts +155 -0
  364. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  365. package/dist/types/rtcMetrics/index.d.ts +61 -0
  366. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  367. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  368. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  369. package/dist/types/transcription/index.d.ts +64 -0
  370. package/dist/types/webinar/collection.d.ts +16 -0
  371. package/dist/types/webinar/index.d.ts +5 -0
  372. package/dist/webinar/collection.js +44 -0
  373. package/dist/webinar/collection.js.map +1 -0
  374. package/dist/webinar/index.js +69 -0
  375. package/dist/webinar/index.js.map +1 -0
  376. package/internal-README.md +7 -6
  377. package/package.json +30 -21
  378. package/src/annotation/annotation.types.ts +50 -0
  379. package/src/annotation/constants.ts +36 -0
  380. package/src/annotation/index.ts +328 -0
  381. package/src/breakouts/README.md +220 -0
  382. package/src/breakouts/breakout.ts +188 -0
  383. package/src/breakouts/collection.ts +19 -0
  384. package/src/breakouts/edit-lock-error.ts +25 -0
  385. package/src/breakouts/events.ts +56 -0
  386. package/src/breakouts/index.ts +925 -0
  387. package/src/breakouts/request.ts +55 -0
  388. package/src/breakouts/utils.ts +57 -0
  389. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  390. package/src/common/collection.ts +9 -7
  391. package/src/common/{config.js → config.ts} +1 -1
  392. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  393. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  394. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  395. package/src/common/errors/{media.js → media.ts} +11 -7
  396. package/src/common/errors/no-meeting-info.ts +24 -0
  397. package/src/common/errors/parameter.ts +11 -7
  398. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  399. package/src/common/errors/{permission.js → permission.ts} +10 -6
  400. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  401. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  402. package/src/common/errors/{stats.js → stats.ts} +11 -7
  403. package/src/common/errors/{webex-errors.js → webex-errors.ts} +51 -8
  404. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  405. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  406. package/src/common/events/{events.js → events.ts} +5 -1
  407. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  408. package/src/common/events/{util.js → util.ts} +2 -3
  409. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  410. package/src/common/logs/logger-proxy.ts +44 -0
  411. package/src/common/logs/{request.js → request.ts} +26 -9
  412. package/src/common/queue.ts +22 -9
  413. package/src/{config.js → config.ts} +19 -21
  414. package/src/constants.ts +296 -27
  415. package/src/controls-options-manager/constants.ts +5 -0
  416. package/src/controls-options-manager/enums.ts +18 -0
  417. package/src/controls-options-manager/index.ts +278 -0
  418. package/src/controls-options-manager/types.ts +59 -0
  419. package/src/controls-options-manager/util.ts +300 -0
  420. package/src/index.ts +45 -0
  421. package/src/interceptors/index.ts +3 -0
  422. package/src/interceptors/locusRetry.ts +67 -0
  423. package/src/interpretation/README.md +60 -0
  424. package/src/interpretation/collection.ts +19 -0
  425. package/src/interpretation/index.ts +349 -0
  426. package/src/interpretation/siLanguage.ts +18 -0
  427. package/src/locus-info/controlsUtils.ts +222 -0
  428. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  429. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  430. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  431. package/src/locus-info/{index.js → index.ts} +561 -119
  432. package/src/locus-info/{infoUtils.js → infoUtils.ts} +29 -10
  433. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +97 -17
  434. package/src/locus-info/{parser.js → parser.ts} +303 -104
  435. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  436. package/src/media/index.ts +460 -0
  437. package/src/media/properties.ts +283 -0
  438. package/src/media/{util.js → util.ts} +2 -2
  439. package/src/mediaQualityMetrics/config.ts +249 -0
  440. package/src/meeting/in-meeting-actions.ts +199 -3
  441. package/src/meeting/index.ts +8494 -0
  442. package/src/meeting/locusMediaRequest.ts +313 -0
  443. package/src/meeting/muteState.ts +465 -0
  444. package/src/meeting/request.ts +912 -0
  445. package/src/meeting/request.type.ts +13 -0
  446. package/src/meeting/{state.js → state.ts} +50 -35
  447. package/src/meeting/util.ts +799 -0
  448. package/src/meeting/voicea-meeting.ts +122 -0
  449. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  450. package/src/meeting-info/index.ts +210 -0
  451. package/src/meeting-info/meeting-info-v2.ts +423 -0
  452. package/src/meeting-info/{request.js → request.ts} +14 -4
  453. package/src/meeting-info/{util.js → util.ts} +70 -58
  454. package/src/meeting-info/{utilv2.js → utilv2.ts} +99 -82
  455. package/src/meetings/collection.ts +76 -0
  456. package/src/meetings/index.ts +1539 -0
  457. package/src/meetings/meetings.types.ts +12 -0
  458. package/src/meetings/{request.js → request.ts} +34 -25
  459. package/src/meetings/{util.js → util.ts} +133 -38
  460. package/src/member/{index.js → index.ts} +159 -56
  461. package/src/member/types.ts +38 -0
  462. package/src/member/util.ts +397 -0
  463. package/src/members/{collection.js → collection.ts} +10 -2
  464. package/src/members/{index.js → index.ts} +351 -146
  465. package/src/members/request.ts +255 -0
  466. package/src/members/types.ts +29 -0
  467. package/src/members/util.ts +353 -0
  468. package/src/metrics/{constants.js → constants.ts} +17 -6
  469. package/src/metrics/index.ts +73 -0
  470. package/src/multistream/mediaRequestManager.ts +341 -64
  471. package/src/multistream/receiveSlot.ts +69 -26
  472. package/src/multistream/receiveSlotManager.ts +66 -42
  473. package/src/multistream/remoteMedia.ts +40 -5
  474. package/src/multistream/remoteMediaGroup.ts +82 -3
  475. package/src/multistream/remoteMediaManager.ts +401 -81
  476. package/src/multistream/sendSlotManager.ts +199 -0
  477. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  478. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  479. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  480. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  481. package/src/reachability/clusterReachability.ts +320 -0
  482. package/src/reachability/index.ts +371 -0
  483. package/src/reachability/request.ts +50 -35
  484. package/src/reachability/util.ts +24 -0
  485. package/src/reactions/constants.ts +4 -0
  486. package/src/reactions/reactions.ts +104 -0
  487. package/src/reactions/reactions.type.ts +62 -0
  488. package/src/reconnection-manager/index.ts +643 -0
  489. package/src/recording-controller/enums.ts +8 -0
  490. package/src/recording-controller/index.ts +332 -0
  491. package/src/recording-controller/util.ts +75 -0
  492. package/src/roap/index.ts +288 -0
  493. package/src/roap/request.ts +153 -0
  494. package/src/roap/turnDiscovery.ts +374 -70
  495. package/src/rtcMetrics/constants.ts +3 -0
  496. package/src/rtcMetrics/index.ts +166 -0
  497. package/src/statsAnalyzer/global.ts +37 -0
  498. package/src/statsAnalyzer/index.ts +1275 -0
  499. package/src/statsAnalyzer/mqaUtil.ts +440 -0
  500. package/src/transcription/{index.js → index.ts} +46 -39
  501. package/src/webinar/collection.ts +31 -0
  502. package/src/webinar/index.ts +62 -0
  503. package/test/integration/spec/converged-space-meetings.js +233 -0
  504. package/test/integration/spec/journey.js +791 -531
  505. package/test/integration/spec/space-meeting.js +391 -204
  506. package/test/integration/spec/transcription.js +7 -8
  507. package/test/unit/spec/annotation/index.ts +418 -0
  508. package/test/unit/spec/breakouts/breakout.ts +238 -0
  509. package/test/unit/spec/breakouts/collection.ts +15 -0
  510. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  511. package/test/unit/spec/breakouts/events.ts +89 -0
  512. package/test/unit/spec/breakouts/index.ts +1793 -0
  513. package/test/unit/spec/breakouts/request.ts +104 -0
  514. package/test/unit/spec/breakouts/utils.js +72 -0
  515. package/test/unit/spec/common/browser-detection.js +9 -28
  516. package/test/unit/spec/common/queue.js +31 -2
  517. package/test/unit/spec/controls-options-manager/index.js +287 -0
  518. package/test/unit/spec/controls-options-manager/util.js +582 -0
  519. package/test/unit/spec/fixture/locus.js +93 -90
  520. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  521. package/test/unit/spec/interpretation/collection.ts +15 -0
  522. package/test/unit/spec/interpretation/index.ts +625 -0
  523. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  524. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  525. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  526. package/test/unit/spec/locus-info/index.js +1458 -21
  527. package/test/unit/spec/locus-info/infoUtils.js +71 -40
  528. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  529. package/test/unit/spec/locus-info/lib/SeqCmp.json +529 -685
  530. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  531. package/test/unit/spec/locus-info/parser.js +119 -44
  532. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  533. package/test/unit/spec/locus-info/selfUtils.js +291 -12
  534. package/test/unit/spec/media/index.ts +194 -111
  535. package/test/unit/spec/media/properties.ts +11 -11
  536. package/test/unit/spec/meeting/in-meeting-actions.ts +96 -3
  537. package/test/unit/spec/meeting/index.js +8616 -1921
  538. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  539. package/test/unit/spec/meeting/muteState.js +568 -207
  540. package/test/unit/spec/meeting/request.js +602 -82
  541. package/test/unit/spec/meeting/utils.js +867 -179
  542. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  543. package/test/unit/spec/meeting-info/index.js +300 -0
  544. package/test/unit/spec/meeting-info/meetinginfov2.js +631 -78
  545. package/test/unit/spec/meeting-info/request.js +7 -9
  546. package/test/unit/spec/meeting-info/util.js +11 -12
  547. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  548. package/test/unit/spec/meetings/collection.js +27 -1
  549. package/test/unit/spec/meetings/index.js +1826 -374
  550. package/test/unit/spec/meetings/utils.js +243 -14
  551. package/test/unit/spec/member/index.js +61 -7
  552. package/test/unit/spec/member/util.js +526 -26
  553. package/test/unit/spec/members/index.js +536 -55
  554. package/test/unit/spec/members/request.js +228 -40
  555. package/test/unit/spec/members/utils.js +217 -4
  556. package/test/unit/spec/metrics/index.js +13 -68
  557. package/test/unit/spec/multistream/mediaRequestManager.ts +1032 -110
  558. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  559. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  560. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  561. package/test/unit/spec/multistream/remoteMediaGroup.ts +350 -5
  562. package/test/unit/spec/multistream/remoteMediaManager.ts +937 -65
  563. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  564. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  565. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  566. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  567. package/test/unit/spec/reachability/index.ts +606 -26
  568. package/test/unit/spec/reachability/request.js +68 -0
  569. package/test/unit/spec/reachability/util.ts +40 -0
  570. package/test/unit/spec/reconnection-manager/index.js +222 -34
  571. package/test/unit/spec/recording-controller/index.js +306 -0
  572. package/test/unit/spec/recording-controller/util.js +229 -0
  573. package/test/unit/spec/roap/index.ts +238 -82
  574. package/test/unit/spec/roap/request.ts +255 -0
  575. package/test/unit/spec/roap/turnDiscovery.ts +707 -110
  576. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  577. package/test/unit/spec/stats-analyzer/index.js +1331 -62
  578. package/test/unit/spec/webinar/collection.ts +13 -0
  579. package/test/unit/spec/webinar/index.ts +60 -0
  580. package/test/utils/cmr.js +44 -42
  581. package/test/utils/constants.js +9 -0
  582. package/test/utils/integrationTestUtils.js +46 -0
  583. package/test/utils/testUtils.js +63 -99
  584. package/test/utils/webex-config.js +22 -18
  585. package/test/utils/webex-test-users.js +65 -50
  586. package/tsconfig.json +6 -0
  587. package/dist/media/internal-media-core-wrapper.js +0 -22
  588. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  589. package/dist/meeting/effectsState.js +0 -327
  590. package/dist/meeting/effectsState.js.map +0 -1
  591. package/dist/metrics/config.js +0 -301
  592. package/dist/metrics/config.js.map +0 -1
  593. package/dist/multistream/multistreamMedia.js +0 -116
  594. package/dist/multistream/multistreamMedia.js.map +0 -1
  595. package/dist/peer-connection-manager/util.js +0 -124
  596. package/dist/peer-connection-manager/util.js.map +0 -1
  597. package/src/common/logs/logger-proxy.js +0 -33
  598. package/src/index.js +0 -15
  599. package/src/locus-info/controlsUtils.js +0 -102
  600. package/src/media/index.js +0 -459
  601. package/src/media/internal-media-core-wrapper.ts +0 -9
  602. package/src/media/properties.js +0 -289
  603. package/src/mediaQualityMetrics/config.js +0 -382
  604. package/src/meeting/effectsState.js +0 -205
  605. package/src/meeting/index.js +0 -6284
  606. package/src/meeting/muteState.js +0 -318
  607. package/src/meeting/request.js +0 -684
  608. package/src/meeting/util.js +0 -506
  609. package/src/meeting-info/index.js +0 -131
  610. package/src/meeting-info/meeting-info-v2.js +0 -255
  611. package/src/meetings/collection.js +0 -40
  612. package/src/meetings/index.js +0 -1015
  613. package/src/member/util.js +0 -254
  614. package/src/members/request.js +0 -131
  615. package/src/members/util.js +0 -258
  616. package/src/metrics/config.js +0 -324
  617. package/src/metrics/index.js +0 -530
  618. package/src/multistream/multistreamMedia.ts +0 -92
  619. package/src/peer-connection-manager/util.ts +0 -117
  620. package/src/reachability/index.js +0 -464
  621. package/src/reconnection-manager/index.js +0 -519
  622. package/src/roap/index.js +0 -220
  623. package/src/roap/request.js +0 -127
  624. package/src/statsAnalyzer/global.js +0 -133
  625. package/src/statsAnalyzer/index.js +0 -1006
  626. package/src/statsAnalyzer/mqaUtil.js +0 -173
  627. package/test/unit/spec/meeting/effectsState.js +0 -291
  628. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  629. /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;