@webex/plugin-meetings 3.0.0-beta.11 → 3.0.0-beta.111

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 (512) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.js +48 -0
  6. package/dist/annotation/constants.js.map +1 -0
  7. package/dist/annotation/index.js +357 -0
  8. package/dist/annotation/index.js.map +1 -0
  9. package/dist/breakouts/breakout.js +176 -0
  10. package/dist/breakouts/breakout.js.map +1 -0
  11. package/dist/breakouts/collection.js +23 -0
  12. package/dist/breakouts/collection.js.map +1 -0
  13. package/dist/breakouts/edit-lock-error.js +52 -0
  14. package/dist/breakouts/edit-lock-error.js.map +1 -0
  15. package/dist/breakouts/events.js +43 -0
  16. package/dist/breakouts/events.js.map +1 -0
  17. package/dist/breakouts/index.js +944 -0
  18. package/dist/breakouts/index.js.map +1 -0
  19. package/dist/breakouts/request.js +78 -0
  20. package/dist/breakouts/request.js.map +1 -0
  21. package/dist/breakouts/utils.js +67 -0
  22. package/dist/breakouts/utils.js.map +1 -0
  23. package/dist/common/browser-detection.js +1 -20
  24. package/dist/common/browser-detection.js.map +1 -1
  25. package/dist/common/collection.js +5 -20
  26. package/dist/common/collection.js.map +1 -1
  27. package/dist/common/config.js +0 -7
  28. package/dist/common/config.js.map +1 -1
  29. package/dist/common/errors/captcha-error.js +5 -26
  30. package/dist/common/errors/captcha-error.js.map +1 -1
  31. package/dist/common/errors/intent-to-join.js +5 -26
  32. package/dist/common/errors/intent-to-join.js.map +1 -1
  33. package/dist/common/errors/join-meeting.js +6 -27
  34. package/dist/common/errors/join-meeting.js.map +1 -1
  35. package/dist/common/errors/media.js +5 -26
  36. package/dist/common/errors/media.js.map +1 -1
  37. package/dist/common/errors/parameter.js +5 -33
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.js +5 -26
  40. package/dist/common/errors/password-error.js.map +1 -1
  41. package/dist/common/errors/permission.js +4 -25
  42. package/dist/common/errors/permission.js.map +1 -1
  43. package/dist/common/errors/reconnection-in-progress.js +0 -17
  44. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  45. package/dist/common/errors/reconnection.js +5 -26
  46. package/dist/common/errors/reconnection.js.map +1 -1
  47. package/dist/common/errors/stats.js +5 -26
  48. package/dist/common/errors/stats.js.map +1 -1
  49. package/dist/common/errors/webex-errors.js +6 -41
  50. package/dist/common/errors/webex-errors.js.map +1 -1
  51. package/dist/common/errors/webex-meetings-error.js +1 -24
  52. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  53. package/dist/common/events/events-scope.js +0 -22
  54. package/dist/common/events/events-scope.js.map +1 -1
  55. package/dist/common/events/events.js +0 -23
  56. package/dist/common/events/events.js.map +1 -1
  57. package/dist/common/events/trigger-proxy.js +0 -12
  58. package/dist/common/events/trigger-proxy.js.map +1 -1
  59. package/dist/common/events/util.js +0 -15
  60. package/dist/common/events/util.js.map +1 -1
  61. package/dist/common/logs/logger-config.js +0 -4
  62. package/dist/common/logs/logger-config.js.map +1 -1
  63. package/dist/common/logs/logger-proxy.js +1 -8
  64. package/dist/common/logs/logger-proxy.js.map +1 -1
  65. package/dist/common/logs/request.js +35 -61
  66. package/dist/common/logs/request.js.map +1 -1
  67. package/dist/common/queue.js +4 -14
  68. package/dist/common/queue.js.map +1 -1
  69. package/dist/config.js +6 -6
  70. package/dist/config.js.map +1 -1
  71. package/dist/constants.js +193 -53
  72. package/dist/constants.js.map +1 -1
  73. package/dist/controls-options-manager/constants.js +14 -0
  74. package/dist/controls-options-manager/constants.js.map +1 -0
  75. package/dist/controls-options-manager/enums.js +27 -0
  76. package/dist/controls-options-manager/enums.js.map +1 -0
  77. package/dist/controls-options-manager/index.js +297 -0
  78. package/dist/controls-options-manager/index.js.map +1 -0
  79. package/dist/controls-options-manager/types.js +7 -0
  80. package/dist/controls-options-manager/types.js.map +1 -0
  81. package/dist/controls-options-manager/util.js +286 -0
  82. package/dist/controls-options-manager/util.js.map +1 -0
  83. package/dist/index.js +72 -17
  84. package/dist/index.js.map +1 -1
  85. package/dist/locus-info/controlsUtils.js +94 -29
  86. package/dist/locus-info/controlsUtils.js.map +1 -1
  87. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  88. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  89. package/dist/locus-info/fullState.js +0 -15
  90. package/dist/locus-info/fullState.js.map +1 -1
  91. package/dist/locus-info/hostUtils.js +4 -12
  92. package/dist/locus-info/hostUtils.js.map +1 -1
  93. package/dist/locus-info/index.js +383 -212
  94. package/dist/locus-info/index.js.map +1 -1
  95. package/dist/locus-info/infoUtils.js +0 -38
  96. package/dist/locus-info/infoUtils.js.map +1 -1
  97. package/dist/locus-info/mediaSharesUtils.js +12 -38
  98. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  99. package/dist/locus-info/parser.js +88 -123
  100. package/dist/locus-info/parser.js.map +1 -1
  101. package/dist/locus-info/selfUtils.js +99 -91
  102. package/dist/locus-info/selfUtils.js.map +1 -1
  103. package/dist/media/index.js +62 -147
  104. package/dist/media/index.js.map +1 -1
  105. package/dist/media/properties.js +71 -117
  106. package/dist/media/properties.js.map +1 -1
  107. package/dist/media/util.js +2 -9
  108. package/dist/media/util.js.map +1 -1
  109. package/dist/mediaQualityMetrics/config.js +505 -495
  110. package/dist/mediaQualityMetrics/config.js.map +1 -1
  111. package/dist/meeting/in-meeting-actions.js +67 -14
  112. package/dist/meeting/in-meeting-actions.js.map +1 -1
  113. package/dist/meeting/index.js +2477 -2417
  114. package/dist/meeting/index.js.map +1 -1
  115. package/dist/meeting/muteState.js +252 -113
  116. package/dist/meeting/muteState.js.map +1 -1
  117. package/dist/meeting/request.js +296 -289
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/request.type.js +7 -0
  120. package/dist/meeting/request.type.js.map +1 -0
  121. package/dist/meeting/state.js +21 -31
  122. package/dist/meeting/state.js.map +1 -1
  123. package/dist/meeting/util.js +58 -217
  124. package/dist/meeting/util.js.map +1 -1
  125. package/dist/meeting-info/collection.js +3 -25
  126. package/dist/meeting-info/collection.js.map +1 -1
  127. package/dist/meeting-info/index.js +10 -33
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.js +278 -281
  130. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  131. package/dist/meeting-info/request.js +1 -16
  132. package/dist/meeting-info/request.js.map +1 -1
  133. package/dist/meeting-info/util.js +98 -183
  134. package/dist/meeting-info/util.js.map +1 -1
  135. package/dist/meeting-info/utilv2.js +155 -232
  136. package/dist/meeting-info/utilv2.js.map +1 -1
  137. package/dist/meetings/collection.js +24 -20
  138. package/dist/meetings/collection.js.map +1 -1
  139. package/dist/meetings/index.js +675 -593
  140. package/dist/meetings/index.js.map +1 -1
  141. package/dist/meetings/request.js +23 -42
  142. package/dist/meetings/request.js.map +1 -1
  143. package/dist/meetings/util.js +177 -155
  144. package/dist/meetings/util.js.map +1 -1
  145. package/dist/member/index.js +89 -88
  146. package/dist/member/index.js.map +1 -1
  147. package/dist/member/types.js +15 -0
  148. package/dist/member/types.js.map +1 -0
  149. package/dist/member/util.js +101 -69
  150. package/dist/member/util.js.map +1 -1
  151. package/dist/members/collection.js +12 -12
  152. package/dist/members/collection.js.map +1 -1
  153. package/dist/members/index.js +162 -204
  154. package/dist/members/index.js.map +1 -1
  155. package/dist/members/request.js +58 -53
  156. package/dist/members/request.js.map +1 -1
  157. package/dist/members/types.js +15 -0
  158. package/dist/members/types.js.map +1 -0
  159. package/dist/members/util.js +107 -44
  160. package/dist/members/util.js.map +1 -1
  161. package/dist/metrics/config.js +50 -16
  162. package/dist/metrics/config.js.map +1 -1
  163. package/dist/metrics/constants.js +3 -7
  164. package/dist/metrics/constants.js.map +1 -1
  165. package/dist/metrics/index.js +93 -162
  166. package/dist/metrics/index.js.map +1 -1
  167. package/dist/multistream/mediaRequestManager.js +167 -50
  168. package/dist/multistream/mediaRequestManager.js.map +1 -1
  169. package/dist/multistream/receiveSlot.js +58 -65
  170. package/dist/multistream/receiveSlot.js.map +1 -1
  171. package/dist/multistream/receiveSlotManager.js +74 -93
  172. package/dist/multistream/receiveSlotManager.js.map +1 -1
  173. package/dist/multistream/remoteMedia.js +55 -74
  174. package/dist/multistream/remoteMedia.js.map +1 -1
  175. package/dist/multistream/remoteMediaGroup.js +6 -40
  176. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  177. package/dist/multistream/remoteMediaManager.js +466 -442
  178. package/dist/multistream/remoteMediaManager.js.map +1 -1
  179. package/dist/networkQualityMonitor/index.js +32 -59
  180. package/dist/networkQualityMonitor/index.js.map +1 -1
  181. package/dist/personal-meeting-room/index.js +10 -45
  182. package/dist/personal-meeting-room/index.js.map +1 -1
  183. package/dist/personal-meeting-room/request.js +2 -33
  184. package/dist/personal-meeting-room/request.js.map +1 -1
  185. package/dist/personal-meeting-room/util.js +0 -13
  186. package/dist/personal-meeting-room/util.js.map +1 -1
  187. package/dist/reachability/index.js +190 -199
  188. package/dist/reachability/index.js.map +1 -1
  189. package/dist/reachability/request.js +14 -23
  190. package/dist/reachability/request.js.map +1 -1
  191. package/dist/reactions/constants.js +13 -0
  192. package/dist/reactions/constants.js.map +1 -0
  193. package/dist/reactions/reactions.js +2 -4
  194. package/dist/reactions/reactions.js.map +1 -1
  195. package/dist/reactions/reactions.type.js +19 -23
  196. package/dist/reactions/reactions.type.js.map +1 -1
  197. package/dist/reconnection-manager/index.js +326 -465
  198. package/dist/reconnection-manager/index.js.map +1 -1
  199. package/dist/recording-controller/enums.js +17 -0
  200. package/dist/recording-controller/enums.js.map +1 -0
  201. package/dist/recording-controller/index.js +343 -0
  202. package/dist/recording-controller/index.js.map +1 -0
  203. package/dist/recording-controller/util.js +63 -0
  204. package/dist/recording-controller/util.js.map +1 -0
  205. package/dist/roap/index.js +38 -67
  206. package/dist/roap/index.js.map +1 -1
  207. package/dist/roap/request.js +143 -134
  208. package/dist/roap/request.js.map +1 -1
  209. package/dist/roap/turnDiscovery.js +149 -101
  210. package/dist/roap/turnDiscovery.js.map +1 -1
  211. package/dist/statsAnalyzer/global.js +1 -95
  212. package/dist/statsAnalyzer/global.js.map +1 -1
  213. package/dist/statsAnalyzer/index.js +369 -461
  214. package/dist/statsAnalyzer/index.js.map +1 -1
  215. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  216. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  217. package/dist/transcription/index.js +13 -45
  218. package/dist/transcription/index.js.map +1 -1
  219. package/dist/types/annotation/annotation.types.d.ts +34 -0
  220. package/dist/types/annotation/constants.d.ts +31 -0
  221. package/dist/types/annotation/index.d.ts +124 -0
  222. package/dist/types/breakouts/breakout.d.ts +8 -0
  223. package/dist/types/breakouts/collection.d.ts +5 -0
  224. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  225. package/dist/types/breakouts/events.d.ts +2 -0
  226. package/dist/types/breakouts/index.d.ts +5 -0
  227. package/dist/types/breakouts/request.d.ts +22 -0
  228. package/dist/types/breakouts/utils.d.ts +15 -0
  229. package/dist/types/common/browser-detection.d.ts +9 -0
  230. package/dist/types/common/collection.d.ts +48 -0
  231. package/dist/types/common/config.d.ts +2 -0
  232. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  233. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  234. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  235. package/dist/types/common/errors/media.d.ts +15 -0
  236. package/dist/types/common/errors/parameter.d.ts +15 -0
  237. package/dist/types/common/errors/password-error.d.ts +15 -0
  238. package/dist/types/common/errors/permission.d.ts +14 -0
  239. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  240. package/dist/types/common/errors/reconnection.d.ts +15 -0
  241. package/dist/types/common/errors/stats.d.ts +15 -0
  242. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  243. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  244. package/dist/types/common/events/events-scope.d.ts +17 -0
  245. package/dist/types/common/events/events.d.ts +12 -0
  246. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  247. package/dist/types/common/events/util.d.ts +2 -0
  248. package/dist/types/common/logs/logger-config.d.ts +2 -0
  249. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  250. package/dist/types/common/logs/request.d.ts +34 -0
  251. package/dist/types/common/queue.d.ts +32 -0
  252. package/dist/types/config.d.ts +78 -0
  253. package/dist/types/constants.d.ts +984 -0
  254. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  255. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  256. package/dist/types/controls-options-manager/index.d.ts +136 -0
  257. package/dist/types/controls-options-manager/types.d.ts +43 -0
  258. package/dist/types/controls-options-manager/util.d.ts +1 -0
  259. package/dist/types/index.d.ts +7 -0
  260. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  261. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  262. package/dist/types/locus-info/fullState.d.ts +2 -0
  263. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  264. package/dist/types/locus-info/index.d.ts +315 -0
  265. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  266. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  267. package/dist/types/locus-info/parser.d.ts +212 -0
  268. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  269. package/dist/types/media/index.d.ts +34 -0
  270. package/dist/types/media/properties.d.ts +108 -0
  271. package/dist/types/media/util.d.ts +2 -0
  272. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  273. package/dist/types/meeting/in-meeting-actions.d.ts +137 -0
  274. package/dist/types/meeting/index.d.ts +1753 -0
  275. package/dist/types/meeting/muteState.d.ts +185 -0
  276. package/dist/types/meeting/request.d.ts +275 -0
  277. package/dist/types/meeting/request.type.d.ts +11 -0
  278. package/dist/types/meeting/state.d.ts +9 -0
  279. package/dist/types/meeting/util.d.ts +2 -0
  280. package/dist/types/meeting-info/collection.d.ts +20 -0
  281. package/dist/types/meeting-info/index.d.ts +57 -0
  282. package/dist/types/meeting-info/meeting-info-v2.d.ts +115 -0
  283. package/dist/types/meeting-info/request.d.ts +22 -0
  284. package/dist/types/meeting-info/util.d.ts +2 -0
  285. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  286. package/dist/types/meetings/collection.d.ts +31 -0
  287. package/dist/types/meetings/index.d.ts +345 -0
  288. package/dist/types/meetings/request.d.ts +27 -0
  289. package/dist/types/meetings/util.d.ts +18 -0
  290. package/dist/types/member/index.d.ts +157 -0
  291. package/dist/types/member/types.d.ts +21 -0
  292. package/dist/types/member/util.d.ts +2 -0
  293. package/dist/types/members/collection.d.ts +29 -0
  294. package/dist/types/members/index.d.ts +353 -0
  295. package/dist/types/members/request.d.ts +69 -0
  296. package/dist/types/members/types.d.ts +24 -0
  297. package/dist/types/members/util.d.ts +2 -0
  298. package/dist/types/metrics/config.d.ts +195 -0
  299. package/dist/types/metrics/constants.d.ts +54 -0
  300. package/dist/types/metrics/index.d.ts +169 -0
  301. package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
  302. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  303. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  304. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  305. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  306. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  307. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  308. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  309. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  310. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  311. package/dist/types/reachability/index.d.ts +152 -0
  312. package/dist/types/reachability/request.d.ts +37 -0
  313. package/dist/types/reactions/constants.d.ts +3 -0
  314. package/dist/types/reactions/reactions.d.ts +4 -0
  315. package/dist/types/reactions/reactions.type.d.ts +52 -0
  316. package/dist/types/reconnection-manager/index.d.ts +126 -0
  317. package/dist/types/recording-controller/enums.d.ts +7 -0
  318. package/dist/types/recording-controller/index.d.ts +193 -0
  319. package/dist/types/recording-controller/util.d.ts +13 -0
  320. package/dist/types/roap/index.d.ts +77 -0
  321. package/dist/types/roap/request.d.ts +38 -0
  322. package/dist/types/roap/turnDiscovery.d.ts +88 -0
  323. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  324. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  325. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  326. package/dist/types/transcription/index.d.ts +64 -0
  327. package/internal-README.md +7 -6
  328. package/package.json +28 -21
  329. package/src/annotation/annotation.types.ts +41 -0
  330. package/src/annotation/constants.ts +36 -0
  331. package/src/annotation/index.ts +339 -0
  332. package/src/breakouts/README.md +220 -0
  333. package/src/breakouts/breakout.ts +141 -0
  334. package/src/breakouts/collection.ts +19 -0
  335. package/src/breakouts/edit-lock-error.ts +25 -0
  336. package/src/breakouts/events.ts +37 -0
  337. package/src/breakouts/index.ts +835 -0
  338. package/src/breakouts/request.ts +55 -0
  339. package/src/breakouts/utils.ts +57 -0
  340. package/src/common/browser-detection.ts +9 -6
  341. package/src/common/collection.ts +3 -1
  342. package/src/common/errors/captcha-error.ts +6 -6
  343. package/src/common/errors/intent-to-join.ts +6 -6
  344. package/src/common/errors/join-meeting.ts +12 -8
  345. package/src/common/errors/media.ts +6 -6
  346. package/src/common/errors/parameter.ts +9 -6
  347. package/src/common/errors/password-error.ts +6 -6
  348. package/src/common/errors/permission.ts +5 -5
  349. package/src/common/errors/reconnection.ts +6 -6
  350. package/src/common/errors/stats.ts +6 -6
  351. package/src/common/errors/webex-errors.ts +7 -5
  352. package/src/common/errors/webex-meetings-error.ts +1 -1
  353. package/src/common/events/events-scope.ts +5 -1
  354. package/src/common/events/events.ts +5 -1
  355. package/src/common/events/trigger-proxy.ts +8 -3
  356. package/src/common/events/util.ts +1 -2
  357. package/src/common/logs/logger-proxy.ts +21 -10
  358. package/src/common/logs/request.ts +11 -8
  359. package/src/config.ts +16 -12
  360. package/src/constants.ts +141 -6
  361. package/src/controls-options-manager/constants.ts +5 -0
  362. package/src/controls-options-manager/enums.ts +18 -0
  363. package/src/controls-options-manager/index.ts +278 -0
  364. package/src/controls-options-manager/types.ts +59 -0
  365. package/src/controls-options-manager/util.ts +274 -0
  366. package/src/index.ts +33 -0
  367. package/src/locus-info/controlsUtils.ts +145 -24
  368. package/src/locus-info/fullState.ts +15 -11
  369. package/src/locus-info/hostUtils.ts +4 -3
  370. package/src/locus-info/index.ts +326 -55
  371. package/src/locus-info/infoUtils.ts +12 -4
  372. package/src/locus-info/mediaSharesUtils.ts +4 -4
  373. package/src/locus-info/parser.ts +46 -68
  374. package/src/locus-info/selfUtils.ts +187 -56
  375. package/src/media/index.ts +142 -172
  376. package/src/media/properties.ts +43 -36
  377. package/src/media/util.ts +1 -1
  378. package/src/mediaQualityMetrics/config.ts +380 -378
  379. package/src/meeting/in-meeting-actions.ts +139 -3
  380. package/src/meeting/index.ts +2674 -1543
  381. package/src/meeting/muteState.ts +271 -68
  382. package/src/meeting/request.ts +231 -135
  383. package/src/meeting/request.type.ts +13 -0
  384. package/src/meeting/state.ts +45 -30
  385. package/src/meeting/util.ts +119 -110
  386. package/src/meeting-info/collection.ts +2 -1
  387. package/src/meeting-info/index.ts +32 -30
  388. package/src/meeting-info/meeting-info-v2.ts +201 -113
  389. package/src/meeting-info/request.ts +9 -3
  390. package/src/meeting-info/util.ts +54 -46
  391. package/src/meeting-info/utilv2.ts +70 -55
  392. package/src/meetings/collection.ts +21 -1
  393. package/src/meetings/index.ts +749 -437
  394. package/src/meetings/request.ts +29 -25
  395. package/src/meetings/util.ts +122 -33
  396. package/src/member/index.ts +95 -49
  397. package/src/member/types.ts +24 -0
  398. package/src/member/util.ts +106 -13
  399. package/src/members/collection.ts +8 -1
  400. package/src/members/index.ts +281 -129
  401. package/src/members/request.ts +87 -14
  402. package/src/members/types.ts +28 -0
  403. package/src/members/util.ts +140 -49
  404. package/src/metrics/config.ts +302 -90
  405. package/src/metrics/constants.ts +1 -6
  406. package/src/metrics/index.ts +124 -95
  407. package/src/multistream/mediaRequestManager.ts +203 -45
  408. package/src/multistream/receiveSlot.ts +69 -26
  409. package/src/multistream/receiveSlotManager.ts +62 -38
  410. package/src/multistream/remoteMedia.ts +30 -4
  411. package/src/multistream/remoteMediaGroup.ts +4 -3
  412. package/src/multistream/remoteMediaManager.ts +230 -66
  413. package/src/networkQualityMonitor/index.ts +24 -27
  414. package/src/personal-meeting-room/index.ts +12 -16
  415. package/src/personal-meeting-room/request.ts +10 -3
  416. package/src/personal-meeting-room/util.ts +3 -3
  417. package/src/reachability/index.ts +131 -79
  418. package/src/reachability/request.ts +43 -34
  419. package/src/reactions/constants.ts +4 -0
  420. package/src/reactions/reactions.ts +8 -8
  421. package/src/reactions/reactions.type.ts +31 -5
  422. package/src/reconnection-manager/index.ts +193 -111
  423. package/src/recording-controller/enums.ts +8 -0
  424. package/src/recording-controller/index.ts +315 -0
  425. package/src/recording-controller/util.ts +58 -0
  426. package/src/roap/index.ts +63 -51
  427. package/src/roap/request.ts +86 -53
  428. package/src/roap/turnDiscovery.ts +105 -46
  429. package/src/statsAnalyzer/global.ts +8 -104
  430. package/src/statsAnalyzer/index.ts +624 -376
  431. package/src/statsAnalyzer/mqaUtil.ts +203 -90
  432. package/src/transcription/index.ts +34 -32
  433. package/test/integration/spec/converged-space-meetings.js +177 -0
  434. package/test/integration/spec/journey.js +670 -466
  435. package/test/integration/spec/space-meeting.js +320 -204
  436. package/test/integration/spec/transcription.js +7 -8
  437. package/test/unit/spec/annotation/index.ts +435 -0
  438. package/test/unit/spec/breakouts/breakout.ts +184 -0
  439. package/test/unit/spec/breakouts/collection.ts +15 -0
  440. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  441. package/test/unit/spec/breakouts/events.ts +77 -0
  442. package/test/unit/spec/breakouts/index.ts +1542 -0
  443. package/test/unit/spec/breakouts/request.ts +104 -0
  444. package/test/unit/spec/breakouts/utils.js +72 -0
  445. package/test/unit/spec/common/browser-detection.js +9 -28
  446. package/test/unit/spec/controls-options-manager/index.js +287 -0
  447. package/test/unit/spec/controls-options-manager/util.js +504 -0
  448. package/test/unit/spec/fixture/locus.js +93 -90
  449. package/test/unit/spec/locus-info/controlsUtils.js +289 -32
  450. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  451. package/test/unit/spec/locus-info/index.js +585 -5
  452. package/test/unit/spec/locus-info/infoUtils.js +26 -33
  453. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  454. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  455. package/test/unit/spec/locus-info/parser.js +3 -9
  456. package/test/unit/spec/locus-info/selfConstant.js +110 -103
  457. package/test/unit/spec/locus-info/selfUtils.js +236 -12
  458. package/test/unit/spec/media/index.ts +104 -8
  459. package/test/unit/spec/media/properties.ts +9 -9
  460. package/test/unit/spec/meeting/in-meeting-actions.ts +66 -3
  461. package/test/unit/spec/meeting/index.js +2934 -946
  462. package/test/unit/spec/meeting/muteState.js +368 -70
  463. package/test/unit/spec/meeting/request.js +194 -44
  464. package/test/unit/spec/meeting/utils.js +146 -165
  465. package/test/unit/spec/meeting-info/meetinginfov2.js +333 -74
  466. package/test/unit/spec/meeting-info/request.js +7 -9
  467. package/test/unit/spec/meeting-info/util.js +11 -12
  468. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  469. package/test/unit/spec/meetings/collection.js +15 -1
  470. package/test/unit/spec/meetings/index.js +1052 -329
  471. package/test/unit/spec/meetings/utils.js +163 -14
  472. package/test/unit/spec/member/index.js +24 -1
  473. package/test/unit/spec/member/util.js +383 -32
  474. package/test/unit/spec/members/index.js +402 -54
  475. package/test/unit/spec/members/request.js +76 -20
  476. package/test/unit/spec/members/utils.js +191 -4
  477. package/test/unit/spec/metrics/index.js +104 -20
  478. package/test/unit/spec/multistream/mediaRequestManager.ts +650 -105
  479. package/test/unit/spec/multistream/receiveSlot.ts +76 -17
  480. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  481. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  482. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  483. package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
  484. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  485. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  486. package/test/unit/spec/reachability/index.ts +176 -27
  487. package/test/unit/spec/reachability/request.js +66 -0
  488. package/test/unit/spec/reconnection-manager/index.js +62 -31
  489. package/test/unit/spec/recording-controller/index.js +231 -0
  490. package/test/unit/spec/recording-controller/util.js +102 -0
  491. package/test/unit/spec/roap/index.ts +21 -16
  492. package/test/unit/spec/roap/request.ts +217 -0
  493. package/test/unit/spec/roap/turnDiscovery.ts +93 -49
  494. package/test/unit/spec/stats-analyzer/index.js +116 -60
  495. package/test/utils/cmr.js +44 -42
  496. package/test/utils/constants.js +9 -0
  497. package/test/utils/integrationTestUtils.js +64 -0
  498. package/test/utils/testUtils.js +63 -99
  499. package/test/utils/webex-config.js +22 -18
  500. package/test/utils/webex-test-users.js +57 -50
  501. package/tsconfig.json +6 -0
  502. package/dist/media/internal-media-core-wrapper.js +0 -22
  503. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  504. package/dist/meeting/effectsState.js +0 -334
  505. package/dist/meeting/effectsState.js.map +0 -1
  506. package/dist/multistream/multistreamMedia.js +0 -116
  507. package/dist/multistream/multistreamMedia.js.map +0 -1
  508. package/src/index.js +0 -15
  509. package/src/media/internal-media-core-wrapper.ts +0 -9
  510. package/src/meeting/effectsState.ts +0 -211
  511. package/src/multistream/multistreamMedia.ts +0 -92
  512. package/test/unit/spec/meeting/effectsState.js +0 -291
@@ -6,11 +6,10 @@ import ParameterError from '../common/errors/parameter';
6
6
 
7
7
  import MembersUtil from './util';
8
8
 
9
-
10
9
  /**
11
10
  * @class MembersRequest
12
11
  */
13
- export default class MembersRequest extends StatelessWebexPlugin {
12
+ export default class MembersRequest extends StatelessWebexPlugin {
14
13
  namespace = MEETINGS;
15
14
 
16
15
  /**
@@ -21,8 +20,19 @@ export default class MembersRequest extends StatelessWebexPlugin {
21
20
  * @memberof MembersRequest
22
21
  */
23
22
  addMembers(options: any) {
24
- if (!(!options || !options.invitee || (!options.invitee.emailAddress || !options.invitee.email || !options.invitee.phoneNumber) || !options.locusUrl)) {
25
- throw new ParameterError('invitee must be passed and the associated locus url for this meeting object must be defined.');
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
+ );
26
36
  }
27
37
  const requestParams = MembersUtil.getAddMemberRequestParams(options);
28
38
 
@@ -39,7 +49,9 @@ export default class MembersRequest extends StatelessWebexPlugin {
39
49
  */
40
50
  admitMember(options: any) {
41
51
  if (!options || !options.locusUrl || !options.memberIds) {
42
- 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
+ );
43
55
  }
44
56
  const requestParams = MembersUtil.getAdmitMemberRequestParams(options);
45
57
 
@@ -49,7 +61,9 @@ export default class MembersRequest extends StatelessWebexPlugin {
49
61
 
50
62
  removeMember(options) {
51
63
  if (!options || !options.locusUrl || !options.memberId) {
52
- 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
+ );
53
67
  }
54
68
 
55
69
  const requestParams = MembersUtil.getRemoveMemberRequestParams(options);
@@ -60,7 +74,9 @@ export default class MembersRequest extends StatelessWebexPlugin {
60
74
 
61
75
  muteMember(options) {
62
76
  if (!options || !options.locusUrl || !options.memberId) {
63
- 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
+ );
64
80
  }
65
81
 
66
82
  const requestParams = MembersUtil.getMuteMemberRequestParams(options);
@@ -69,9 +85,31 @@ export default class MembersRequest extends StatelessWebexPlugin {
69
85
  return this.request(requestParams);
70
86
  }
71
87
 
88
+ /**
89
+ * Sends a request to the DTMF endpoint to send tones
90
+ * @param {Object} options
91
+ * @param {String} options.locusUrl
92
+ * @param {String} options.memberId ID of PSTN user
93
+ * @returns {Promise}
94
+ */
95
+ assignRolesMember(options: any) {
96
+ if (!options || !options.locusUrl || !options.memberId) {
97
+ throw new ParameterError(
98
+ 'memberId must be defined, and the associated locus url for this meeting object must be defined.'
99
+ );
100
+ }
101
+
102
+ const requestParams = MembersUtil.getRoleAssignmentMemberRequestParams(options);
103
+
104
+ // @ts-ignore
105
+ return this.request(requestParams);
106
+ }
107
+
72
108
  raiseOrLowerHandMember(options) {
73
109
  if (!options || !options.locusUrl || !options.memberId) {
74
- throw new ParameterError('memberId must be defined, and the associated locus url for this meeting object must be defined.');
110
+ throw new ParameterError(
111
+ 'memberId must be defined, and the associated locus url for this meeting object must be defined.'
112
+ );
75
113
  }
76
114
 
77
115
  const requestParams = MembersUtil.getRaiseHandMemberRequestParams(options);
@@ -82,7 +120,9 @@ export default class MembersRequest extends StatelessWebexPlugin {
82
120
 
83
121
  lowerAllHandsMember(options) {
84
122
  if (!options || !options.locusUrl || !options.requestingParticipantId) {
85
- throw new ParameterError('requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.');
123
+ throw new ParameterError(
124
+ 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'
125
+ );
86
126
  }
87
127
 
88
128
  const requestParams = MembersUtil.getLowerAllHandsMemberRequestParams(options);
@@ -91,9 +131,31 @@ export default class MembersRequest extends StatelessWebexPlugin {
91
131
  return this.request(requestParams);
92
132
  }
93
133
 
134
+ /**
135
+ *
136
+ * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
137
+ * @returns {Promise}
138
+ * @throws {Error} if the options are not valid and complete, must have requestingParticipantId AND locusUrl
139
+ * @memberof MembersRequest
140
+ */
141
+ editDisplayNameMember(options: {locusUrl: string; requestingParticipantId: string}) {
142
+ if (!options || !options.locusUrl || !options.requestingParticipantId) {
143
+ throw new ParameterError(
144
+ 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'
145
+ );
146
+ }
147
+
148
+ const requestParams = MembersUtil.editDisplayNameMemberRequestParams(options);
149
+
150
+ // @ts-ignore
151
+ return this.request(requestParams);
152
+ }
153
+
94
154
  transferHostToMember(options) {
95
155
  if (!options || !options.locusUrl || !options.memberId || !options.moderator) {
96
- throw new ParameterError('memberId must be defined, the associated locus url, and the moderator for this meeting object must be defined.');
156
+ throw new ParameterError(
157
+ 'memberId must be defined, the associated locus url, and the moderator for this meeting object must be defined.'
158
+ );
97
159
  }
98
160
 
99
161
  const requestParams = MembersUtil.getTransferHostToMemberRequestParams(options);
@@ -111,10 +173,19 @@ export default class MembersRequest extends StatelessWebexPlugin {
111
173
  * @param {String} options.memberId ID of PSTN user
112
174
  * @returns {Promise}
113
175
  */
114
- sendDialPadKey(options: { locusUrl: string; url: string; tones: string; memberId: string }) {
176
+ sendDialPadKey(options: {locusUrl: string; url: string; tones: string; memberId: string}) {
115
177
  // @ts-ignore
116
- if (!options || !options.locusUrl || !options.memberId || !options.url || !options.tones && options.tones !== 0) {
117
- throw new ParameterError('memberId must be defined, the associated locus url, the device url and DTMF tones for this meeting object must be defined.');
178
+ if (
179
+ !options ||
180
+ !options.locusUrl ||
181
+ !options.memberId ||
182
+ !options.url ||
183
+ // @ts-ignore
184
+ (!options.tones && options.tones !== 0)
185
+ ) {
186
+ throw new ParameterError(
187
+ 'memberId must be defined, the associated locus url, the device url and DTMF tones for this meeting object must be defined.'
188
+ );
118
189
  }
119
190
 
120
191
  const requestParams = MembersUtil.generateSendDTMFRequestParams(options);
@@ -131,7 +202,9 @@ export default class MembersRequest extends StatelessWebexPlugin {
131
202
  */
132
203
  cancelPhoneInvite(options: any) {
133
204
  if (!(options?.invitee?.phoneNumber || options?.locusUrl)) {
134
- throw new ParameterError('invitee must be passed and the associated locus url for this meeting object must be defined.');
205
+ throw new ParameterError(
206
+ 'invitee must be passed and the associated locus url for this meeting object must be defined.'
207
+ );
135
208
  }
136
209
 
137
210
  const requestParams = MembersUtil.generateCancelInviteRequestParams(options);
@@ -0,0 +1,28 @@
1
+ export enum ServerRoles {
2
+ Cohost = 'COHOST',
3
+ Moderator = 'MODERATOR',
4
+ Presenter = 'PRESENTER',
5
+ }
6
+
7
+ export type ServerRoleShape = {
8
+ type: ServerRoles;
9
+ hasRole: boolean;
10
+ };
11
+
12
+ export type RoleAssignmentOptions = {
13
+ roles: Array<ServerRoleShape>;
14
+ locusUrl: string;
15
+ memberId: string;
16
+ };
17
+
18
+ export type RoleAssignmentBody = {
19
+ role: {
20
+ roles: Array<ServerRoleShape>;
21
+ };
22
+ };
23
+
24
+ export type RoleAssignmentRequest = {
25
+ method: string;
26
+ uri: string;
27
+ body: RoleAssignmentBody;
28
+ };
@@ -1,5 +1,4 @@
1
1
  import uuid from 'uuid';
2
-
3
2
  import {
4
3
  HTTP_VERBS,
5
4
  CONTROLS,
@@ -9,9 +8,12 @@ import {
9
8
  VALID_EMAIL_ADDRESS,
10
9
  DIALER_REGEX,
11
10
  SEND_DTMF_ENDPOINT,
12
- _REMOVE_
11
+ _REMOVE_,
12
+ ALIAS,
13
13
  } from '../constants';
14
14
 
15
+ import {RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape} from './types';
16
+
15
17
  const MembersUtil: any = {};
16
18
 
17
19
  /**
@@ -20,10 +22,14 @@ const MembersUtil: any = {};
20
22
  * @param {Boolean} alertIfActive
21
23
  * @returns {Object} the format object
22
24
  */
23
- MembersUtil.generateAddMemberOptions = (invitee: object, locusUrl: string, alertIfActive: boolean) => ({
25
+ MembersUtil.generateAddMemberOptions = (
26
+ invitee: object,
27
+ locusUrl: string,
28
+ alertIfActive: boolean
29
+ ) => ({
24
30
  invitee,
25
31
  locusUrl,
26
- alertIfActive
32
+ alertIfActive,
27
33
  });
28
34
 
29
35
  /**
@@ -33,7 +39,7 @@ MembersUtil.generateAddMemberOptions = (invitee: object, locusUrl: string, alert
33
39
  */
34
40
  MembersUtil.generateAdmitMemberOptions = (memberIds: Array<any>, locusUrl: string) => ({
35
41
  locusUrl,
36
- memberIds
42
+ memberIds,
37
43
  });
38
44
 
39
45
  /**
@@ -43,32 +49,43 @@ MembersUtil.generateAdmitMemberOptions = (memberIds: Array<any>, locusUrl: strin
43
49
  MembersUtil.getAddMemberBody = (options: any) => ({
44
50
  invitees: [
45
51
  {
46
- address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber
47
- }
52
+ address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,
53
+ },
48
54
  ],
49
- alertIfActive: options.alertIfActive
55
+ alertIfActive: options.alertIfActive,
50
56
  });
51
57
 
52
58
  /**
53
- * @param {Object} options with {memberIds}
59
+ * @param {Object} options with {memberIds, authorizingLocusUrl}
54
60
  * @returns {Object} admit with {memberIds}
55
61
  */
56
- MembersUtil.getAdmitMemberRequestBody = (options: any) => ({
57
- admit: {participantIds: options.memberIds}
58
- });
62
+ MembersUtil.getAdmitMemberRequestBody = (options: any) => {
63
+ const {memberIds, sessionLocusUrls} = options;
64
+ const body: any = {admit: {participantIds: memberIds}};
65
+ if (sessionLocusUrls) {
66
+ const {authorizingLocusUrl} = sessionLocusUrls;
67
+
68
+ return {authorizingLocusUrl, ...body};
69
+ }
70
+
71
+ return body;
72
+ };
59
73
 
60
74
  /**
61
- * @param {Object} format with {memberIds, locusUrl}
75
+ * @param {Object} format with {memberIds, locusUrl, sessionLocusUrls}
62
76
  * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request
77
+ * if a host/cohost is in a breakout session, the locus url should be the main session locus url
63
78
  */
64
79
  MembersUtil.getAdmitMemberRequestParams = (format: any) => {
65
80
  const body = MembersUtil.getAdmitMemberRequestBody(format);
66
- const uri = `${format.locusUrl}/${CONTROLS}`;
81
+ const {locusUrl, sessionLocusUrls} = format;
82
+ const baseUrl = sessionLocusUrls?.mainLocusUrl || locusUrl;
83
+ const uri = `${baseUrl}/${CONTROLS}`;
67
84
 
68
85
  return {
69
86
  method: HTTP_VERBS.PUT,
70
87
  uri,
71
- body
88
+ body,
72
89
  };
73
90
  };
74
91
 
@@ -81,7 +98,7 @@ MembersUtil.getAddMemberRequestParams = (format: any) => {
81
98
  const requestParams = {
82
99
  method: HTTP_VERBS.PUT,
83
100
  uri: format.locusUrl,
84
- body
101
+ body,
85
102
  };
86
103
 
87
104
  return requestParams;
@@ -101,104 +118,180 @@ MembersUtil.isInvalidInvitee = (invitee) => {
101
118
 
102
119
  MembersUtil.getRemoveMemberRequestParams = (options) => {
103
120
  const body = {
104
- reason: options.reason
121
+ reason: options.reason,
105
122
  };
106
123
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;
107
124
 
108
125
  return {
109
126
  method: HTTP_VERBS.PUT,
110
127
  uri,
111
- body
128
+ body,
112
129
  };
113
130
  };
114
131
 
115
132
  MembersUtil.generateTransferHostMemberOptions = (transfer, moderator, locusUrl) => ({
116
133
  moderator,
117
134
  locusUrl,
118
- memberId: transfer
135
+ memberId: transfer,
119
136
  });
120
137
 
121
138
  MembersUtil.generateRemoveMemberOptions = (removal, locusUrl) => ({
122
139
  reason: _FORCED_,
123
140
  memberId: removal,
124
- locusUrl
141
+ locusUrl,
125
142
  });
126
143
 
127
- MembersUtil.generateMuteMemberOptions = (memberId, status, locusUrl) => ({
144
+ MembersUtil.generateMuteMemberOptions = (memberId, status, locusUrl, isAudio) => ({
128
145
  memberId,
129
146
  muted: status,
130
- locusUrl
147
+ locusUrl,
148
+ isAudio,
131
149
  });
132
150
 
133
151
  MembersUtil.generateRaiseHandMemberOptions = (memberId, status, locusUrl) => ({
134
152
  memberId,
135
153
  raised: status,
136
- locusUrl
154
+ locusUrl,
155
+ });
156
+
157
+ /**
158
+ * @param {String} memberId
159
+ * @param {[ServerRoleShape]} roles
160
+ * @param {String} locusUrl
161
+ * @returns {RoleAssignmentOptions}
162
+ */
163
+ MembersUtil.generateRoleAssignmentMemberOptions = (
164
+ memberId: string,
165
+ roles: Array<ServerRoleShape>,
166
+ locusUrl: string
167
+ ): RoleAssignmentOptions => ({
168
+ memberId,
169
+ roles,
170
+ locusUrl,
137
171
  });
138
172
 
139
173
  MembersUtil.generateLowerAllHandsMemberOptions = (requestingParticipantId, locusUrl) => ({
140
174
  requestingParticipantId,
175
+ locusUrl,
176
+ });
177
+
178
+ /**
179
+ * @param {String} memberId id of the participant who is receiving request
180
+ * @param {String} requestingParticipantId id of the participant who is sending request (optional)
181
+ * @param {String} alias alias name
182
+ * @param {String} locusUrl url
183
+ * @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}
184
+ */
185
+ MembersUtil.generateEditDisplayNameMemberOptions = (
186
+ memberId,
187
+ requestingParticipantId,
188
+ alias,
141
189
  locusUrl
190
+ ) => ({
191
+ memberId,
192
+ requestingParticipantId,
193
+ alias,
194
+ locusUrl,
142
195
  });
143
196
 
144
197
  MembersUtil.getMuteMemberRequestParams = (options) => {
198
+ const property = options.isAudio === false ? 'video' : 'audio';
145
199
  const body = {
146
- audio: {
147
- muted: options.muted
148
- }
200
+ [property]: {
201
+ muted: options.muted,
202
+ },
149
203
  };
150
204
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
151
205
 
152
206
  return {
153
207
  method: HTTP_VERBS.PATCH,
154
208
  uri,
155
- body
209
+ body,
210
+ };
211
+ };
212
+
213
+ /**
214
+ * @param {RoleAssignmentOptions} options
215
+ * @returns {RoleAssignmentRequest} the request parameters (method, uri, body) needed to make a addMember request
216
+ */
217
+ MembersUtil.getRoleAssignmentMemberRequestParams = (
218
+ options: RoleAssignmentOptions
219
+ ): RoleAssignmentRequest => {
220
+ const body = {role: {roles: []}};
221
+ options.roles.forEach((role) => {
222
+ body.role.roles.push({type: role.type, hasRole: role.hasRole});
223
+ });
224
+
225
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
226
+
227
+ return {
228
+ method: HTTP_VERBS.PATCH,
229
+ uri,
230
+ body,
156
231
  };
157
232
  };
158
233
 
159
234
  MembersUtil.getRaiseHandMemberRequestParams = (options) => {
160
235
  const body = {
161
236
  hand: {
162
- raised: options.raised
163
- }
237
+ raised: options.raised,
238
+ },
164
239
  };
165
240
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
166
241
 
167
242
  return {
168
243
  method: HTTP_VERBS.PATCH,
169
244
  uri,
170
- body
245
+ body,
171
246
  };
172
247
  };
173
248
 
174
249
  MembersUtil.getLowerAllHandsMemberRequestParams = (options) => {
175
250
  const body = {
176
251
  hand: {
177
- raised: false
252
+ raised: false,
178
253
  },
179
- requestingParticipantId: options.requestingParticipantId
254
+ requestingParticipantId: options.requestingParticipantId,
180
255
  };
181
256
  const uri = `${options.locusUrl}/${CONTROLS}`;
182
257
 
183
258
  return {
184
259
  method: HTTP_VERBS.PATCH,
185
260
  uri,
186
- body
261
+ body,
262
+ };
263
+ };
264
+
265
+ /**
266
+ * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
267
+ * @returns {Object} request parameters (method, uri, body) needed to make a editDisplayName request
268
+ */
269
+ MembersUtil.editDisplayNameMemberRequestParams = (options) => {
270
+ const body = {
271
+ aliasValue: options.alias,
272
+ requestingParticipantId: options.requestingParticipantId,
273
+ };
274
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${ALIAS}`;
275
+
276
+ return {
277
+ method: HTTP_VERBS.POST,
278
+ uri,
279
+ body,
187
280
  };
188
281
  };
189
282
 
190
283
  MembersUtil.getTransferHostToMemberRequestParams = (options) => {
191
284
  const body = {
192
285
  role: {
193
- moderator: options.moderator
194
- }
286
+ moderator: options.moderator,
287
+ },
195
288
  };
196
289
  const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
197
290
 
198
291
  return {
199
292
  method: HTTP_VERBS.PATCH,
200
293
  uri,
201
- body
294
+ body,
202
295
  };
203
296
  };
204
297
 
@@ -206,35 +299,33 @@ MembersUtil.genderateSendDTMFOptions = (url, tones, memberId, locusUrl) => ({
206
299
  url,
207
300
  tones,
208
301
  memberId,
209
- locusUrl
302
+ locusUrl,
210
303
  });
211
304
 
212
- MembersUtil.generateSendDTMFRequestParams = ({
213
- url, tones, memberId, locusUrl
214
- }) => {
305
+ MembersUtil.generateSendDTMFRequestParams = ({url, tones, memberId, locusUrl}) => {
215
306
  const body = {
216
307
  device: {
217
- url
308
+ url,
218
309
  },
219
310
  memberId,
220
311
  dtmf: {
221
312
  correlationId: uuid.v4(),
222
313
  tones,
223
- direction: 'transmit'
224
- }
314
+ direction: 'transmit',
315
+ },
225
316
  };
226
317
  const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;
227
318
 
228
319
  return {
229
320
  method: HTTP_VERBS.POST,
230
321
  uri,
231
- body
322
+ body,
232
323
  };
233
324
  };
234
325
 
235
326
  MembersUtil.cancelPhoneInviteOptions = (invitee, locusUrl) => ({
236
327
  invitee,
237
- locusUrl
328
+ locusUrl,
238
329
  });
239
330
 
240
331
  MembersUtil.generateCancelInviteRequestParams = (options) => {
@@ -242,14 +333,14 @@ MembersUtil.generateCancelInviteRequestParams = (options) => {
242
333
  actionType: _REMOVE_,
243
334
  invitees: [
244
335
  {
245
- address: options.invitee.phoneNumber
246
- }
247
- ]
336
+ address: options.invitee.phoneNumber,
337
+ },
338
+ ],
248
339
  };
249
340
  const requestParams = {
250
341
  method: HTTP_VERBS.PUT,
251
342
  uri: options.locusUrl,
252
- body
343
+ body,
253
344
  };
254
345
 
255
346
  return requestParams;