@webex/plugin-meetings 3.0.0-beta.10 → 3.0.0-beta.104

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 +919 -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 +173 -52
  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 +25 -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 +250 -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 +56 -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 +327 -211
  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 +59 -14
  112. package/dist/meeting/in-meeting-actions.js.map +1 -1
  113. package/dist/meeting/index.js +2396 -2388
  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 +318 -283
  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 +263 -282
  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 +80 -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 +90 -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 +5 -14
  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 +61 -161
  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 +109 -0
  194. package/dist/reactions/reactions.js.map +1 -0
  195. package/dist/reactions/reactions.type.js +36 -0
  196. package/dist/reactions/reactions.type.js.map +1 -0
  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 +968 -0
  254. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  255. package/dist/types/controls-options-manager/enums.d.ts +13 -0
  256. package/dist/types/controls-options-manager/index.d.ts +136 -0
  257. package/dist/types/controls-options-manager/types.d.ts +37 -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 +129 -0
  274. package/dist/types/meeting/index.d.ts +1748 -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 +112 -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 +156 -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 +172 -0
  299. package/dist/types/metrics/constants.d.ts +54 -0
  300. package/dist/types/metrics/index.d.ts +152 -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 +219 -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 +823 -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 +119 -6
  361. package/src/controls-options-manager/constants.ts +5 -0
  362. package/src/controls-options-manager/enums.ts +16 -0
  363. package/src/controls-options-manager/index.ts +278 -0
  364. package/src/controls-options-manager/types.ts +49 -0
  365. package/src/controls-options-manager/util.ts +229 -0
  366. package/src/index.ts +33 -0
  367. package/src/locus-info/controlsUtils.ts +91 -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 +270 -54
  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 +123 -3
  380. package/src/meeting/index.ts +2617 -1545
  381. package/src/meeting/muteState.ts +271 -68
  382. package/src/meeting/request.ts +251 -132
  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 +181 -109
  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 +86 -49
  397. package/src/member/types.ts +24 -0
  398. package/src/member/util.ts +92 -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 +256 -90
  405. package/src/metrics/constants.ts +1 -6
  406. package/src/metrics/index.ts +96 -96
  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 +104 -0
  421. package/src/reactions/reactions.type.ts +62 -0
  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 +666 -464
  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 +1504 -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 +403 -0
  448. package/test/unit/spec/fixture/locus.js +92 -90
  449. package/test/unit/spec/locus-info/controlsUtils.js +177 -32
  450. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  451. package/test/unit/spec/locus-info/index.js +493 -3
  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 +58 -3
  461. package/test/unit/spec/meeting/index.js +2649 -837
  462. package/test/unit/spec/meeting/muteState.js +368 -70
  463. package/test/unit/spec/meeting/request.js +217 -43
  464. package/test/unit/spec/meeting/utils.js +146 -165
  465. package/test/unit/spec/meeting-info/meetinginfov2.js +268 -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 +359 -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 +46 -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
@@ -1,227 +1,235 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
6
-
7
5
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
8
-
9
6
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
10
-
11
7
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
12
-
13
8
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
14
-
15
9
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
16
-
17
10
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
18
-
19
11
  _Object$defineProperty(exports, "__esModule", {
20
12
  value: true
21
13
  });
22
-
23
14
  exports.default = void 0;
24
-
25
15
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
26
-
27
16
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
28
-
29
17
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
30
-
18
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
31
19
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
32
-
33
20
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
34
-
35
21
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
36
-
37
22
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
38
-
39
23
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
40
-
41
24
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
42
-
43
25
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
44
-
45
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
46
-
47
27
  var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
48
-
49
28
  var _uuid = _interopRequireDefault(require("uuid"));
50
-
51
29
  var _webexCore = require("@webex/webex-core");
52
-
53
30
  var _common = require("@webex/common");
54
-
55
31
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
56
-
57
32
  var _constants = require("../constants");
58
-
59
33
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
60
-
61
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
62
-
63
35
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
64
-
65
36
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
66
-
67
37
  /**
68
38
  * @class MeetingRequest
69
39
  */
70
40
  var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
71
41
  (0, _inherits2.default)(MeetingRequest, _StatelessWebexPlugin);
72
-
73
42
  var _super = _createSuper(MeetingRequest);
74
-
43
+ /**
44
+ * Constructor
45
+ * @param {Object} attrs
46
+ * @param {Object} options
47
+ */
75
48
  function MeetingRequest(attrs, options) {
76
49
  var _this;
77
-
78
50
  (0, _classCallCheck2.default)(this, MeetingRequest);
79
51
  _this = _super.call(this, attrs, options);
80
52
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeVideoLayoutDebounced", void 0);
53
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getJoinCookie", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
54
+ var joinCookieRaw, joinCookie;
55
+ return _regenerator.default.wrap(function _callee$(_context) {
56
+ while (1) switch (_context.prev = _context.next) {
57
+ case 0:
58
+ _context.next = 2;
59
+ return _this.webex.boundedStorage.get(_constants.REACHABILITY.namespace, _constants.REACHABILITY.localStorageJoinCookie).catch(function () {});
60
+ case 2:
61
+ joinCookieRaw = _context.sent;
62
+ if (!joinCookieRaw) {
63
+ _context.next = 13;
64
+ break;
65
+ }
66
+ _context.prev = 4;
67
+ joinCookie = JSON.parse(joinCookieRaw);
68
+ if (!joinCookie) {
69
+ _context.next = 8;
70
+ break;
71
+ }
72
+ return _context.abrupt("return", joinCookie);
73
+ case 8:
74
+ _context.next = 13;
75
+ break;
76
+ case 10:
77
+ _context.prev = 10;
78
+ _context.t0 = _context["catch"](4);
79
+ _loggerProxy.default.logger.error("MeetingRequest#constructor --> Error in parsing join cookie data: ".concat(_context.t0));
80
+ case 13:
81
+ return _context.abrupt("return", null);
82
+ case 14:
83
+ case "end":
84
+ return _context.stop();
85
+ }
86
+ }, _callee, null, [[4, 10]]);
87
+ })));
81
88
  _this.changeVideoLayoutDebounced = (0, _debounce2.default)(_this.changeVideoLayout, 2000, {
82
89
  leading: true,
83
90
  trailing: true
84
91
  });
85
92
  return _this;
86
93
  }
94
+
87
95
  /**
88
- * Make a network request to join a meeting
89
- * @param {Object} options
90
- * @param {String} options.sipUri
91
- * @param {String} options.deviceUrl
92
- * @param {String} options.locusUrl
93
- * @param {String} options.resourceId,
94
- * @param {String} options.correlationId
95
- * @param {boolean} options.ensureConversation
96
- * @param {boolean} options.moderator
97
- * @param {boolean} options.pin
98
- * @param {boolean} options.moveToResource
99
- * @param {Object} options.roapMessage
100
- * @returns {Promise}
96
+ * Returns joinCookie from boundedStorage if present.
97
+ * @returns {Object} joinCookie
101
98
  */
102
-
103
-
104
99
  (0, _createClass2.default)(MeetingRequest, [{
105
100
  key: "joinMeeting",
106
- value: function () {
107
- var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
108
- var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, url, body;
109
- return _regenerator.default.wrap(function _callee$(_context) {
110
- while (1) {
111
- switch (_context.prev = _context.next) {
112
- case 0:
113
- asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, preferTranscoding = options.preferTranscoding;
114
-
115
- _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
116
-
117
- url = '';
118
- body = {
119
- asResourceOccupant: asResourceOccupant,
120
- device: {
121
- url: deviceUrl,
122
- // @ts-ignore - config comes from registerPlugin
123
- deviceType: this.config.meetings.deviceType
124
- },
125
- usingResource: resourceId || null,
126
- moveMediaToResource: resourceId && moveToResource || false,
127
- correlationId: correlationId,
128
- respOnlySdp: true,
129
- allowMultiDevice: true,
130
- ensureConversation: ensureConversation || false,
131
- supportsNativeLobby: 1,
132
- clientMediaPreferences: {
133
- preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true
134
- }
135
- }; // @ts-ignore
136
-
137
- if (this.webex.meetings.clientRegion) {
138
- // @ts-ignore
139
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode; // @ts-ignore
140
-
141
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
142
- }
143
-
144
- if (moderator !== undefined) {
145
- body.moderator = moderator;
146
- }
147
-
148
- if (permissionToken) {
149
- body.permissionToken = permissionToken;
150
- }
151
-
152
- if (pin !== undefined) {
153
- body.pin = pin;
154
- }
155
-
156
- if (!locusUrl) {
157
- _context.next = 12;
158
- break;
159
- }
160
-
161
- url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
162
- _context.next = 24;
163
- break;
164
-
165
- case 12:
166
- if (!(inviteeAddress || meetingNumber)) {
167
- _context.next = 24;
168
- break;
101
+ value:
102
+ /**
103
+ * Make a network request to join a meeting
104
+ * @param {Object} options
105
+ * @param {String} options.sipUri
106
+ * @param {String} options.deviceUrl
107
+ * @param {String} options.locusUrl
108
+ * @param {String} options.resourceId,
109
+ * @param {String} options.correlationId
110
+ * @param {boolean} options.ensureConversation
111
+ * @param {boolean} options.moderator
112
+ * @param {boolean} options.pin
113
+ * @param {boolean} options.moveToResource
114
+ * @param {Object} options.roapMessage
115
+ * @param {boolean} options.breakoutsSupported
116
+ * @param {boolean} options.liveAnnotationSupported
117
+ * @returns {Promise}
118
+ */
119
+ function () {
120
+ var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
121
+ var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, breakoutsSupported, liveAnnotationSupported, url, joinCookie, body, deviceCapabilities;
122
+ return _regenerator.default.wrap(function _callee2$(_context2) {
123
+ while (1) switch (_context2.prev = _context2.next) {
124
+ case 0:
125
+ asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, preferTranscoding = options.preferTranscoding, breakoutsSupported = options.breakoutsSupported, liveAnnotationSupported = options.liveAnnotationSupported;
126
+ _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
127
+ url = '';
128
+ _context2.next = 5;
129
+ return this.getJoinCookie();
130
+ case 5:
131
+ joinCookie = _context2.sent;
132
+ body = {
133
+ asResourceOccupant: asResourceOccupant,
134
+ device: {
135
+ url: deviceUrl,
136
+ // @ts-ignore - config comes from registerPlugin
137
+ deviceType: this.config.meetings.deviceType
138
+ },
139
+ usingResource: resourceId || null,
140
+ moveMediaToResource: resourceId && moveToResource || false,
141
+ correlationId: correlationId,
142
+ respOnlySdp: true,
143
+ allowMultiDevice: true,
144
+ ensureConversation: ensureConversation || false,
145
+ supportsNativeLobby: 1,
146
+ clientMediaPreferences: {
147
+ preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true,
148
+ joinCookie: joinCookie
169
149
  }
150
+ };
151
+ deviceCapabilities = [];
152
+ if (breakoutsSupported) {
153
+ deviceCapabilities = [].concat((0, _toConsumableArray2.default)(deviceCapabilities), [_constants.BREAKOUTS.BREAKOUTS_SUPPORTED]);
154
+ }
155
+ if (liveAnnotationSupported) {
156
+ deviceCapabilities = [].concat((0, _toConsumableArray2.default)(deviceCapabilities), [_constants.ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED]);
157
+ }
158
+ if (deviceCapabilities.length > 0) {
159
+ body.deviceCapabilities = deviceCapabilities;
160
+ }
170
161
 
171
- _context.prev = 13;
172
- _context.next = 16;
173
- return this.webex.internal.services.waitForCatalog('postauth');
174
-
175
- case 16:
162
+ // @ts-ignore
163
+ if (this.webex.meetings.clientRegion) {
176
164
  // @ts-ignore
177
- url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
178
- body.invitee = {
179
- address: inviteeAddress || "wbxmn:".concat(meetingNumber)
180
- };
181
- _context.next = 24;
165
+ body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
166
+ // @ts-ignore
167
+ body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
168
+ }
169
+ if (moderator !== undefined) {
170
+ body.moderator = moderator;
171
+ }
172
+ if (permissionToken) {
173
+ body.permissionToken = permissionToken;
174
+ }
175
+ if (pin !== undefined) {
176
+ body.pin = pin;
177
+ }
178
+ if (!locusUrl) {
179
+ _context2.next = 19;
182
180
  break;
183
-
184
- case 20:
185
- _context.prev = 20;
186
- _context.t0 = _context["catch"](13);
187
-
188
- _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context.t0));
189
-
190
- throw _context.t0;
191
-
192
- case 24:
193
- // TODO: -- this will be resolved in SDK request
194
- url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
195
-
196
- if (resourceId === inviteeAddress) {
197
- body.callPreferences = {
198
- requestedMedia: [_constants._SLIDES_]
199
- };
200
- }
201
-
202
- if (roapMessage) {
203
- body.localMedias = roapMessage.localMedias;
204
- } /// @ts-ignore
205
-
206
-
207
- return _context.abrupt("return", this.request({
208
- method: _constants.HTTP_VERBS.POST,
209
- uri: url,
210
- body: body
211
- }));
212
-
213
- case 28:
214
- case "end":
215
- return _context.stop();
216
- }
181
+ }
182
+ url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
183
+ _context2.next = 31;
184
+ break;
185
+ case 19:
186
+ if (!(inviteeAddress || meetingNumber)) {
187
+ _context2.next = 31;
188
+ break;
189
+ }
190
+ _context2.prev = 20;
191
+ _context2.next = 23;
192
+ return this.webex.internal.services.waitForCatalog('postauth');
193
+ case 23:
194
+ // @ts-ignore
195
+ url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
196
+ body.invitee = {
197
+ address: inviteeAddress || "wbxmn:".concat(meetingNumber)
198
+ };
199
+ _context2.next = 31;
200
+ break;
201
+ case 27:
202
+ _context2.prev = 27;
203
+ _context2.t0 = _context2["catch"](20);
204
+ _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context2.t0));
205
+ throw _context2.t0;
206
+ case 31:
207
+ // TODO: -- this will be resolved in SDK request
208
+ url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
209
+ if (resourceId === inviteeAddress) {
210
+ body.callPreferences = {
211
+ requestedMedia: [_constants._SLIDES_]
212
+ };
213
+ }
214
+ if (roapMessage) {
215
+ body.localMedias = roapMessage.localMedias;
216
+ }
217
+
218
+ /// @ts-ignore
219
+ return _context2.abrupt("return", this.request({
220
+ method: _constants.HTTP_VERBS.POST,
221
+ uri: url,
222
+ body: body
223
+ }));
224
+ case 35:
225
+ case "end":
226
+ return _context2.stop();
217
227
  }
218
- }, _callee, this, [[13, 20]]);
228
+ }, _callee2, this, [[20, 27]]);
219
229
  }));
220
-
221
230
  function joinMeeting(_x) {
222
231
  return _joinMeeting.apply(this, arguments);
223
232
  }
224
-
225
233
  return joinMeeting;
226
234
  }()
227
235
  /**
@@ -232,26 +240,26 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
232
240
  * @returns {Promise}
233
241
  * @private
234
242
  */
235
-
236
243
  }, {
237
244
  key: "refreshCaptcha",
238
- value: function refreshCaptcha(_ref) {
239
- var captchaRefreshUrl = _ref.captchaRefreshUrl,
240
- captchaId = _ref.captchaId;
245
+ value: function refreshCaptcha(_ref2) {
246
+ var captchaRefreshUrl = _ref2.captchaRefreshUrl,
247
+ captchaId = _ref2.captchaId;
241
248
  var body = {
242
249
  captchaId: captchaId
243
- }; // @ts-ignore
250
+ };
244
251
 
252
+ // @ts-ignore
245
253
  return this.request({
246
254
  method: _constants.HTTP_VERBS.POST,
247
255
  uri: captchaRefreshUrl,
248
256
  body: body
249
257
  }).catch(function (err) {
250
258
  _loggerProxy.default.logger.error("Meeting:request#refreshCaptcha --> Error: ".concat(err));
251
-
252
259
  throw err;
253
260
  });
254
261
  }
262
+
255
263
  /**
256
264
  * Make a network request to add a dial in device
257
265
  * @param {Object} options
@@ -262,17 +270,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
262
270
  * @returns {Promise}
263
271
  * @private
264
272
  */
265
-
266
273
  }, {
267
274
  key: "dialIn",
268
- value: function dialIn(_ref2) {
269
- var locusUrl = _ref2.locusUrl,
270
- dialInUrl = _ref2.dialInUrl,
271
- clientUrl = _ref2.clientUrl,
272
- correlationId = _ref2.correlationId;
273
-
275
+ value: function dialIn(_ref3) {
276
+ var locusUrl = _ref3.locusUrl,
277
+ dialInUrl = _ref3.dialInUrl,
278
+ clientUrl = _ref3.clientUrl,
279
+ correlationId = _ref3.correlationId;
274
280
  _loggerProxy.default.logger.info('Meeting:request#dialIn --> Provisioning a dial in device', correlationId);
275
-
276
281
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
277
282
  var body = {
278
283
  device: {
@@ -282,18 +287,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
282
287
  clientUrl: clientUrl
283
288
  },
284
289
  correlationId: correlationId
285
- }; // @ts-ignore
290
+ };
286
291
 
292
+ // @ts-ignore
287
293
  return this.request({
288
294
  method: _constants.HTTP_VERBS.POST,
289
295
  uri: uri,
290
296
  body: body
291
297
  }).catch(function (err) {
292
298
  _loggerProxy.default.logger.error("Meeting:request#dialIn --> Error provisioning a dial in device, error ".concat(err));
293
-
294
299
  throw err;
295
300
  });
296
301
  }
302
+
297
303
  /**
298
304
  * Make a network request to add a dial out device
299
305
  * @param {Object} options
@@ -305,18 +311,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
305
311
  * @returns {Promise}
306
312
  * @private
307
313
  */
308
-
309
314
  }, {
310
315
  key: "dialOut",
311
- value: function dialOut(_ref3) {
312
- var locusUrl = _ref3.locusUrl,
313
- dialOutUrl = _ref3.dialOutUrl,
314
- phoneNumber = _ref3.phoneNumber,
315
- clientUrl = _ref3.clientUrl,
316
- correlationId = _ref3.correlationId;
317
-
316
+ value: function dialOut(_ref4) {
317
+ var locusUrl = _ref4.locusUrl,
318
+ dialOutUrl = _ref4.dialOutUrl,
319
+ phoneNumber = _ref4.phoneNumber,
320
+ clientUrl = _ref4.clientUrl,
321
+ correlationId = _ref4.correlationId;
318
322
  _loggerProxy.default.logger.info('Meeting:request#dialOut --> Provisioning a dial out device', correlationId);
319
-
320
323
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
321
324
  var body = {
322
325
  device: {
@@ -327,18 +330,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
327
330
  clientUrl: clientUrl
328
331
  },
329
332
  correlationId: correlationId
330
- }; // @ts-ignore
333
+ };
331
334
 
335
+ // @ts-ignore
332
336
  return this.request({
333
337
  method: _constants.HTTP_VERBS.POST,
334
338
  uri: uri,
335
339
  body: body
336
340
  }).catch(function (err) {
337
341
  _loggerProxy.default.logger.error("Meeting:request#dialOut --> Error provisioning a dial out device, error ".concat(err));
338
-
339
342
  throw err;
340
343
  });
341
344
  }
345
+
342
346
  /**
343
347
  * Syns the missed delta event
344
348
  * @param {Object} options
@@ -346,31 +350,30 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
346
350
  * @param {String} options.syncUrl sync url to get ht elatest locus delta
347
351
  * @returns {Promise}
348
352
  */
349
-
350
353
  }, {
351
354
  key: "syncMeeting",
352
355
  value: function syncMeeting(options) {
353
356
  /* eslint-disable no-else-return */
354
357
  var desync = options.desync;
355
358
  var syncUrl = options.syncUrl;
356
- /* istanbul ignore else */
357
359
 
360
+ /* istanbul ignore else */
358
361
  if (desync) {
359
362
  // check for existing URL parameters
360
363
  syncUrl = syncUrl.concat(syncUrl.split('?')[1] ? '&' : '?').concat("".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync));
361
- } // @ts-ignore
362
-
364
+ }
363
365
 
366
+ // @ts-ignore
364
367
  return this.request({
365
368
  method: _constants.HTTP_VERBS.GET,
366
369
  uri: syncUrl
367
370
  }) // TODO: Handle if delta sync failed . Get the full locus object
368
371
  .catch(function (err) {
369
372
  _loggerProxy.default.logger.error("Meeting:request#syncMeeting --> Error syncing meeting, error ".concat(err));
370
-
371
373
  return err;
372
374
  });
373
375
  }
376
+
374
377
  /**
375
378
  * Request to get the complete locus object
376
379
  * @param {Object} options
@@ -378,31 +381,28 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
378
381
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
379
382
  * @returns {Promise}
380
383
  */
381
-
382
384
  }, {
383
385
  key: "getFullLocus",
384
386
  value: function getFullLocus(options) {
385
387
  var locusUrl = options.locusUrl;
386
388
  var desync = options.desync;
387
-
388
389
  if (locusUrl) {
389
390
  if (desync) {
390
391
  locusUrl += "?".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync);
391
- } // @ts-ignore
392
-
392
+ }
393
393
 
394
+ // @ts-ignore
394
395
  return this.request({
395
396
  method: _constants.HTTP_VERBS.GET,
396
397
  uri: locusUrl
397
398
  }).catch(function (err) {
398
399
  _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
399
-
400
400
  return err;
401
401
  });
402
402
  }
403
-
404
403
  return _promise.default.reject();
405
404
  }
405
+
406
406
  /**
407
407
  * Make a network request to make a provisioned phone leave the meeting
408
408
  * @param {Object} options
@@ -413,17 +413,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
413
413
  * @returns {Promise}
414
414
  * @private
415
415
  */
416
-
417
416
  }, {
418
417
  key: "disconnectPhoneAudio",
419
- value: function disconnectPhoneAudio(_ref4) {
420
- var locusUrl = _ref4.locusUrl,
421
- phoneUrl = _ref4.phoneUrl,
422
- correlationId = _ref4.correlationId,
423
- selfId = _ref4.selfId;
424
-
418
+ value: function disconnectPhoneAudio(_ref5) {
419
+ var locusUrl = _ref5.locusUrl,
420
+ phoneUrl = _ref5.phoneUrl,
421
+ correlationId = _ref5.correlationId,
422
+ selfId = _ref5.selfId;
425
423
  _loggerProxy.default.logger.info("Meeting:request#disconnectPhoneAudio --> request phone ".concat(phoneUrl, " to leave"), correlationId);
426
-
427
424
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
428
425
  var body = {
429
426
  device: {
@@ -431,18 +428,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
431
428
  url: phoneUrl
432
429
  },
433
430
  correlationId: correlationId
434
- }; // @ts-ignore
431
+ };
435
432
 
433
+ // @ts-ignore
436
434
  return this.request({
437
435
  method: _constants.HTTP_VERBS.PUT,
438
436
  uri: uri,
439
437
  body: body
440
438
  }).catch(function (err) {
441
439
  _loggerProxy.default.logger.error("Meeting:request#disconnectPhoneAudio --> Error when requesting phone ".concat(phoneUrl, " to leave, error ").concat(err));
442
-
443
440
  throw err;
444
441
  });
445
442
  }
443
+
446
444
  /**
447
445
  * Make a network request to leave a meeting
448
446
  * @param {Object} options
@@ -453,18 +451,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
453
451
  * @param {String} options.correlationId
454
452
  * @returns {Promise}
455
453
  */
456
-
457
454
  }, {
458
455
  key: "leaveMeeting",
459
- value: function leaveMeeting(_ref5) {
460
- var locusUrl = _ref5.locusUrl,
461
- selfId = _ref5.selfId,
462
- url = _ref5.deviceUrl,
463
- resourceId = _ref5.resourceId,
464
- correlationId = _ref5.correlationId;
465
-
456
+ value: function leaveMeeting(_ref6) {
457
+ var locusUrl = _ref6.locusUrl,
458
+ selfId = _ref6.selfId,
459
+ url = _ref6.deviceUrl,
460
+ resourceId = _ref6.resourceId,
461
+ correlationId = _ref6.correlationId;
466
462
  _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
467
-
468
463
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
469
464
  var body = {
470
465
  device: {
@@ -474,14 +469,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
474
469
  },
475
470
  usingResource: resourceId || null,
476
471
  correlationId: correlationId
477
- }; // @ts-ignore
472
+ };
478
473
 
474
+ // @ts-ignore
479
475
  return this.request({
480
476
  method: _constants.HTTP_VERBS.PUT,
481
477
  uri: uri,
482
478
  body: body
483
479
  });
484
480
  }
481
+
485
482
  /**
486
483
  * Make a network request to acknowledge a meeting
487
484
  * @param {Object} options
@@ -490,7 +487,6 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
490
487
  * @param {String} options.correlationId
491
488
  * @returns {Promise}
492
489
  */
493
-
494
490
  }, {
495
491
  key: "acknowledgeMeeting",
496
492
  value: function acknowledgeMeeting(options) {
@@ -502,40 +498,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
502
498
  url: options.deviceUrl
503
499
  },
504
500
  correlationId: options.correlationId
505
- }; // @ts-ignore
501
+ };
506
502
 
503
+ // @ts-ignore
507
504
  return this.request({
508
505
  method: _constants.HTTP_VERBS.PUT,
509
506
  uri: uri,
510
507
  body: body
511
508
  });
512
509
  }
513
- /**
514
- * Make a network request to acknowledge a meeting
515
- * @param {Object} options
516
- * @param {String} options.locusUrl
517
- * @param {String} options.deviceUrl
518
- * @param {String} options.id
519
- * @returns {Promise}
520
- */
521
-
522
- }, {
523
- key: "recordMeeting",
524
- value: function recordMeeting(options) {
525
- var uri = "".concat(options.locusUrl, "/").concat(_constants.CONTROLS);
526
- var body = {
527
- record: {
528
- recording: options.recording,
529
- paused: options.paused
530
- }
531
- }; // @ts-ignore
532
-
533
- return this.request({
534
- method: _constants.HTTP_VERBS.PATCH,
535
- uri: uri,
536
- body: body
537
- });
538
- }
539
510
  }, {
540
511
  key: "lockMeeting",
541
512
  value: function lockMeeting(options) {
@@ -544,14 +515,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
544
515
  lock: {
545
516
  locked: options.lock
546
517
  }
547
- }; // @ts-ignore
518
+ };
548
519
 
520
+ // @ts-ignore
549
521
  return this.request({
550
522
  method: _constants.HTTP_VERBS.PATCH,
551
523
  uri: uri,
552
524
  body: body
553
525
  });
554
526
  }
527
+
555
528
  /**
556
529
  * Make a network request to decline a meeting
557
530
  * @param {Object} options
@@ -560,12 +533,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
560
533
  * @param {String} options.reason
561
534
  * @returns {Promise}
562
535
  */
563
-
564
536
  }, {
565
537
  key: "declineMeeting",
566
538
  value: function declineMeeting(options) {
567
539
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(_constants.DECLINE);
568
-
569
540
  var body = _objectSpread({
570
541
  device: {
571
542
  // @ts-ignore
@@ -574,15 +545,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
574
545
  }
575
546
  }, options.reason && {
576
547
  reason: options.reason
577
- }); // @ts-ignore
578
-
548
+ });
579
549
 
550
+ // @ts-ignore
580
551
  return this.request({
581
552
  method: _constants.HTTP_VERBS.PUT,
582
553
  uri: uri,
583
554
  body: body
584
555
  });
585
556
  }
557
+
586
558
  /**
587
559
  * Toggle remote audio and/or video
588
560
  * @param {Object} options options for toggling
@@ -594,12 +566,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
594
566
  * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
595
567
  * @returns {Promise}
596
568
  */
597
-
598
569
  }, {
599
570
  key: "remoteAudioVideoToggle",
600
571
  value: function remoteAudioVideoToggle(options) {
601
572
  var _options$preferTransc;
602
-
603
573
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(options.selfId, "/").concat(_constants.MEDIA);
604
574
  var body = {
605
575
  device: {
@@ -614,14 +584,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
614
584
  clientMediaPreferences: {
615
585
  preferTranscoding: (_options$preferTransc = options.preferTranscoding) !== null && _options$preferTransc !== void 0 ? _options$preferTransc : true
616
586
  }
617
- }; // @ts-ignore
587
+ };
618
588
 
589
+ // @ts-ignore
619
590
  return this.request({
620
591
  method: _constants.HTTP_VERBS.PUT,
621
592
  uri: uri,
622
593
  body: body
623
594
  });
624
595
  }
596
+
625
597
  /**
626
598
  * change the content floor grant
627
599
  * @param {Object} options options for floor grant
@@ -632,15 +604,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
632
604
  * @param {String} options.uri floor grant uri
633
605
  * @returns {Promise}
634
606
  */
635
-
636
607
  }, {
637
608
  key: "changeMeetingFloor",
638
609
  value: function changeMeetingFloor(options) {
639
610
  var floorReq = {
640
611
  disposition: options.disposition
641
612
  };
642
- /* istanbul ignore else */
643
613
 
614
+ /* istanbul ignore else */
644
615
  if (options.disposition === _constants.FLOOR_ACTION.GRANTED) {
645
616
  floorReq = {
646
617
  beneficiary: {
@@ -657,23 +628,25 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
657
628
  }
658
629
  };
659
630
  }
660
-
661
631
  var body = {
662
632
  floor: floorReq,
663
633
  resourceUrl: options.resourceUrl
664
634
  };
665
-
666
635
  if (options !== null && options !== void 0 && options.resourceToken) {
667
636
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
668
- } // @ts-ignore
669
-
637
+ }
638
+ if (options !== null && options !== void 0 && options.annotation) {
639
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotation;
640
+ }
670
641
 
642
+ // @ts-ignore
671
643
  return this.request({
672
644
  uri: options.uri,
673
645
  method: _constants.HTTP_VERBS.PUT,
674
646
  body: body
675
647
  });
676
648
  }
649
+
677
650
  /**
678
651
  * Sends a request to the DTMF endpoint to send tones
679
652
  * @param {Object} options
@@ -682,13 +655,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
682
655
  * @param {String} options.tones a string of one or more DTMF tones to send
683
656
  * @returns {Promise}
684
657
  */
685
-
686
658
  }, {
687
659
  key: "sendDTMF",
688
- value: function sendDTMF(_ref6) {
689
- var locusUrl = _ref6.locusUrl,
690
- deviceUrl = _ref6.deviceUrl,
691
- tones = _ref6.tones;
660
+ value: function sendDTMF(_ref7) {
661
+ var locusUrl = _ref7.locusUrl,
662
+ deviceUrl = _ref7.deviceUrl,
663
+ tones = _ref7.tones;
692
664
  // @ts-ignore
693
665
  return this.request({
694
666
  method: _constants.HTTP_VERBS.POST,
@@ -702,6 +674,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
702
674
  }
703
675
  });
704
676
  }
677
+
705
678
  /**
706
679
  * Sends a request to the controls endpoint to set the video layout
707
680
  * @param {Object} options
@@ -716,25 +689,21 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
716
689
  * @param {Number} options.content.height preferred height of content share stream
717
690
  * @returns {Promise}
718
691
  */
719
-
720
692
  }, {
721
693
  key: "changeVideoLayout",
722
- value: function changeVideoLayout(_ref7) {
723
- var locusUrl = _ref7.locusUrl,
724
- deviceUrl = _ref7.deviceUrl,
725
- layoutType = _ref7.layoutType,
726
- main = _ref7.main,
727
- content = _ref7.content;
728
-
694
+ value: function changeVideoLayout(_ref8) {
695
+ var locusUrl = _ref8.locusUrl,
696
+ deviceUrl = _ref8.deviceUrl,
697
+ layoutType = _ref8.layoutType,
698
+ main = _ref8.main,
699
+ content = _ref8.content;
729
700
  // send main/content renderInfo only if both width and height are specified
730
701
  if (main && (!main.width || !main.height)) {
731
702
  return _promise.default.reject(new Error("Both width and height must be specified. One of them is missing for main: ".concat((0, _stringify.default)(main))));
732
703
  }
733
-
734
704
  if (content && (!content.width || !content.height)) {
735
705
  return _promise.default.reject(new Error("Both width and height must be specified. One of them is missing for content: ".concat((0, _stringify.default)(content))));
736
706
  }
737
-
738
707
  var renderInfoMain = main ? {
739
708
  width: main.width,
740
709
  height: main.height
@@ -748,8 +717,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
748
717
  main: renderInfoMain,
749
718
  content: renderInfoContent
750
719
  }
751
- } : undefined; // @ts-ignore
720
+ } : undefined;
752
721
 
722
+ // @ts-ignore
753
723
  return this.request({
754
724
  method: _constants.HTTP_VERBS.PUT,
755
725
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
@@ -762,44 +732,109 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
762
732
  }
763
733
  });
764
734
  }
735
+
765
736
  /**
766
737
  * Make a network request to end meeting for all
767
738
  * @param {Object} options
768
739
  * @param {Url} options.locusUrl
769
740
  * @returns {Promise}
770
741
  */
771
-
772
742
  }, {
773
743
  key: "endMeetingForAll",
774
- value: function endMeetingForAll(_ref8) {
775
- var locusUrl = _ref8.locusUrl;
776
- var uri = "".concat(locusUrl, "/").concat(_constants.END); // @ts-ignore
744
+ value: function endMeetingForAll(_ref9) {
745
+ var locusUrl = _ref9.locusUrl;
746
+ var uri = "".concat(locusUrl, "/").concat(_constants.END);
777
747
 
748
+ // @ts-ignore
778
749
  return this.request({
779
750
  method: _constants.HTTP_VERBS.POST,
780
751
  uri: uri
781
752
  });
782
753
  }
754
+
783
755
  /**
784
756
  * Send a locus keepAlive (used in lobby)
785
757
  * @param {Object} options
786
758
  * @param {Url} options.keepAliveUrl
787
759
  * @returns {Promise}
788
760
  */
789
-
790
761
  }, {
791
762
  key: "keepAlive",
792
- value: function keepAlive(_ref9) {
793
- var keepAliveUrl = _ref9.keepAliveUrl;
763
+ value: function keepAlive(_ref10) {
764
+ var keepAliveUrl = _ref10.keepAliveUrl;
794
765
  // @ts-ignore
795
766
  return this.request({
796
767
  method: _constants.HTTP_VERBS.GET,
797
768
  uri: keepAliveUrl
798
769
  });
799
770
  }
771
+
772
+ /**
773
+ * Make a network request to send a reaction.
774
+ * @param {Object} options
775
+ * @param {Url} options.reactionChannelUrl
776
+ * @param {Reaction} options.reaction
777
+ * @param {string} options.senderID
778
+ * @returns {Promise}
779
+ */
780
+ }, {
781
+ key: "sendReaction",
782
+ value: function sendReaction(_ref11) {
783
+ var reactionChannelUrl = _ref11.reactionChannelUrl,
784
+ reaction = _ref11.reaction,
785
+ participantId = _ref11.participantId;
786
+ var uri = reactionChannelUrl;
787
+
788
+ // @ts-ignore
789
+ return this.request({
790
+ method: _constants.HTTP_VERBS.POST,
791
+ uri: uri,
792
+ body: {
793
+ sender: {
794
+ participantId: participantId
795
+ },
796
+ reaction: reaction
797
+ }
798
+ });
799
+ }
800
+
801
+ /**
802
+ * Make a network request to enable or disable reactions.
803
+ * @param {boolean} options.enable - determines if we need to enable or disable.
804
+ * @param {locusUrl} options.locusUrl
805
+ * @returns {Promise}
806
+ */
807
+ }, {
808
+ key: "toggleReactions",
809
+ value: function toggleReactions(_ref12) {
810
+ var enable = _ref12.enable,
811
+ locusUrl = _ref12.locusUrl,
812
+ requestingParticipantId = _ref12.requestingParticipantId;
813
+ var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
814
+
815
+ // @ts-ignore
816
+ return this.request({
817
+ method: _constants.HTTP_VERBS.PUT,
818
+ uri: uri,
819
+ body: {
820
+ reactions: {
821
+ enabled: enable
822
+ },
823
+ requestingParticipantId: requestingParticipantId
824
+ }
825
+ });
826
+ }
827
+ }, {
828
+ key: "getLocusStatusByUrl",
829
+ value: function getLocusStatusByUrl(locusUrl) {
830
+ // @ts-ignore
831
+ return this.request({
832
+ method: _constants.HTTP_VERBS.GET,
833
+ uri: locusUrl
834
+ });
835
+ }
800
836
  }]);
801
837
  return MeetingRequest;
802
838
  }(_webexCore.StatelessWebexPlugin);
803
-
804
839
  exports.default = MeetingRequest;
805
840
  //# sourceMappingURL=request.js.map