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

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