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

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 (365) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +116 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/index.js +226 -0
  8. package/dist/breakouts/index.js.map +1 -0
  9. package/dist/common/browser-detection.js +1 -20
  10. package/dist/common/browser-detection.js.map +1 -1
  11. package/dist/common/collection.js +5 -20
  12. package/dist/common/collection.js.map +1 -1
  13. package/dist/common/config.js +0 -7
  14. package/dist/common/config.js.map +1 -1
  15. package/dist/common/errors/captcha-error.js +10 -24
  16. package/dist/common/errors/captcha-error.js.map +1 -1
  17. package/dist/common/errors/intent-to-join.js +11 -24
  18. package/dist/common/errors/intent-to-join.js.map +1 -1
  19. package/dist/common/errors/join-meeting.js +12 -25
  20. package/dist/common/errors/join-meeting.js.map +1 -1
  21. package/dist/common/errors/media.js +10 -24
  22. package/dist/common/errors/media.js.map +1 -1
  23. package/dist/common/errors/parameter.js +5 -33
  24. package/dist/common/errors/parameter.js.map +1 -1
  25. package/dist/common/errors/password-error.js +10 -24
  26. package/dist/common/errors/password-error.js.map +1 -1
  27. package/dist/common/errors/permission.js +9 -23
  28. package/dist/common/errors/permission.js.map +1 -1
  29. package/dist/common/errors/reconnection-in-progress.js +0 -17
  30. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  31. package/dist/common/errors/reconnection.js +10 -24
  32. package/dist/common/errors/reconnection.js.map +1 -1
  33. package/dist/common/errors/stats.js +10 -24
  34. package/dist/common/errors/stats.js.map +1 -1
  35. package/dist/common/errors/webex-errors.js +6 -41
  36. package/dist/common/errors/webex-errors.js.map +1 -1
  37. package/dist/common/errors/webex-meetings-error.js +5 -25
  38. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  39. package/dist/common/events/events-scope.js +0 -22
  40. package/dist/common/events/events-scope.js.map +1 -1
  41. package/dist/common/events/events.js +0 -23
  42. package/dist/common/events/events.js.map +1 -1
  43. package/dist/common/events/trigger-proxy.js +0 -12
  44. package/dist/common/events/trigger-proxy.js.map +1 -1
  45. package/dist/common/events/util.js +0 -15
  46. package/dist/common/events/util.js.map +1 -1
  47. package/dist/common/logs/logger-config.js +0 -4
  48. package/dist/common/logs/logger-config.js.map +1 -1
  49. package/dist/common/logs/logger-proxy.js +1 -8
  50. package/dist/common/logs/logger-proxy.js.map +1 -1
  51. package/dist/common/logs/request.js +37 -60
  52. package/dist/common/logs/request.js.map +1 -1
  53. package/dist/common/queue.js +4 -14
  54. package/dist/common/queue.js.map +1 -1
  55. package/dist/config.js +6 -6
  56. package/dist/config.js.map +1 -1
  57. package/dist/constants.js +88 -46
  58. package/dist/constants.js.map +1 -1
  59. package/dist/index.js +4 -18
  60. package/dist/index.js.map +1 -1
  61. package/dist/locus-info/controlsUtils.js +12 -29
  62. package/dist/locus-info/controlsUtils.js.map +1 -1
  63. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  64. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  65. package/dist/locus-info/fullState.js +0 -15
  66. package/dist/locus-info/fullState.js.map +1 -1
  67. package/dist/locus-info/hostUtils.js +4 -12
  68. package/dist/locus-info/hostUtils.js.map +1 -1
  69. package/dist/locus-info/index.js +184 -190
  70. package/dist/locus-info/index.js.map +1 -1
  71. package/dist/locus-info/infoUtils.js +3 -37
  72. package/dist/locus-info/infoUtils.js.map +1 -1
  73. package/dist/locus-info/mediaSharesUtils.js +12 -38
  74. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  75. package/dist/locus-info/parser.js +92 -118
  76. package/dist/locus-info/parser.js.map +1 -1
  77. package/dist/locus-info/selfUtils.js +34 -91
  78. package/dist/locus-info/selfUtils.js.map +1 -1
  79. package/dist/media/index.js +67 -111
  80. package/dist/media/index.js.map +1 -1
  81. package/dist/media/properties.js +80 -114
  82. package/dist/media/properties.js.map +1 -1
  83. package/dist/media/util.js +2 -9
  84. package/dist/media/util.js.map +1 -1
  85. package/dist/mediaQualityMetrics/config.js +10 -12
  86. package/dist/mediaQualityMetrics/config.js.map +1 -1
  87. package/dist/meeting/effectsState.js +125 -190
  88. package/dist/meeting/effectsState.js.map +1 -1
  89. package/dist/meeting/in-meeting-actions.js +5 -14
  90. package/dist/meeting/in-meeting-actions.js.map +1 -1
  91. package/dist/meeting/index.js +1692 -1925
  92. package/dist/meeting/index.js.map +1 -1
  93. package/dist/meeting/muteState.js +36 -77
  94. package/dist/meeting/muteState.js.map +1 -1
  95. package/dist/meeting/request.js +224 -230
  96. package/dist/meeting/request.js.map +1 -1
  97. package/dist/meeting/request.type.js +7 -0
  98. package/dist/meeting/request.type.js.map +1 -0
  99. package/dist/meeting/state.js +21 -31
  100. package/dist/meeting/state.js.map +1 -1
  101. package/dist/meeting/util.js +43 -215
  102. package/dist/meeting/util.js.map +1 -1
  103. package/dist/meeting-info/collection.js +6 -25
  104. package/dist/meeting-info/collection.js.map +1 -1
  105. package/dist/meeting-info/index.js +14 -32
  106. package/dist/meeting-info/index.js.map +1 -1
  107. package/dist/meeting-info/meeting-info-v2.js +193 -268
  108. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  109. package/dist/meeting-info/request.js +3 -15
  110. package/dist/meeting-info/request.js.map +1 -1
  111. package/dist/meeting-info/util.js +98 -183
  112. package/dist/meeting-info/util.js.map +1 -1
  113. package/dist/meeting-info/utilv2.js +137 -228
  114. package/dist/meeting-info/utilv2.js.map +1 -1
  115. package/dist/meetings/collection.js +5 -20
  116. package/dist/meetings/collection.js.map +1 -1
  117. package/dist/meetings/index.js +490 -560
  118. package/dist/meetings/index.js.map +1 -1
  119. package/dist/meetings/request.js +24 -41
  120. package/dist/meetings/request.js.map +1 -1
  121. package/dist/meetings/util.js +99 -155
  122. package/dist/meetings/util.js.map +1 -1
  123. package/dist/member/index.js +78 -86
  124. package/dist/member/index.js.map +1 -1
  125. package/dist/member/util.js +31 -68
  126. package/dist/member/util.js.map +1 -1
  127. package/dist/members/collection.js +3 -12
  128. package/dist/members/collection.js.map +1 -1
  129. package/dist/members/index.js +93 -200
  130. package/dist/members/index.js.map +1 -1
  131. package/dist/members/request.js +16 -39
  132. package/dist/members/request.js.map +1 -1
  133. package/dist/members/util.js +9 -38
  134. package/dist/members/util.js.map +1 -1
  135. package/dist/metrics/config.js +0 -2
  136. package/dist/metrics/config.js.map +1 -1
  137. package/dist/metrics/constants.js +1 -2
  138. package/dist/metrics/constants.js.map +1 -1
  139. package/dist/metrics/index.js +55 -135
  140. package/dist/metrics/index.js.map +1 -1
  141. package/dist/multistream/mediaRequestManager.js +57 -32
  142. package/dist/multistream/mediaRequestManager.js.map +1 -1
  143. package/dist/multistream/multistreamMedia.js +15 -21
  144. package/dist/multistream/multistreamMedia.js.map +1 -1
  145. package/dist/multistream/receiveSlot.js +10 -50
  146. package/dist/multistream/receiveSlot.js.map +1 -1
  147. package/dist/multistream/receiveSlotManager.js +45 -82
  148. package/dist/multistream/receiveSlotManager.js.map +1 -1
  149. package/dist/multistream/remoteMedia.js +18 -58
  150. package/dist/multistream/remoteMedia.js.map +1 -1
  151. package/dist/multistream/remoteMediaGroup.js +6 -40
  152. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  153. package/dist/multistream/remoteMediaManager.js +362 -416
  154. package/dist/multistream/remoteMediaManager.js.map +1 -1
  155. package/dist/networkQualityMonitor/index.js +36 -57
  156. package/dist/networkQualityMonitor/index.js.map +1 -1
  157. package/dist/personal-meeting-room/index.js +21 -45
  158. package/dist/personal-meeting-room/index.js.map +1 -1
  159. package/dist/personal-meeting-room/request.js +1 -31
  160. package/dist/personal-meeting-room/request.js.map +1 -1
  161. package/dist/personal-meeting-room/util.js +0 -13
  162. package/dist/personal-meeting-room/util.js.map +1 -1
  163. package/dist/reachability/index.js +138 -182
  164. package/dist/reachability/index.js.map +1 -1
  165. package/dist/reachability/request.js +3 -18
  166. package/dist/reachability/request.js.map +1 -1
  167. package/dist/reactions/constants.js +13 -0
  168. package/dist/reactions/constants.js.map +1 -0
  169. package/dist/reactions/reactions.js +109 -0
  170. package/dist/reactions/reactions.js.map +1 -0
  171. package/dist/reactions/reactions.type.js +36 -0
  172. package/dist/reactions/reactions.type.js.map +1 -0
  173. package/dist/reconnection-manager/index.js +322 -455
  174. package/dist/reconnection-manager/index.js.map +1 -1
  175. package/dist/recording-controller/enums.js +17 -0
  176. package/dist/recording-controller/enums.js.map +1 -0
  177. package/dist/recording-controller/index.js +343 -0
  178. package/dist/recording-controller/index.js.map +1 -0
  179. package/dist/recording-controller/util.js +63 -0
  180. package/dist/recording-controller/util.js.map +1 -0
  181. package/dist/roap/index.js +39 -64
  182. package/dist/roap/index.js.map +1 -1
  183. package/dist/roap/request.js +94 -113
  184. package/dist/roap/request.js.map +1 -1
  185. package/dist/roap/turnDiscovery.js +85 -94
  186. package/dist/roap/turnDiscovery.js.map +1 -1
  187. package/dist/statsAnalyzer/global.js +0 -2
  188. package/dist/statsAnalyzer/global.js.map +1 -1
  189. package/dist/statsAnalyzer/index.js +85 -175
  190. package/dist/statsAnalyzer/index.js.map +1 -1
  191. package/dist/statsAnalyzer/mqaUtil.js +72 -53
  192. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  193. package/dist/transcription/index.js +22 -47
  194. package/dist/transcription/index.js.map +1 -1
  195. package/internal-README.md +7 -6
  196. package/package.json +25 -20
  197. package/src/breakouts/README.md +190 -0
  198. package/src/breakouts/breakout.ts +110 -0
  199. package/src/breakouts/collection.ts +19 -0
  200. package/src/breakouts/index.ts +225 -0
  201. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  202. package/src/common/collection.ts +9 -7
  203. package/src/common/{config.js → config.ts} +1 -1
  204. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  205. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  206. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  207. package/src/common/errors/{media.js → media.ts} +11 -7
  208. package/src/common/errors/parameter.ts +11 -7
  209. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  210. package/src/common/errors/{permission.js → permission.ts} +10 -6
  211. package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
  212. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  213. package/src/common/errors/{stats.js → stats.ts} +11 -7
  214. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  215. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  216. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  217. package/src/common/events/{events.js → events.ts} +5 -1
  218. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  219. package/src/common/events/{util.js → util.ts} +2 -3
  220. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  221. package/src/common/logs/logger-proxy.ts +44 -0
  222. package/src/common/logs/{request.js → request.ts} +22 -9
  223. package/src/common/queue.ts +1 -2
  224. package/src/{config.js → config.ts} +17 -12
  225. package/src/constants.ts +40 -1
  226. package/src/index.js +2 -1
  227. package/src/locus-info/controlsUtils.ts +114 -0
  228. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  229. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  230. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  231. package/src/locus-info/{index.js → index.ts} +148 -64
  232. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  233. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  234. package/src/locus-info/{parser.js → parser.ts} +67 -79
  235. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  236. package/src/media/{index.js → index.ts} +181 -131
  237. package/src/media/{properties.js → properties.ts} +47 -28
  238. package/src/media/{util.js → util.ts} +2 -2
  239. package/src/mediaQualityMetrics/{config.js → config.ts} +46 -46
  240. package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
  241. package/src/meeting/in-meeting-actions.ts +15 -3
  242. package/src/meeting/{index.js → index.ts} +2263 -1427
  243. package/src/meeting/{muteState.js → muteState.ts} +78 -42
  244. package/src/meeting/{request.js → request.ts} +292 -142
  245. package/src/meeting/request.type.ts +13 -0
  246. package/src/meeting/{state.js → state.ts} +50 -35
  247. package/src/meeting/{util.js → util.ts} +112 -115
  248. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  249. package/src/meeting-info/{index.js → index.ts} +42 -36
  250. package/src/meeting-info/meeting-info-v2.ts +273 -0
  251. package/src/meeting-info/{request.js → request.ts} +14 -4
  252. package/src/meeting-info/{util.js → util.ts} +60 -51
  253. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  254. package/src/meetings/{collection.js → collection.ts} +6 -3
  255. package/src/meetings/index.ts +1159 -0
  256. package/src/meetings/{request.js → request.ts} +32 -25
  257. package/src/meetings/{util.js → util.ts} +34 -32
  258. package/src/member/{index.js → index.ts} +102 -56
  259. package/src/member/{util.js → util.ts} +52 -25
  260. package/src/members/{collection.js → collection.ts} +2 -2
  261. package/src/members/{index.js → index.ts} +219 -142
  262. package/src/members/{request.js → request.ts} +60 -16
  263. package/src/members/{util.js → util.ts} +50 -48
  264. package/src/metrics/{config.js → config.ts} +254 -83
  265. package/src/metrics/{constants.js → constants.ts} +0 -2
  266. package/src/metrics/{index.js → index.ts} +106 -74
  267. package/src/multistream/mediaRequestManager.ts +81 -15
  268. package/src/multistream/multistreamMedia.ts +5 -0
  269. package/src/multistream/receiveSlot.ts +18 -12
  270. package/src/multistream/receiveSlotManager.ts +23 -21
  271. package/src/multistream/remoteMedia.ts +15 -5
  272. package/src/multistream/remoteMediaGroup.ts +4 -3
  273. package/src/multistream/remoteMediaManager.ts +153 -37
  274. package/src/networkQualityMonitor/{index.js → index.ts} +37 -25
  275. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  276. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  277. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  278. package/src/reachability/{index.js → index.ts} +99 -83
  279. package/src/reachability/request.ts +39 -33
  280. package/src/reactions/constants.ts +4 -0
  281. package/src/reactions/reactions.ts +104 -0
  282. package/src/reactions/reactions.type.ts +62 -0
  283. package/src/reconnection-manager/{index.js → index.ts} +195 -102
  284. package/src/recording-controller/enums.ts +8 -0
  285. package/src/recording-controller/index.ts +315 -0
  286. package/src/recording-controller/util.ts +58 -0
  287. package/src/roap/{index.js → index.ts} +73 -56
  288. package/src/roap/request.ts +157 -0
  289. package/src/roap/turnDiscovery.ts +77 -37
  290. package/src/statsAnalyzer/{global.js → global.ts} +30 -33
  291. package/src/statsAnalyzer/{index.js → index.ts} +468 -192
  292. package/src/statsAnalyzer/mqaUtil.ts +290 -0
  293. package/src/transcription/{index.js → index.ts} +46 -39
  294. package/test/integration/spec/journey.js +664 -463
  295. package/test/integration/spec/space-meeting.js +320 -206
  296. package/test/integration/spec/transcription.js +7 -8
  297. package/test/unit/spec/breakouts/breakout.ts +119 -0
  298. package/test/unit/spec/breakouts/collection.ts +15 -0
  299. package/test/unit/spec/breakouts/index.ts +293 -0
  300. package/test/unit/spec/common/browser-detection.js +9 -28
  301. package/test/unit/spec/fixture/locus.js +92 -90
  302. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  303. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  304. package/test/unit/spec/locus-info/index.js +104 -2
  305. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  306. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  307. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  308. package/test/unit/spec/locus-info/parser.js +3 -9
  309. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  310. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  311. package/test/unit/spec/media/index.ts +31 -47
  312. package/test/unit/spec/media/properties.ts +9 -9
  313. package/test/unit/spec/meeting/effectsState.js +39 -45
  314. package/test/unit/spec/meeting/in-meeting-actions.ts +5 -2
  315. package/test/unit/spec/meeting/index.js +2017 -742
  316. package/test/unit/spec/meeting/muteState.js +42 -33
  317. package/test/unit/spec/meeting/request.js +115 -44
  318. package/test/unit/spec/meeting/utils.js +104 -171
  319. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  320. package/test/unit/spec/meeting-info/request.js +7 -9
  321. package/test/unit/spec/meeting-info/util.js +11 -12
  322. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  323. package/test/unit/spec/meetings/collection.js +1 -1
  324. package/test/unit/spec/meetings/index.js +439 -257
  325. package/test/unit/spec/meetings/utils.js +14 -12
  326. package/test/unit/spec/member/index.js +0 -1
  327. package/test/unit/spec/member/util.js +31 -7
  328. package/test/unit/spec/members/index.js +104 -54
  329. package/test/unit/spec/members/request.js +29 -20
  330. package/test/unit/spec/members/utils.js +8 -5
  331. package/test/unit/spec/metrics/index.js +16 -21
  332. package/test/unit/spec/multistream/mediaRequestManager.ts +316 -50
  333. package/test/unit/spec/multistream/receiveSlot.ts +6 -6
  334. package/test/unit/spec/multistream/receiveSlotManager.ts +13 -13
  335. package/test/unit/spec/multistream/remoteMedia.ts +10 -2
  336. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  337. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  338. package/test/unit/spec/networkQualityMonitor/index.js +21 -15
  339. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  340. package/test/unit/spec/reachability/index.ts +58 -26
  341. package/test/unit/spec/reconnection-manager/index.js +102 -9
  342. package/test/unit/spec/recording-controller/index.js +231 -0
  343. package/test/unit/spec/recording-controller/util.js +102 -0
  344. package/test/unit/spec/roap/index.ts +2 -1
  345. package/test/unit/spec/roap/request.ts +114 -0
  346. package/test/unit/spec/roap/turnDiscovery.ts +64 -45
  347. package/test/unit/spec/stats-analyzer/index.js +27 -22
  348. package/test/utils/cmr.js +44 -42
  349. package/test/utils/testUtils.js +83 -74
  350. package/test/utils/webex-config.js +18 -18
  351. package/test/utils/webex-test-users.js +54 -50
  352. package/tsconfig.json +6 -0
  353. package/dist/media/internal-media-core-wrapper.js +0 -22
  354. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  355. package/dist/peer-connection-manager/util.js +0 -124
  356. package/dist/peer-connection-manager/util.js.map +0 -1
  357. package/src/common/logs/logger-proxy.js +0 -33
  358. package/src/locus-info/controlsUtils.js +0 -102
  359. package/src/media/internal-media-core-wrapper.ts +0 -9
  360. package/src/meeting-info/meeting-info-v2.js +0 -255
  361. package/src/meetings/index.js +0 -1015
  362. package/src/peer-connection-manager/util.ts +0 -117
  363. package/src/roap/request.js +0 -127
  364. package/src/statsAnalyzer/mqaUtil.js +0 -173
  365. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
@@ -1,3 +1,4 @@
1
+ // @ts-ignore
1
2
  import {StatelessWebexPlugin} from '@webex/webex-core';
2
3
 
3
4
  import {MEETINGS} from '../constants';
@@ -5,7 +6,6 @@ import ParameterError from '../common/errors/parameter';
5
6
 
6
7
  import MembersUtil from './util';
7
8
 
8
-
9
9
  /**
10
10
  * @class MembersRequest
11
11
  */
@@ -19,12 +19,24 @@ export default class MembersRequest extends StatelessWebexPlugin {
19
19
  * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
20
20
  * @memberof MembersRequest
21
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.');
22
+ addMembers(options: any) {
23
+ if (
24
+ !(
25
+ !options ||
26
+ !options.invitee ||
27
+ !options.invitee.emailAddress ||
28
+ !options.invitee.email ||
29
+ !options.invitee.phoneNumber ||
30
+ !options.locusUrl
31
+ )
32
+ ) {
33
+ throw new ParameterError(
34
+ 'invitee must be passed and the associated locus url for this meeting object must be defined.'
35
+ );
25
36
  }
26
37
  const requestParams = MembersUtil.getAddMemberRequestParams(options);
27
38
 
39
+ // @ts-ignore
28
40
  return this.request(requestParams);
29
41
  }
30
42
 
@@ -35,62 +47,80 @@ export default class MembersRequest extends StatelessWebexPlugin {
35
47
  * @throws {Error} if the options are not valid and complete, must have memberIds AND locusUrl
36
48
  * @memberof MembersRequest
37
49
  */
38
- admitMember(options) {
50
+ admitMember(options: any) {
39
51
  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.');
52
+ throw new ParameterError(
53
+ 'memberIds must be an array passed and the associated locus url for this meeting object must be defined.'
54
+ );
41
55
  }
42
56
  const requestParams = MembersUtil.getAdmitMemberRequestParams(options);
43
57
 
58
+ // @ts-ignore
44
59
  return this.request(requestParams);
45
60
  }
46
61
 
47
62
  removeMember(options) {
48
63
  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.');
64
+ throw new ParameterError(
65
+ 'memberId must be defined, and the associated locus url for this meeting object must be defined.'
66
+ );
50
67
  }
51
68
 
52
69
  const requestParams = MembersUtil.getRemoveMemberRequestParams(options);
53
70
 
71
+ // @ts-ignore
54
72
  return this.request(requestParams);
55
73
  }
56
74
 
57
75
  muteMember(options) {
58
76
  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.');
77
+ throw new ParameterError(
78
+ 'memberId must be defined, and the associated locus url for this meeting object must be defined.'
79
+ );
60
80
  }
61
81
 
62
82
  const requestParams = MembersUtil.getMuteMemberRequestParams(options);
63
83
 
84
+ // @ts-ignore
64
85
  return this.request(requestParams);
65
86
  }
66
87
 
67
88
  raiseOrLowerHandMember(options) {
68
89
  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.');
90
+ throw new ParameterError(
91
+ 'memberId must be defined, and the associated locus url for this meeting object must be defined.'
92
+ );
70
93
  }
71
94
 
72
95
  const requestParams = MembersUtil.getRaiseHandMemberRequestParams(options);
73
96
 
97
+ // @ts-ignore
74
98
  return this.request(requestParams);
75
99
  }
76
100
 
77
101
  lowerAllHandsMember(options) {
78
102
  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.');
103
+ throw new ParameterError(
104
+ 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'
105
+ );
80
106
  }
81
107
 
82
108
  const requestParams = MembersUtil.getLowerAllHandsMemberRequestParams(options);
83
109
 
110
+ // @ts-ignore
84
111
  return this.request(requestParams);
85
112
  }
86
113
 
87
114
  transferHostToMember(options) {
88
115
  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.');
116
+ throw new ParameterError(
117
+ 'memberId must be defined, the associated locus url, and the moderator for this meeting object must be defined.'
118
+ );
90
119
  }
91
120
 
92
121
  const requestParams = MembersUtil.getTransferHostToMemberRequestParams(options);
93
122
 
123
+ // @ts-ignore
94
124
  return this.request(requestParams);
95
125
  }
96
126
 
@@ -103,13 +133,24 @@ export default class MembersRequest extends StatelessWebexPlugin {
103
133
  * @param {String} options.memberId ID of PSTN user
104
134
  * @returns {Promise}
105
135
  */
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.');
136
+ sendDialPadKey(options: {locusUrl: string; url: string; tones: string; memberId: string}) {
137
+ // @ts-ignore
138
+ if (
139
+ !options ||
140
+ !options.locusUrl ||
141
+ !options.memberId ||
142
+ !options.url ||
143
+ // @ts-ignore
144
+ (!options.tones && options.tones !== 0)
145
+ ) {
146
+ throw new ParameterError(
147
+ 'memberId must be defined, the associated locus url, the device url and DTMF tones for this meeting object must be defined.'
148
+ );
109
149
  }
110
150
 
111
151
  const requestParams = MembersUtil.generateSendDTMFRequestParams(options);
112
152
 
153
+ // @ts-ignore
113
154
  return this.request(requestParams);
114
155
  }
115
156
 
@@ -119,13 +160,16 @@ export default class MembersRequest extends StatelessWebexPlugin {
119
160
  * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
120
161
  * @memberof MembersRequest
121
162
  */
122
- cancelPhoneInvite(options) {
163
+ cancelPhoneInvite(options: any) {
123
164
  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.');
165
+ throw new ParameterError(
166
+ 'invitee must be passed and the associated locus url for this meeting object must be defined.'
167
+ );
125
168
  }
126
169
 
127
170
  const requestParams = MembersUtil.generateCancelInviteRequestParams(options);
128
171
 
172
+ // @ts-ignore
129
173
  return this.request(requestParams);
130
174
  }
131
175
  }
@@ -9,10 +9,10 @@ import {
9
9
  VALID_EMAIL_ADDRESS,
10
10
  DIALER_REGEX,
11
11
  SEND_DTMF_ENDPOINT,
12
- _REMOVE_
12
+ _REMOVE_,
13
13
  } from '../constants';
14
14
 
15
- const MembersUtil = {};
15
+ const MembersUtil: any = {};
16
16
 
17
17
  /**
18
18
  * @param {Object} invitee with emailAddress, email or phoneNumber
@@ -20,10 +20,14 @@ const MembersUtil = {};
20
20
  * @param {Boolean} alertIfActive
21
21
  * @returns {Object} the format object
22
22
  */
23
- MembersUtil.generateAddMemberOptions = (invitee, locusUrl, alertIfActive) => ({
23
+ MembersUtil.generateAddMemberOptions = (
24
+ invitee: object,
25
+ locusUrl: string,
26
+ alertIfActive: boolean
27
+ ) => ({
24
28
  invitee,
25
29
  locusUrl,
26
- alertIfActive
30
+ alertIfActive,
27
31
  });
28
32
 
29
33
  /**
@@ -31,44 +35,44 @@ MembersUtil.generateAddMemberOptions = (invitee, locusUrl, alertIfActive) => ({
31
35
  * @param {String} locusUrl
32
36
  * @returns {Object} the format object
33
37
  */
34
- MembersUtil.generateAdmitMemberOptions = (memberIds, locusUrl) => ({
38
+ MembersUtil.generateAdmitMemberOptions = (memberIds: Array<any>, locusUrl: string) => ({
35
39
  locusUrl,
36
- memberIds
40
+ memberIds,
37
41
  });
38
42
 
39
43
  /**
40
44
  * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}
41
45
  * @returns {Object} with {invitees: [{address}], alertIfActive}
42
46
  */
43
- MembersUtil.getAddMemberBody = (options) => ({
47
+ MembersUtil.getAddMemberBody = (options: any) => ({
44
48
  invitees: [
45
49
  {
46
- address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber
47
- }
50
+ address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,
51
+ },
48
52
  ],
49
- alertIfActive: options.alertIfActive
53
+ alertIfActive: options.alertIfActive,
50
54
  });
51
55
 
52
56
  /**
53
57
  * @param {Object} options with {memberIds}
54
58
  * @returns {Object} admit with {memberIds}
55
59
  */
56
- MembersUtil.getAdmitMemberRequestBody = (options) => ({
57
- admit: {participantIds: options.memberIds}
60
+ MembersUtil.getAdmitMemberRequestBody = (options: any) => ({
61
+ admit: {participantIds: options.memberIds},
58
62
  });
59
63
 
60
64
  /**
61
65
  * @param {Object} format with {memberIds, locusUrl}
62
66
  * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request
63
67
  */
64
- MembersUtil.getAdmitMemberRequestParams = (format) => {
68
+ MembersUtil.getAdmitMemberRequestParams = (format: any) => {
65
69
  const body = MembersUtil.getAdmitMemberRequestBody(format);
66
70
  const uri = `${format.locusUrl}/${CONTROLS}`;
67
71
 
68
72
  return {
69
73
  method: HTTP_VERBS.PUT,
70
74
  uri,
71
- body
75
+ body,
72
76
  };
73
77
  };
74
78
 
@@ -76,12 +80,12 @@ MembersUtil.getAdmitMemberRequestParams = (format) => {
76
80
  * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}
77
81
  * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request
78
82
  */
79
- MembersUtil.getAddMemberRequestParams = (format) => {
83
+ MembersUtil.getAddMemberRequestParams = (format: any) => {
80
84
  const body = MembersUtil.getAddMemberBody(format);
81
85
  const requestParams = {
82
86
  method: HTTP_VERBS.PUT,
83
87
  uri: format.locusUrl,
84
- body
88
+ body,
85
89
  };
86
90
 
87
91
  return requestParams;
@@ -101,104 +105,104 @@ MembersUtil.isInvalidInvitee = (invitee) => {
101
105
 
102
106
  MembersUtil.getRemoveMemberRequestParams = (options) => {
103
107
  const body = {
104
- reason: options.reason
108
+ reason: options.reason,
105
109
  };
106
110
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;
107
111
 
108
112
  return {
109
113
  method: HTTP_VERBS.PUT,
110
114
  uri,
111
- body
115
+ body,
112
116
  };
113
117
  };
114
118
 
115
119
  MembersUtil.generateTransferHostMemberOptions = (transfer, moderator, locusUrl) => ({
116
120
  moderator,
117
121
  locusUrl,
118
- memberId: transfer
122
+ memberId: transfer,
119
123
  });
120
124
 
121
125
  MembersUtil.generateRemoveMemberOptions = (removal, locusUrl) => ({
122
126
  reason: _FORCED_,
123
127
  memberId: removal,
124
- locusUrl
128
+ locusUrl,
125
129
  });
126
130
 
127
131
  MembersUtil.generateMuteMemberOptions = (memberId, status, locusUrl) => ({
128
132
  memberId,
129
133
  muted: status,
130
- locusUrl
134
+ locusUrl,
131
135
  });
132
136
 
133
137
  MembersUtil.generateRaiseHandMemberOptions = (memberId, status, locusUrl) => ({
134
138
  memberId,
135
139
  raised: status,
136
- locusUrl
140
+ locusUrl,
137
141
  });
138
142
 
139
143
  MembersUtil.generateLowerAllHandsMemberOptions = (requestingParticipantId, locusUrl) => ({
140
144
  requestingParticipantId,
141
- locusUrl
145
+ locusUrl,
142
146
  });
143
147
 
144
148
  MembersUtil.getMuteMemberRequestParams = (options) => {
145
149
  const body = {
146
150
  audio: {
147
- muted: options.muted
148
- }
151
+ muted: options.muted,
152
+ },
149
153
  };
150
154
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
151
155
 
152
156
  return {
153
157
  method: HTTP_VERBS.PATCH,
154
158
  uri,
155
- body
159
+ body,
156
160
  };
157
161
  };
158
162
 
159
163
  MembersUtil.getRaiseHandMemberRequestParams = (options) => {
160
164
  const body = {
161
165
  hand: {
162
- raised: options.raised
163
- }
166
+ raised: options.raised,
167
+ },
164
168
  };
165
169
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
166
170
 
167
171
  return {
168
172
  method: HTTP_VERBS.PATCH,
169
173
  uri,
170
- body
174
+ body,
171
175
  };
172
176
  };
173
177
 
174
178
  MembersUtil.getLowerAllHandsMemberRequestParams = (options) => {
175
179
  const body = {
176
180
  hand: {
177
- raised: false
181
+ raised: false,
178
182
  },
179
- requestingParticipantId: options.requestingParticipantId
183
+ requestingParticipantId: options.requestingParticipantId,
180
184
  };
181
185
  const uri = `${options.locusUrl}/${CONTROLS}`;
182
186
 
183
187
  return {
184
188
  method: HTTP_VERBS.PATCH,
185
189
  uri,
186
- body
190
+ body,
187
191
  };
188
192
  };
189
193
 
190
194
  MembersUtil.getTransferHostToMemberRequestParams = (options) => {
191
195
  const body = {
192
196
  role: {
193
- moderator: options.moderator
194
- }
197
+ moderator: options.moderator,
198
+ },
195
199
  };
196
200
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
197
201
 
198
202
  return {
199
203
  method: HTTP_VERBS.PATCH,
200
204
  uri,
201
- body
205
+ body,
202
206
  };
203
207
  };
204
208
 
@@ -206,35 +210,33 @@ MembersUtil.genderateSendDTMFOptions = (url, tones, memberId, locusUrl) => ({
206
210
  url,
207
211
  tones,
208
212
  memberId,
209
- locusUrl
213
+ locusUrl,
210
214
  });
211
215
 
212
- MembersUtil.generateSendDTMFRequestParams = ({
213
- url, tones, memberId, locusUrl
214
- }) => {
216
+ MembersUtil.generateSendDTMFRequestParams = ({url, tones, memberId, locusUrl}) => {
215
217
  const body = {
216
218
  device: {
217
- url
219
+ url,
218
220
  },
219
221
  memberId,
220
222
  dtmf: {
221
223
  correlationId: uuid.v4(),
222
224
  tones,
223
- direction: 'transmit'
224
- }
225
+ direction: 'transmit',
226
+ },
225
227
  };
226
228
  const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;
227
229
 
228
230
  return {
229
231
  method: HTTP_VERBS.POST,
230
232
  uri,
231
- body
233
+ body,
232
234
  };
233
235
  };
234
236
 
235
237
  MembersUtil.cancelPhoneInviteOptions = (invitee, locusUrl) => ({
236
238
  invitee,
237
- locusUrl
239
+ locusUrl,
238
240
  });
239
241
 
240
242
  MembersUtil.generateCancelInviteRequestParams = (options) => {
@@ -242,14 +244,14 @@ MembersUtil.generateCancelInviteRequestParams = (options) => {
242
244
  actionType: _REMOVE_,
243
245
  invitees: [
244
246
  {
245
- address: options.invitee.phoneNumber
246
- }
247
- ]
247
+ address: options.invitee.phoneNumber,
248
+ },
249
+ ],
248
250
  };
249
251
  const requestParams = {
250
252
  method: HTTP_VERBS.PUT,
251
253
  uri: options.locusUrl,
252
- body
254
+ body,
253
255
  };
254
256
 
255
257
  return requestParams;