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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +116 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/index.js +226 -0
  8. package/dist/breakouts/index.js.map +1 -0
  9. package/dist/common/browser-detection.js +1 -20
  10. package/dist/common/browser-detection.js.map +1 -1
  11. package/dist/common/collection.js +5 -20
  12. package/dist/common/collection.js.map +1 -1
  13. package/dist/common/config.js +0 -7
  14. package/dist/common/config.js.map +1 -1
  15. package/dist/common/errors/captcha-error.js +10 -24
  16. package/dist/common/errors/captcha-error.js.map +1 -1
  17. package/dist/common/errors/intent-to-join.js +11 -24
  18. package/dist/common/errors/intent-to-join.js.map +1 -1
  19. package/dist/common/errors/join-meeting.js +12 -25
  20. package/dist/common/errors/join-meeting.js.map +1 -1
  21. package/dist/common/errors/media.js +10 -24
  22. package/dist/common/errors/media.js.map +1 -1
  23. package/dist/common/errors/parameter.js +5 -33
  24. package/dist/common/errors/parameter.js.map +1 -1
  25. package/dist/common/errors/password-error.js +10 -24
  26. package/dist/common/errors/password-error.js.map +1 -1
  27. package/dist/common/errors/permission.js +9 -23
  28. package/dist/common/errors/permission.js.map +1 -1
  29. package/dist/common/errors/reconnection-in-progress.js +0 -17
  30. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  31. package/dist/common/errors/reconnection.js +10 -24
  32. package/dist/common/errors/reconnection.js.map +1 -1
  33. package/dist/common/errors/stats.js +10 -24
  34. package/dist/common/errors/stats.js.map +1 -1
  35. package/dist/common/errors/webex-errors.js +6 -41
  36. package/dist/common/errors/webex-errors.js.map +1 -1
  37. package/dist/common/errors/webex-meetings-error.js +5 -25
  38. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  39. package/dist/common/events/events-scope.js +0 -22
  40. package/dist/common/events/events-scope.js.map +1 -1
  41. package/dist/common/events/events.js +0 -23
  42. package/dist/common/events/events.js.map +1 -1
  43. package/dist/common/events/trigger-proxy.js +0 -12
  44. package/dist/common/events/trigger-proxy.js.map +1 -1
  45. package/dist/common/events/util.js +0 -15
  46. package/dist/common/events/util.js.map +1 -1
  47. package/dist/common/logs/logger-config.js +0 -4
  48. package/dist/common/logs/logger-config.js.map +1 -1
  49. package/dist/common/logs/logger-proxy.js +1 -8
  50. package/dist/common/logs/logger-proxy.js.map +1 -1
  51. package/dist/common/logs/request.js +37 -60
  52. package/dist/common/logs/request.js.map +1 -1
  53. package/dist/common/queue.js +4 -14
  54. package/dist/common/queue.js.map +1 -1
  55. package/dist/config.js +6 -6
  56. package/dist/config.js.map +1 -1
  57. package/dist/constants.js +88 -46
  58. package/dist/constants.js.map +1 -1
  59. package/dist/index.js +1 -17
  60. package/dist/index.js.map +1 -1
  61. package/dist/locus-info/controlsUtils.js +12 -29
  62. package/dist/locus-info/controlsUtils.js.map +1 -1
  63. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  64. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  65. package/dist/locus-info/fullState.js +0 -15
  66. package/dist/locus-info/fullState.js.map +1 -1
  67. package/dist/locus-info/hostUtils.js +4 -12
  68. package/dist/locus-info/hostUtils.js.map +1 -1
  69. package/dist/locus-info/index.js +184 -190
  70. package/dist/locus-info/index.js.map +1 -1
  71. package/dist/locus-info/infoUtils.js +3 -37
  72. package/dist/locus-info/infoUtils.js.map +1 -1
  73. package/dist/locus-info/mediaSharesUtils.js +12 -38
  74. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  75. package/dist/locus-info/parser.js +92 -118
  76. package/dist/locus-info/parser.js.map +1 -1
  77. package/dist/locus-info/selfUtils.js +34 -91
  78. package/dist/locus-info/selfUtils.js.map +1 -1
  79. package/dist/media/index.js +67 -111
  80. package/dist/media/index.js.map +1 -1
  81. package/dist/media/properties.js +80 -114
  82. package/dist/media/properties.js.map +1 -1
  83. package/dist/media/util.js +2 -9
  84. package/dist/media/util.js.map +1 -1
  85. package/dist/mediaQualityMetrics/config.js +10 -12
  86. package/dist/mediaQualityMetrics/config.js.map +1 -1
  87. package/dist/meeting/effectsState.js +125 -190
  88. package/dist/meeting/effectsState.js.map +1 -1
  89. package/dist/meeting/in-meeting-actions.js +5 -14
  90. package/dist/meeting/in-meeting-actions.js.map +1 -1
  91. package/dist/meeting/index.js +1692 -1925
  92. package/dist/meeting/index.js.map +1 -1
  93. package/dist/meeting/muteState.js +36 -77
  94. package/dist/meeting/muteState.js.map +1 -1
  95. package/dist/meeting/request.js +224 -230
  96. package/dist/meeting/request.js.map +1 -1
  97. package/dist/meeting/request.type.js +7 -0
  98. package/dist/meeting/request.type.js.map +1 -0
  99. package/dist/meeting/state.js +21 -31
  100. package/dist/meeting/state.js.map +1 -1
  101. package/dist/meeting/util.js +43 -215
  102. package/dist/meeting/util.js.map +1 -1
  103. package/dist/meeting-info/collection.js +6 -25
  104. package/dist/meeting-info/collection.js.map +1 -1
  105. package/dist/meeting-info/index.js +14 -32
  106. package/dist/meeting-info/index.js.map +1 -1
  107. package/dist/meeting-info/meeting-info-v2.js +193 -268
  108. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  109. package/dist/meeting-info/request.js +3 -15
  110. package/dist/meeting-info/request.js.map +1 -1
  111. package/dist/meeting-info/util.js +98 -183
  112. package/dist/meeting-info/util.js.map +1 -1
  113. package/dist/meeting-info/utilv2.js +137 -228
  114. package/dist/meeting-info/utilv2.js.map +1 -1
  115. package/dist/meetings/collection.js +5 -20
  116. package/dist/meetings/collection.js.map +1 -1
  117. package/dist/meetings/index.js +490 -560
  118. package/dist/meetings/index.js.map +1 -1
  119. package/dist/meetings/request.js +24 -41
  120. package/dist/meetings/request.js.map +1 -1
  121. package/dist/meetings/util.js +99 -155
  122. package/dist/meetings/util.js.map +1 -1
  123. package/dist/member/index.js +78 -86
  124. package/dist/member/index.js.map +1 -1
  125. package/dist/member/util.js +31 -68
  126. package/dist/member/util.js.map +1 -1
  127. package/dist/members/collection.js +3 -12
  128. package/dist/members/collection.js.map +1 -1
  129. package/dist/members/index.js +93 -200
  130. package/dist/members/index.js.map +1 -1
  131. package/dist/members/request.js +16 -39
  132. package/dist/members/request.js.map +1 -1
  133. package/dist/members/util.js +9 -38
  134. package/dist/members/util.js.map +1 -1
  135. package/dist/metrics/config.js +0 -2
  136. package/dist/metrics/config.js.map +1 -1
  137. package/dist/metrics/constants.js +1 -2
  138. package/dist/metrics/constants.js.map +1 -1
  139. package/dist/metrics/index.js +55 -135
  140. package/dist/metrics/index.js.map +1 -1
  141. package/dist/multistream/mediaRequestManager.js +57 -32
  142. package/dist/multistream/mediaRequestManager.js.map +1 -1
  143. package/dist/multistream/multistreamMedia.js +15 -21
  144. package/dist/multistream/multistreamMedia.js.map +1 -1
  145. package/dist/multistream/receiveSlot.js +10 -50
  146. package/dist/multistream/receiveSlot.js.map +1 -1
  147. package/dist/multistream/receiveSlotManager.js +45 -82
  148. package/dist/multistream/receiveSlotManager.js.map +1 -1
  149. package/dist/multistream/remoteMedia.js +18 -58
  150. package/dist/multistream/remoteMedia.js.map +1 -1
  151. package/dist/multistream/remoteMediaGroup.js +6 -40
  152. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  153. package/dist/multistream/remoteMediaManager.js +362 -416
  154. package/dist/multistream/remoteMediaManager.js.map +1 -1
  155. package/dist/networkQualityMonitor/index.js +36 -57
  156. package/dist/networkQualityMonitor/index.js.map +1 -1
  157. package/dist/personal-meeting-room/index.js +21 -45
  158. package/dist/personal-meeting-room/index.js.map +1 -1
  159. package/dist/personal-meeting-room/request.js +1 -31
  160. package/dist/personal-meeting-room/request.js.map +1 -1
  161. package/dist/personal-meeting-room/util.js +0 -13
  162. package/dist/personal-meeting-room/util.js.map +1 -1
  163. package/dist/reachability/index.js +138 -182
  164. package/dist/reachability/index.js.map +1 -1
  165. package/dist/reachability/request.js +3 -18
  166. package/dist/reachability/request.js.map +1 -1
  167. package/dist/reactions/constants.js +13 -0
  168. package/dist/reactions/constants.js.map +1 -0
  169. package/dist/reactions/reactions.js +109 -0
  170. package/dist/reactions/reactions.js.map +1 -0
  171. package/dist/reactions/reactions.type.js +36 -0
  172. package/dist/reactions/reactions.type.js.map +1 -0
  173. package/dist/reconnection-manager/index.js +322 -455
  174. package/dist/reconnection-manager/index.js.map +1 -1
  175. package/dist/recording-controller/enums.js +17 -0
  176. package/dist/recording-controller/enums.js.map +1 -0
  177. package/dist/recording-controller/index.js +343 -0
  178. package/dist/recording-controller/index.js.map +1 -0
  179. package/dist/recording-controller/util.js +63 -0
  180. package/dist/recording-controller/util.js.map +1 -0
  181. package/dist/roap/index.js +39 -64
  182. package/dist/roap/index.js.map +1 -1
  183. package/dist/roap/request.js +94 -113
  184. package/dist/roap/request.js.map +1 -1
  185. package/dist/roap/turnDiscovery.js +85 -94
  186. package/dist/roap/turnDiscovery.js.map +1 -1
  187. package/dist/statsAnalyzer/global.js +0 -2
  188. package/dist/statsAnalyzer/global.js.map +1 -1
  189. package/dist/statsAnalyzer/index.js +85 -175
  190. package/dist/statsAnalyzer/index.js.map +1 -1
  191. package/dist/statsAnalyzer/mqaUtil.js +72 -53
  192. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  193. package/dist/transcription/index.js +22 -47
  194. package/dist/transcription/index.js.map +1 -1
  195. package/internal-README.md +7 -6
  196. package/package.json +25 -20
  197. package/src/breakouts/README.md +190 -0
  198. package/src/breakouts/breakout.ts +110 -0
  199. package/src/breakouts/collection.ts +19 -0
  200. package/src/breakouts/index.ts +225 -0
  201. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  202. package/src/common/collection.ts +9 -7
  203. package/src/common/{config.js → config.ts} +1 -1
  204. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  205. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  206. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  207. package/src/common/errors/{media.js → media.ts} +11 -7
  208. package/src/common/errors/parameter.ts +11 -7
  209. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  210. package/src/common/errors/{permission.js → permission.ts} +10 -6
  211. package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
  212. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  213. package/src/common/errors/{stats.js → stats.ts} +11 -7
  214. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  215. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  216. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  217. package/src/common/events/{events.js → events.ts} +5 -1
  218. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  219. package/src/common/events/{util.js → util.ts} +2 -3
  220. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  221. package/src/common/logs/logger-proxy.ts +44 -0
  222. package/src/common/logs/{request.js → request.ts} +22 -9
  223. package/src/common/queue.ts +1 -2
  224. package/src/{config.js → config.ts} +17 -12
  225. package/src/constants.ts +40 -1
  226. package/src/index.js +1 -1
  227. package/src/locus-info/controlsUtils.ts +114 -0
  228. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  229. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  230. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  231. package/src/locus-info/{index.js → index.ts} +148 -64
  232. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  233. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  234. package/src/locus-info/{parser.js → parser.ts} +67 -79
  235. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  236. package/src/media/{index.js → index.ts} +181 -131
  237. package/src/media/{properties.js → properties.ts} +47 -28
  238. package/src/media/{util.js → util.ts} +2 -2
  239. package/src/mediaQualityMetrics/{config.js → config.ts} +46 -46
  240. package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
  241. package/src/meeting/in-meeting-actions.ts +15 -3
  242. package/src/meeting/{index.js → index.ts} +2263 -1427
  243. package/src/meeting/{muteState.js → muteState.ts} +78 -42
  244. package/src/meeting/{request.js → request.ts} +292 -142
  245. package/src/meeting/request.type.ts +13 -0
  246. package/src/meeting/{state.js → state.ts} +50 -35
  247. package/src/meeting/{util.js → util.ts} +112 -115
  248. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  249. package/src/meeting-info/{index.js → index.ts} +42 -36
  250. package/src/meeting-info/meeting-info-v2.ts +273 -0
  251. package/src/meeting-info/{request.js → request.ts} +14 -4
  252. package/src/meeting-info/{util.js → util.ts} +60 -51
  253. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  254. package/src/meetings/{collection.js → collection.ts} +6 -3
  255. package/src/meetings/index.ts +1159 -0
  256. package/src/meetings/{request.js → request.ts} +32 -25
  257. package/src/meetings/{util.js → util.ts} +34 -32
  258. package/src/member/{index.js → index.ts} +102 -56
  259. package/src/member/{util.js → util.ts} +52 -25
  260. package/src/members/{collection.js → collection.ts} +2 -2
  261. package/src/members/{index.js → index.ts} +219 -142
  262. package/src/members/{request.js → request.ts} +60 -16
  263. package/src/members/{util.js → util.ts} +50 -48
  264. package/src/metrics/{config.js → config.ts} +254 -83
  265. package/src/metrics/{constants.js → constants.ts} +0 -2
  266. package/src/metrics/{index.js → index.ts} +106 -74
  267. package/src/multistream/mediaRequestManager.ts +81 -15
  268. package/src/multistream/multistreamMedia.ts +5 -0
  269. package/src/multistream/receiveSlot.ts +18 -12
  270. package/src/multistream/receiveSlotManager.ts +23 -21
  271. package/src/multistream/remoteMedia.ts +15 -5
  272. package/src/multistream/remoteMediaGroup.ts +4 -3
  273. package/src/multistream/remoteMediaManager.ts +153 -37
  274. package/src/networkQualityMonitor/{index.js → index.ts} +37 -25
  275. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  276. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  277. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  278. package/src/reachability/{index.js → index.ts} +99 -83
  279. package/src/reachability/request.ts +39 -33
  280. package/src/reactions/constants.ts +4 -0
  281. package/src/reactions/reactions.ts +104 -0
  282. package/src/reactions/reactions.type.ts +62 -0
  283. package/src/reconnection-manager/{index.js → index.ts} +195 -102
  284. package/src/recording-controller/enums.ts +8 -0
  285. package/src/recording-controller/index.ts +315 -0
  286. package/src/recording-controller/util.ts +58 -0
  287. package/src/roap/{index.js → index.ts} +73 -56
  288. package/src/roap/request.ts +157 -0
  289. package/src/roap/turnDiscovery.ts +77 -37
  290. package/src/statsAnalyzer/{global.js → global.ts} +30 -33
  291. package/src/statsAnalyzer/{index.js → index.ts} +468 -192
  292. package/src/statsAnalyzer/mqaUtil.ts +290 -0
  293. package/src/transcription/{index.js → index.ts} +46 -39
  294. package/test/integration/spec/journey.js +664 -463
  295. package/test/integration/spec/space-meeting.js +320 -206
  296. package/test/integration/spec/transcription.js +7 -8
  297. package/test/unit/spec/breakouts/breakout.ts +119 -0
  298. package/test/unit/spec/breakouts/collection.ts +15 -0
  299. package/test/unit/spec/breakouts/index.ts +293 -0
  300. package/test/unit/spec/common/browser-detection.js +9 -28
  301. package/test/unit/spec/fixture/locus.js +92 -90
  302. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  303. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  304. package/test/unit/spec/locus-info/index.js +104 -2
  305. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  306. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  307. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  308. package/test/unit/spec/locus-info/parser.js +3 -9
  309. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  310. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  311. package/test/unit/spec/media/index.ts +31 -47
  312. package/test/unit/spec/media/properties.ts +9 -9
  313. package/test/unit/spec/meeting/effectsState.js +39 -45
  314. package/test/unit/spec/meeting/in-meeting-actions.ts +5 -2
  315. package/test/unit/spec/meeting/index.js +2017 -742
  316. package/test/unit/spec/meeting/muteState.js +42 -33
  317. package/test/unit/spec/meeting/request.js +115 -44
  318. package/test/unit/spec/meeting/utils.js +104 -171
  319. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  320. package/test/unit/spec/meeting-info/request.js +7 -9
  321. package/test/unit/spec/meeting-info/util.js +11 -12
  322. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  323. package/test/unit/spec/meetings/collection.js +1 -1
  324. package/test/unit/spec/meetings/index.js +439 -257
  325. package/test/unit/spec/meetings/utils.js +14 -12
  326. package/test/unit/spec/member/index.js +0 -1
  327. package/test/unit/spec/member/util.js +31 -7
  328. package/test/unit/spec/members/index.js +104 -54
  329. package/test/unit/spec/members/request.js +29 -20
  330. package/test/unit/spec/members/utils.js +8 -5
  331. package/test/unit/spec/metrics/index.js +16 -21
  332. package/test/unit/spec/multistream/mediaRequestManager.ts +316 -50
  333. package/test/unit/spec/multistream/receiveSlot.ts +6 -6
  334. package/test/unit/spec/multistream/receiveSlotManager.ts +13 -13
  335. package/test/unit/spec/multistream/remoteMedia.ts +10 -2
  336. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  337. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  338. package/test/unit/spec/networkQualityMonitor/index.js +21 -15
  339. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  340. package/test/unit/spec/reachability/index.ts +58 -26
  341. package/test/unit/spec/reconnection-manager/index.js +102 -9
  342. package/test/unit/spec/recording-controller/index.js +231 -0
  343. package/test/unit/spec/recording-controller/util.js +102 -0
  344. package/test/unit/spec/roap/index.ts +2 -1
  345. package/test/unit/spec/roap/request.ts +114 -0
  346. package/test/unit/spec/roap/turnDiscovery.ts +64 -45
  347. package/test/unit/spec/stats-analyzer/index.js +27 -22
  348. package/test/utils/cmr.js +44 -42
  349. package/test/utils/testUtils.js +83 -74
  350. package/test/utils/webex-config.js +18 -18
  351. package/test/utils/webex-test-users.js +54 -50
  352. package/tsconfig.json +6 -0
  353. package/dist/media/internal-media-core-wrapper.js +0 -22
  354. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  355. package/dist/peer-connection-manager/util.js +0 -124
  356. package/dist/peer-connection-manager/util.js.map +0 -1
  357. package/src/common/logs/logger-proxy.js +0 -33
  358. package/src/locus-info/controlsUtils.js +0 -102
  359. package/src/media/internal-media-core-wrapper.ts +0 -9
  360. package/src/meeting-info/meeting-info-v2.js +0 -255
  361. package/src/meetings/index.js +0 -1015
  362. package/src/peer-connection-manager/util.ts +0 -117
  363. package/src/roap/request.js +0 -127
  364. package/src/statsAnalyzer/mqaUtil.js +0 -173
  365. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
@@ -1,86 +1,56 @@
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
-
31
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
32
-
33
18
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
34
-
35
19
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
36
-
37
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
38
-
21
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
39
22
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
40
-
41
23
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
42
-
43
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
44
-
25
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
45
26
  var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
46
-
47
27
  var _uuid = _interopRequireDefault(require("uuid"));
48
-
49
28
  var _webexCore = require("@webex/webex-core");
50
-
51
29
  var _common = require("@webex/common");
52
-
53
30
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
54
-
55
31
  var _constants = require("../constants");
56
-
57
32
  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; }
58
-
59
33
  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; }
60
-
61
34
  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); }; }
62
-
63
35
  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; } }
64
-
65
36
  /**
66
37
  * @class MeetingRequest
67
38
  */
68
39
  var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
69
40
  (0, _inherits2.default)(MeetingRequest, _StatelessWebexPlugin);
70
-
71
41
  var _super = _createSuper(MeetingRequest);
72
-
73
42
  function MeetingRequest(attrs, options) {
74
43
  var _this;
75
-
76
44
  (0, _classCallCheck2.default)(this, MeetingRequest);
77
45
  _this = _super.call(this, attrs, options);
46
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeVideoLayoutDebounced", void 0);
78
47
  _this.changeVideoLayoutDebounced = (0, _debounce2.default)(_this.changeVideoLayout, 2000, {
79
48
  leading: true,
80
49
  trailing: true
81
50
  });
82
51
  return _this;
83
52
  }
53
+
84
54
  /**
85
55
  * Make a network request to join a meeting
86
56
  * @param {Object} options
@@ -94,126 +64,113 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
94
64
  * @param {boolean} options.pin
95
65
  * @param {boolean} options.moveToResource
96
66
  * @param {Object} options.roapMessage
67
+ * @param {boolean} options.breakoutsSupported
97
68
  * @returns {Promise}
98
69
  */
99
-
100
-
101
70
  (0, _createClass2.default)(MeetingRequest, [{
102
71
  key: "joinMeeting",
103
72
  value: function () {
104
73
  var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
105
- var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, url, body;
74
+ var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, breakoutsSupported, url, body;
106
75
  return _regenerator.default.wrap(function _callee$(_context) {
107
- while (1) {
108
- switch (_context.prev = _context.next) {
109
- case 0:
110
- 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;
111
-
112
- _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
113
-
114
- url = '';
115
- body = {
116
- asResourceOccupant: asResourceOccupant,
117
- device: {
118
- url: deviceUrl,
119
- deviceType: this.config.meetings.deviceType
120
- },
121
- usingResource: resourceId || null,
122
- moveMediaToResource: resourceId && moveToResource || false,
123
- correlationId: correlationId,
124
- respOnlySdp: true,
125
- allowMultiDevice: true,
126
- ensureConversation: ensureConversation || false,
127
- supportsNativeLobby: 1,
128
- clientMediaPreferences: {
129
- preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true
130
- }
131
- };
132
-
133
- if (this.webex.meetings.clientRegion) {
134
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
135
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
136
- }
137
-
138
- if (moderator !== undefined) {
139
- body.moderator = moderator;
140
- }
141
-
142
- if (permissionToken) {
143
- body.permissionToken = permissionToken;
144
- }
145
-
146
- if (pin !== undefined) {
147
- body.pin = pin;
148
- }
149
-
150
- if (!locusUrl) {
151
- _context.next = 12;
152
- break;
76
+ while (1) switch (_context.prev = _context.next) {
77
+ case 0:
78
+ 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;
79
+ _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
80
+ url = '';
81
+ body = {
82
+ asResourceOccupant: asResourceOccupant,
83
+ device: {
84
+ url: deviceUrl,
85
+ // @ts-ignore - config comes from registerPlugin
86
+ deviceType: this.config.meetings.deviceType
87
+ },
88
+ usingResource: resourceId || null,
89
+ moveMediaToResource: resourceId && moveToResource || false,
90
+ correlationId: correlationId,
91
+ respOnlySdp: true,
92
+ allowMultiDevice: true,
93
+ ensureConversation: ensureConversation || false,
94
+ supportsNativeLobby: 1,
95
+ clientMediaPreferences: {
96
+ preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true
153
97
  }
154
-
155
- url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
156
- _context.next = 24;
98
+ };
99
+ if (breakoutsSupported) {
100
+ body.deviceCapabilities = [_constants.BREAKOUTS.BREAKOUTS_SUPPORTED];
101
+ }
102
+
103
+ // @ts-ignore
104
+ if (this.webex.meetings.clientRegion) {
105
+ // @ts-ignore
106
+ body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
107
+ // @ts-ignore
108
+ body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
109
+ }
110
+ if (moderator !== undefined) {
111
+ body.moderator = moderator;
112
+ }
113
+ if (permissionToken) {
114
+ body.permissionToken = permissionToken;
115
+ }
116
+ if (pin !== undefined) {
117
+ body.pin = pin;
118
+ }
119
+ if (!locusUrl) {
120
+ _context.next = 13;
157
121
  break;
158
-
159
- case 12:
160
- if (!(inviteeAddress || meetingNumber)) {
161
- _context.next = 24;
162
- break;
163
- }
164
-
165
- _context.prev = 13;
166
- _context.next = 16;
167
- return this.webex.internal.services.waitForCatalog('postauth');
168
-
169
- case 16:
170
- url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
171
- body.invitee = {
172
- address: inviteeAddress || "wbxmn:".concat(meetingNumber)
173
- };
174
- _context.next = 24;
122
+ }
123
+ url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
124
+ _context.next = 25;
125
+ break;
126
+ case 13:
127
+ if (!(inviteeAddress || meetingNumber)) {
128
+ _context.next = 25;
175
129
  break;
176
-
177
- case 20:
178
- _context.prev = 20;
179
- _context.t0 = _context["catch"](13);
180
-
181
- _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context.t0));
182
-
183
- throw _context.t0;
184
-
185
- case 24:
186
- // TODO: -- this will be resolved in SDK request
187
- url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
188
-
189
- if (resourceId === inviteeAddress) {
190
- body.callPreferences = {
191
- requestedMedia: [_constants._SLIDES_]
192
- };
193
- }
194
-
195
- if (roapMessage) {
196
- body.localMedias = roapMessage.localMedias;
197
- }
198
-
199
- return _context.abrupt("return", this.request({
200
- method: _constants.HTTP_VERBS.POST,
201
- uri: url,
202
- body: body
203
- }));
204
-
205
- case 28:
206
- case "end":
207
- return _context.stop();
208
- }
130
+ }
131
+ _context.prev = 14;
132
+ _context.next = 17;
133
+ return this.webex.internal.services.waitForCatalog('postauth');
134
+ case 17:
135
+ // @ts-ignore
136
+ url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
137
+ body.invitee = {
138
+ address: inviteeAddress || "wbxmn:".concat(meetingNumber)
139
+ };
140
+ _context.next = 25;
141
+ break;
142
+ case 21:
143
+ _context.prev = 21;
144
+ _context.t0 = _context["catch"](14);
145
+ _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context.t0));
146
+ throw _context.t0;
147
+ case 25:
148
+ // TODO: -- this will be resolved in SDK request
149
+ url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
150
+ if (resourceId === inviteeAddress) {
151
+ body.callPreferences = {
152
+ requestedMedia: [_constants._SLIDES_]
153
+ };
154
+ }
155
+ if (roapMessage) {
156
+ body.localMedias = roapMessage.localMedias;
157
+ }
158
+
159
+ /// @ts-ignore
160
+ return _context.abrupt("return", this.request({
161
+ method: _constants.HTTP_VERBS.POST,
162
+ uri: url,
163
+ body: body
164
+ }));
165
+ case 29:
166
+ case "end":
167
+ return _context.stop();
209
168
  }
210
- }, _callee, this, [[13, 20]]);
169
+ }, _callee, this, [[14, 21]]);
211
170
  }));
212
-
213
171
  function joinMeeting(_x) {
214
172
  return _joinMeeting.apply(this, arguments);
215
173
  }
216
-
217
174
  return joinMeeting;
218
175
  }()
219
176
  /**
@@ -224,46 +181,44 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
224
181
  * @returns {Promise}
225
182
  * @private
226
183
  */
227
-
228
184
  }, {
229
185
  key: "refreshCaptcha",
230
186
  value: function refreshCaptcha(_ref) {
231
187
  var captchaRefreshUrl = _ref.captchaRefreshUrl,
232
- captchaId = _ref.captchaId;
188
+ captchaId = _ref.captchaId;
233
189
  var body = {
234
190
  captchaId: captchaId
235
191
  };
192
+
193
+ // @ts-ignore
236
194
  return this.request({
237
195
  method: _constants.HTTP_VERBS.POST,
238
196
  uri: captchaRefreshUrl,
239
197
  body: body
240
198
  }).catch(function (err) {
241
199
  _loggerProxy.default.logger.error("Meeting:request#refreshCaptcha --> Error: ".concat(err));
242
-
243
200
  throw err;
244
201
  });
245
202
  }
203
+
246
204
  /**
247
205
  * Make a network request to add a dial in device
248
206
  * @param {Object} options
249
207
  * @param {String} options.correlationId
250
- * @param {String} options.localUrl url for the meeting
208
+ * @param {String} options.locusUrl url for the meeting
251
209
  * @param {String} options.dialInUrl identifier for the to-be provisioned device
252
210
  * @param {String} options.clientUrl identifier for the web device
253
211
  * @returns {Promise}
254
212
  * @private
255
213
  */
256
-
257
214
  }, {
258
215
  key: "dialIn",
259
216
  value: function dialIn(_ref2) {
260
217
  var locusUrl = _ref2.locusUrl,
261
- dialInUrl = _ref2.dialInUrl,
262
- clientUrl = _ref2.clientUrl,
263
- correlationId = _ref2.correlationId;
264
-
218
+ dialInUrl = _ref2.dialInUrl,
219
+ clientUrl = _ref2.clientUrl,
220
+ correlationId = _ref2.correlationId;
265
221
  _loggerProxy.default.logger.info('Meeting:request#dialIn --> Provisioning a dial in device', correlationId);
266
-
267
222
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
268
223
  var body = {
269
224
  device: {
@@ -274,39 +229,38 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
274
229
  },
275
230
  correlationId: correlationId
276
231
  };
232
+
233
+ // @ts-ignore
277
234
  return this.request({
278
235
  method: _constants.HTTP_VERBS.POST,
279
236
  uri: uri,
280
237
  body: body
281
238
  }).catch(function (err) {
282
239
  _loggerProxy.default.logger.error("Meeting:request#dialIn --> Error provisioning a dial in device, error ".concat(err));
283
-
284
240
  throw err;
285
241
  });
286
242
  }
243
+
287
244
  /**
288
245
  * Make a network request to add a dial out device
289
246
  * @param {Object} options
290
247
  * @param {String} options.correlationId
291
- * @param {String} options.localUrl url for the meeting
248
+ * @param {String} options.locusUrl url for the meeting
292
249
  * @param {String} options.dialOutUrl identifier for the to-be provisioned device
293
250
  * @param {String} options.phoneNumber phone number to dial out to
294
251
  * @param {String} options.clientUrl identifier for the web device
295
252
  * @returns {Promise}
296
253
  * @private
297
254
  */
298
-
299
255
  }, {
300
256
  key: "dialOut",
301
257
  value: function dialOut(_ref3) {
302
258
  var locusUrl = _ref3.locusUrl,
303
- dialOutUrl = _ref3.dialOutUrl,
304
- phoneNumber = _ref3.phoneNumber,
305
- clientUrl = _ref3.clientUrl,
306
- correlationId = _ref3.correlationId;
307
-
259
+ dialOutUrl = _ref3.dialOutUrl,
260
+ phoneNumber = _ref3.phoneNumber,
261
+ clientUrl = _ref3.clientUrl,
262
+ correlationId = _ref3.correlationId;
308
263
  _loggerProxy.default.logger.info('Meeting:request#dialOut --> Provisioning a dial out device', correlationId);
309
-
310
264
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
311
265
  var body = {
312
266
  device: {
@@ -318,78 +272,78 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
318
272
  },
319
273
  correlationId: correlationId
320
274
  };
275
+
276
+ // @ts-ignore
321
277
  return this.request({
322
278
  method: _constants.HTTP_VERBS.POST,
323
279
  uri: uri,
324
280
  body: body
325
281
  }).catch(function (err) {
326
282
  _loggerProxy.default.logger.error("Meeting:request#dialOut --> Error provisioning a dial out device, error ".concat(err));
327
-
328
283
  throw err;
329
284
  });
330
285
  }
286
+
331
287
  /**
332
288
  * Syns the missed delta event
333
289
  * @param {Object} options
334
- * @param {boolen} options.desync flag to get partial or whole locus object
290
+ * @param {boolean} options.desync flag to get partial or whole locus object
335
291
  * @param {String} options.syncUrl sync url to get ht elatest locus delta
336
292
  * @returns {Promise}
337
293
  */
338
-
339
294
  }, {
340
295
  key: "syncMeeting",
341
296
  value: function syncMeeting(options) {
342
297
  /* eslint-disable no-else-return */
343
298
  var desync = options.desync;
344
299
  var syncUrl = options.syncUrl;
345
- /* istanbul ignore else */
346
300
 
301
+ /* istanbul ignore else */
347
302
  if (desync) {
348
303
  // check for existing URL parameters
349
304
  syncUrl = syncUrl.concat(syncUrl.split('?')[1] ? '&' : '?').concat("".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync));
350
305
  }
351
306
 
307
+ // @ts-ignore
352
308
  return this.request({
353
309
  method: _constants.HTTP_VERBS.GET,
354
310
  uri: syncUrl
355
311
  }) // TODO: Handle if delta sync failed . Get the full locus object
356
312
  .catch(function (err) {
357
313
  _loggerProxy.default.logger.error("Meeting:request#syncMeeting --> Error syncing meeting, error ".concat(err));
358
-
359
314
  return err;
360
315
  });
361
316
  }
317
+
362
318
  /**
363
319
  * Request to get the complete locus object
364
320
  * @param {Object} options
365
- * @param {boolen} options.desync flag to get partial or whole locus object
321
+ * @param {boolean} options.desync flag to get partial or whole locus object
366
322
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
367
323
  * @returns {Promise}
368
324
  */
369
-
370
325
  }, {
371
326
  key: "getFullLocus",
372
327
  value: function getFullLocus(options) {
373
328
  var locusUrl = options.locusUrl;
374
329
  var desync = options.desync;
375
-
376
330
  if (locusUrl) {
377
331
  if (desync) {
378
332
  locusUrl += "?".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync);
379
333
  }
380
334
 
335
+ // @ts-ignore
381
336
  return this.request({
382
337
  method: _constants.HTTP_VERBS.GET,
383
338
  uri: locusUrl
384
339
  }).catch(function (err) {
385
340
  _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
386
-
387
341
  return err;
388
342
  });
389
343
  }
390
-
391
344
  return _promise.default.reject();
392
345
  }
346
+
393
347
  /**
394
348
  * Make a network request to make a provisioned phone leave the meeting
395
349
  * @param {Object} options
@@ -400,17 +354,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
400
354
  * @returns {Promise}
401
355
  * @private
402
356
  */
403
-
404
357
  }, {
405
358
  key: "disconnectPhoneAudio",
406
359
  value: function disconnectPhoneAudio(_ref4) {
407
360
  var locusUrl = _ref4.locusUrl,
408
- phoneUrl = _ref4.phoneUrl,
409
- correlationId = _ref4.correlationId,
410
- selfId = _ref4.selfId;
411
-
361
+ phoneUrl = _ref4.phoneUrl,
362
+ correlationId = _ref4.correlationId,
363
+ selfId = _ref4.selfId;
412
364
  _loggerProxy.default.logger.info("Meeting:request#disconnectPhoneAudio --> request phone ".concat(phoneUrl, " to leave"), correlationId);
413
-
414
365
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
415
366
  var body = {
416
367
  device: {
@@ -419,16 +370,18 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
419
370
  },
420
371
  correlationId: correlationId
421
372
  };
373
+
374
+ // @ts-ignore
422
375
  return this.request({
423
376
  method: _constants.HTTP_VERBS.PUT,
424
377
  uri: uri,
425
378
  body: body
426
379
  }).catch(function (err) {
427
380
  _loggerProxy.default.logger.error("Meeting:request#disconnectPhoneAudio --> Error when requesting phone ".concat(phoneUrl, " to leave, error ").concat(err));
428
-
429
381
  throw err;
430
382
  });
431
383
  }
384
+
432
385
  /**
433
386
  * Make a network request to leave a meeting
434
387
  * @param {Object} options
@@ -439,33 +392,34 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
439
392
  * @param {String} options.correlationId
440
393
  * @returns {Promise}
441
394
  */
442
-
443
395
  }, {
444
396
  key: "leaveMeeting",
445
397
  value: function leaveMeeting(_ref5) {
446
398
  var locusUrl = _ref5.locusUrl,
447
- selfId = _ref5.selfId,
448
- url = _ref5.deviceUrl,
449
- resourceId = _ref5.resourceId,
450
- correlationId = _ref5.correlationId;
451
-
399
+ selfId = _ref5.selfId,
400
+ url = _ref5.deviceUrl,
401
+ resourceId = _ref5.resourceId,
402
+ correlationId = _ref5.correlationId;
452
403
  _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
453
-
454
404
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
455
405
  var body = {
456
406
  device: {
407
+ // @ts-ignore
457
408
  deviceType: this.config.meetings.deviceType,
458
409
  url: url
459
410
  },
460
411
  usingResource: resourceId || null,
461
412
  correlationId: correlationId
462
413
  };
414
+
415
+ // @ts-ignore
463
416
  return this.request({
464
417
  method: _constants.HTTP_VERBS.PUT,
465
418
  uri: uri,
466
419
  body: body
467
420
  });
468
421
  }
422
+
469
423
  /**
470
424
  * Make a network request to acknowledge a meeting
471
425
  * @param {Object} options
@@ -474,45 +428,22 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
474
428
  * @param {String} options.correlationId
475
429
  * @returns {Promise}
476
430
  */
477
-
478
431
  }, {
479
432
  key: "acknowledgeMeeting",
480
433
  value: function acknowledgeMeeting(options) {
481
434
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(_constants.ALERT);
482
435
  var body = {
483
436
  device: {
437
+ // @ts-ignore
484
438
  deviceType: this.config.meetings.deviceType,
485
439
  url: options.deviceUrl
486
440
  },
487
441
  correlationId: options.correlationId
488
442
  };
489
- return this.request({
490
- method: _constants.HTTP_VERBS.PUT,
491
- uri: uri,
492
- body: body
493
- });
494
- }
495
- /**
496
- * Make a network request to acknowledge a meeting
497
- * @param {Object} options
498
- * @param {String} options.locusUrl
499
- * @param {String} options.deviceUrl
500
- * @param {String} options.id
501
- * @returns {Promise}
502
- */
503
443
 
504
- }, {
505
- key: "recordMeeting",
506
- value: function recordMeeting(options) {
507
- var uri = "".concat(options.locusUrl, "/").concat(_constants.CONTROLS);
508
- var body = {
509
- record: {
510
- recording: options.recording,
511
- paused: options.paused
512
- }
513
- };
444
+ // @ts-ignore
514
445
  return this.request({
515
- method: _constants.HTTP_VERBS.PATCH,
446
+ method: _constants.HTTP_VERBS.PUT,
516
447
  uri: uri,
517
448
  body: body
518
449
  });
@@ -526,12 +457,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
526
457
  locked: options.lock
527
458
  }
528
459
  };
460
+
461
+ // @ts-ignore
529
462
  return this.request({
530
463
  method: _constants.HTTP_VERBS.PATCH,
531
464
  uri: uri,
532
465
  body: body
533
466
  });
534
467
  }
468
+
535
469
  /**
536
470
  * Make a network request to decline a meeting
537
471
  * @param {Object} options
@@ -540,14 +474,13 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
540
474
  * @param {String} options.reason
541
475
  * @returns {Promise}
542
476
  */
543
-
544
477
  }, {
545
478
  key: "declineMeeting",
546
479
  value: function declineMeeting(options) {
547
480
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(_constants.DECLINE);
548
-
549
481
  var body = _objectSpread({
550
482
  device: {
483
+ // @ts-ignore
551
484
  deviceType: this.config.meetings.deviceType,
552
485
  url: options.deviceUrl
553
486
  }
@@ -555,12 +488,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
555
488
  reason: options.reason
556
489
  });
557
490
 
491
+ // @ts-ignore
558
492
  return this.request({
559
493
  method: _constants.HTTP_VERBS.PUT,
560
494
  uri: uri,
561
495
  body: body
562
496
  });
563
497
  }
498
+
564
499
  /**
565
500
  * Toggle remote audio and/or video
566
501
  * @param {Object} options options for toggling
@@ -572,15 +507,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
572
507
  * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
573
508
  * @returns {Promise}
574
509
  */
575
-
576
510
  }, {
577
511
  key: "remoteAudioVideoToggle",
578
512
  value: function remoteAudioVideoToggle(options) {
579
513
  var _options$preferTransc;
580
-
581
514
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(options.selfId, "/").concat(_constants.MEDIA);
582
515
  var body = {
583
516
  device: {
517
+ // @ts-ignore
584
518
  deviceType: this.config.meetings.deviceType,
585
519
  url: options.deviceUrl
586
520
  },
@@ -592,12 +526,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
592
526
  preferTranscoding: (_options$preferTransc = options.preferTranscoding) !== null && _options$preferTransc !== void 0 ? _options$preferTransc : true
593
527
  }
594
528
  };
529
+
530
+ // @ts-ignore
595
531
  return this.request({
596
532
  method: _constants.HTTP_VERBS.PUT,
597
533
  uri: uri,
598
534
  body: body
599
535
  });
600
536
  }
537
+
601
538
  /**
602
539
  * change the content floor grant
603
540
  * @param {Object} options options for floor grant
@@ -608,20 +545,20 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
608
545
  * @param {String} options.uri floor grant uri
609
546
  * @returns {Promise}
610
547
  */
611
-
612
548
  }, {
613
549
  key: "changeMeetingFloor",
614
550
  value: function changeMeetingFloor(options) {
615
551
  var floorReq = {
616
552
  disposition: options.disposition
617
553
  };
618
- /* istanbul ignore else */
619
554
 
555
+ /* istanbul ignore else */
620
556
  if (options.disposition === _constants.FLOOR_ACTION.GRANTED) {
621
557
  floorReq = {
622
558
  beneficiary: {
623
559
  url: options.personUrl,
624
560
  devices: [{
561
+ // @ts-ignore
625
562
  deviceType: this.config.meetings.deviceType,
626
563
  url: options.deviceUrl
627
564
  }]
@@ -632,22 +569,22 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
632
569
  }
633
570
  };
634
571
  }
635
-
636
572
  var body = {
637
573
  floor: floorReq,
638
574
  resourceUrl: options.resourceUrl
639
575
  };
640
-
641
576
  if (options !== null && options !== void 0 && options.resourceToken) {
642
577
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
643
578
  }
644
579
 
580
+ // @ts-ignore
645
581
  return this.request({
646
582
  uri: options.uri,
647
583
  method: _constants.HTTP_VERBS.PUT,
648
584
  body: body
649
585
  });
650
586
  }
587
+
651
588
  /**
652
589
  * Sends a request to the DTMF endpoint to send tones
653
590
  * @param {Object} options
@@ -656,13 +593,13 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
656
593
  * @param {String} options.tones a string of one or more DTMF tones to send
657
594
  * @returns {Promise}
658
595
  */
659
-
660
596
  }, {
661
597
  key: "sendDTMF",
662
598
  value: function sendDTMF(_ref6) {
663
599
  var locusUrl = _ref6.locusUrl,
664
- deviceUrl = _ref6.deviceUrl,
665
- tones = _ref6.tones;
600
+ deviceUrl = _ref6.deviceUrl,
601
+ tones = _ref6.tones;
602
+ // @ts-ignore
666
603
  return this.request({
667
604
  method: _constants.HTTP_VERBS.POST,
668
605
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
@@ -675,6 +612,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
675
612
  }
676
613
  });
677
614
  }
615
+
678
616
  /**
679
617
  * Sends a request to the controls endpoint to set the video layout
680
618
  * @param {Object} options
@@ -689,25 +627,21 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
689
627
  * @param {Number} options.content.height preferred height of content share stream
690
628
  * @returns {Promise}
691
629
  */
692
-
693
630
  }, {
694
631
  key: "changeVideoLayout",
695
632
  value: function changeVideoLayout(_ref7) {
696
633
  var locusUrl = _ref7.locusUrl,
697
- deviceUrl = _ref7.deviceUrl,
698
- layoutType = _ref7.layoutType,
699
- main = _ref7.main,
700
- content = _ref7.content;
701
-
634
+ deviceUrl = _ref7.deviceUrl,
635
+ layoutType = _ref7.layoutType,
636
+ main = _ref7.main,
637
+ content = _ref7.content;
702
638
  // send main/content renderInfo only if both width and height are specified
703
639
  if (main && (!main.width || !main.height)) {
704
640
  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))));
705
641
  }
706
-
707
642
  if (content && (!content.width || !content.height)) {
708
643
  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))));
709
644
  }
710
-
711
645
  var renderInfoMain = main ? {
712
646
  width: main.width,
713
647
  height: main.height
@@ -722,6 +656,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
722
656
  content: renderInfoContent
723
657
  }
724
658
  } : undefined;
659
+
660
+ // @ts-ignore
725
661
  return this.request({
726
662
  method: _constants.HTTP_VERBS.PUT,
727
663
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
@@ -734,42 +670,100 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
734
670
  }
735
671
  });
736
672
  }
673
+
737
674
  /**
738
675
  * Make a network request to end meeting for all
739
676
  * @param {Object} options
740
677
  * @param {Url} options.locusUrl
741
678
  * @returns {Promise}
742
679
  */
743
-
744
680
  }, {
745
681
  key: "endMeetingForAll",
746
682
  value: function endMeetingForAll(_ref8) {
747
683
  var locusUrl = _ref8.locusUrl;
748
684
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
685
+
686
+ // @ts-ignore
749
687
  return this.request({
750
688
  method: _constants.HTTP_VERBS.POST,
751
689
  uri: uri
752
690
  });
753
691
  }
692
+
754
693
  /**
755
694
  * Send a locus keepAlive (used in lobby)
756
695
  * @param {Object} options
757
696
  * @param {Url} options.keepAliveUrl
758
697
  * @returns {Promise}
759
698
  */
760
-
761
699
  }, {
762
700
  key: "keepAlive",
763
701
  value: function keepAlive(_ref9) {
764
702
  var keepAliveUrl = _ref9.keepAliveUrl;
703
+ // @ts-ignore
765
704
  return this.request({
766
705
  method: _constants.HTTP_VERBS.GET,
767
706
  uri: keepAliveUrl
768
707
  });
769
708
  }
709
+
710
+ /**
711
+ * Make a network request to send a reaction.
712
+ * @param {Object} options
713
+ * @param {Url} options.reactionChannelUrl
714
+ * @param {Reaction} options.reaction
715
+ * @param {string} options.senderID
716
+ * @returns {Promise}
717
+ */
718
+ }, {
719
+ key: "sendReaction",
720
+ value: function sendReaction(_ref10) {
721
+ var reactionChannelUrl = _ref10.reactionChannelUrl,
722
+ reaction = _ref10.reaction,
723
+ participantId = _ref10.participantId;
724
+ var uri = reactionChannelUrl;
725
+
726
+ // @ts-ignore
727
+ return this.request({
728
+ method: _constants.HTTP_VERBS.POST,
729
+ uri: uri,
730
+ body: {
731
+ sender: {
732
+ participantId: participantId
733
+ },
734
+ reaction: reaction
735
+ }
736
+ });
737
+ }
738
+
739
+ /**
740
+ * Make a network request to enable or disable reactions.
741
+ * @param {boolean} options.enable - determines if we need to enable or disable.
742
+ * @param {locusUrl} options.locusUrl
743
+ * @returns {Promise}
744
+ */
745
+ }, {
746
+ key: "toggleReactions",
747
+ value: function toggleReactions(_ref11) {
748
+ var enable = _ref11.enable,
749
+ locusUrl = _ref11.locusUrl,
750
+ requestingParticipantId = _ref11.requestingParticipantId;
751
+ var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
752
+
753
+ // @ts-ignore
754
+ return this.request({
755
+ method: _constants.HTTP_VERBS.PUT,
756
+ uri: uri,
757
+ body: {
758
+ reactions: {
759
+ enabled: enable
760
+ },
761
+ requestingParticipantId: requestingParticipantId
762
+ }
763
+ });
764
+ }
770
765
  }]);
771
766
  return MeetingRequest;
772
767
  }(_webexCore.StatelessWebexPlugin);
773
-
774
768
  exports.default = MeetingRequest;
775
769
  //# sourceMappingURL=request.js.map