@webex/plugin-meetings 3.0.0-beta.115 → 3.0.0-beta.117

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 (53) hide show
  1. package/dist/breakouts/breakout.js +23 -6
  2. package/dist/breakouts/breakout.js.map +1 -1
  3. package/dist/breakouts/index.js +178 -139
  4. package/dist/breakouts/index.js.map +1 -1
  5. package/dist/constants.js +1 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/locus-info/mediaSharesUtils.js +15 -1
  8. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  9. package/dist/meeting/index.js +73 -103
  10. package/dist/meeting/index.js.map +1 -1
  11. package/dist/meeting/locusMediaRequest.js +3 -0
  12. package/dist/meeting/locusMediaRequest.js.map +1 -1
  13. package/dist/meeting/muteState.js +1 -1
  14. package/dist/meeting/muteState.js.map +1 -1
  15. package/dist/meeting/request.js +27 -20
  16. package/dist/meeting/request.js.map +1 -1
  17. package/dist/meeting/util.js +463 -426
  18. package/dist/meeting/util.js.map +1 -1
  19. package/dist/members/index.js +4 -1
  20. package/dist/members/index.js.map +1 -1
  21. package/dist/members/request.js +75 -45
  22. package/dist/members/request.js.map +1 -1
  23. package/dist/members/util.js +308 -317
  24. package/dist/members/util.js.map +1 -1
  25. package/dist/types/constants.d.ts +1 -0
  26. package/dist/types/meeting/index.d.ts +20 -21
  27. package/dist/types/meeting/locusMediaRequest.d.ts +2 -0
  28. package/dist/types/meeting/request.d.ts +16 -8
  29. package/dist/types/meeting/util.d.ts +75 -1
  30. package/dist/types/members/request.d.ts +56 -11
  31. package/dist/types/members/util.d.ts +209 -1
  32. package/package.json +19 -19
  33. package/src/breakouts/breakout.ts +26 -4
  34. package/src/breakouts/index.ts +32 -17
  35. package/src/constants.ts +1 -0
  36. package/src/locus-info/mediaSharesUtils.ts +16 -0
  37. package/src/meeting/index.ts +20 -42
  38. package/src/meeting/locusMediaRequest.ts +6 -0
  39. package/src/meeting/muteState.ts +1 -1
  40. package/src/meeting/request.ts +26 -17
  41. package/src/meeting/util.ts +446 -410
  42. package/src/members/index.ts +7 -1
  43. package/src/members/request.ts +61 -21
  44. package/src/members/util.ts +316 -326
  45. package/test/unit/spec/breakouts/breakout.ts +26 -7
  46. package/test/unit/spec/breakouts/index.ts +48 -3
  47. package/test/unit/spec/meeting/index.js +53 -33
  48. package/test/unit/spec/meeting/locusMediaRequest.ts +25 -3
  49. package/test/unit/spec/meeting/muteState.js +5 -2
  50. package/test/unit/spec/meeting/request.js +215 -42
  51. package/test/unit/spec/meeting/utils.js +151 -7
  52. package/test/unit/spec/members/index.js +22 -1
  53. package/test/unit/spec/members/request.js +167 -35
@@ -19,7 +19,6 @@ import {
19
19
  LEAVE,
20
20
  LOCI,
21
21
  LOCUS,
22
- MEDIA,
23
22
  PARTICIPANT,
24
23
  PROVISIONAL_TYPE_DIAL_IN,
25
24
  PROVISIONAL_TYPE_DIAL_OUT,
@@ -29,12 +28,15 @@ import {
29
28
  ANNOTATION,
30
29
  } from '../constants';
31
30
  import {SendReactionOptions, ToggleReactionsOptions} from './request.type';
31
+ import MeetingUtil from './util';
32
32
 
33
33
  /**
34
34
  * @class MeetingRequest
35
35
  */
36
36
  export default class MeetingRequest extends StatelessWebexPlugin {
37
37
  changeVideoLayoutDebounced: any;
38
+ meetingRef: WeakRef<any>;
39
+ locusDeltaRequest: (options: object) => Promise<any>;
38
40
 
39
41
  /**
40
42
  * Constructor
@@ -42,7 +44,12 @@ export default class MeetingRequest extends StatelessWebexPlugin {
42
44
  * @param {Object} options
43
45
  */
44
46
  constructor(attrs: any, options: any) {
45
- super(attrs, options);
47
+ const {meeting, ...otherAttrs} = attrs;
48
+
49
+ super(otherAttrs, options);
50
+
51
+ this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);
52
+
46
53
  this.changeVideoLayoutDebounced = debounce(this.changeVideoLayout, 2000, {
47
54
  leading: true,
48
55
  trailing: true,
@@ -306,7 +313,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
306
313
  };
307
314
 
308
315
  // @ts-ignore
309
- return this.request({
316
+ return this.locusDeltaRequest({
310
317
  method: HTTP_VERBS.POST,
311
318
  uri,
312
319
  body,
@@ -361,7 +368,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
361
368
  };
362
369
 
363
370
  // @ts-ignore
364
- return this.request({
371
+ return this.locusDeltaRequest({
365
372
  method: HTTP_VERBS.POST,
366
373
  uri,
367
374
  body,
@@ -476,7 +483,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
476
483
  };
477
484
 
478
485
  // @ts-ignore
479
- return this.request({
486
+ return this.locusDeltaRequest({
480
487
  method: HTTP_VERBS.PUT,
481
488
  uri,
482
489
  body,
@@ -525,8 +532,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
525
532
  correlationId,
526
533
  };
527
534
 
528
- // @ts-ignore
529
- return this.request({
535
+ return this.locusDeltaRequest({
530
536
  method: HTTP_VERBS.PUT,
531
537
  uri,
532
538
  body,
@@ -552,14 +558,19 @@ export default class MeetingRequest extends StatelessWebexPlugin {
552
558
  correlationId: options.correlationId,
553
559
  };
554
560
 
555
- // @ts-ignore
556
- return this.request({
561
+ return this.locusDeltaRequest({
557
562
  method: HTTP_VERBS.PUT,
558
563
  uri,
559
564
  body,
560
565
  });
561
566
  }
562
567
 
568
+ /**
569
+ * Makes a network request to lock the meeting
570
+ * @param {Object} options
571
+ * @param {Boolean} options.lock Whether it is locked or not
572
+ * @returns {Promise}
573
+ */
563
574
  lockMeeting(options) {
564
575
  const uri = `${options.locusUrl}/${CONTROLS}`;
565
576
  const body = {
@@ -568,8 +579,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
568
579
  },
569
580
  };
570
581
 
571
- // @ts-ignore
572
- return this.request({
582
+ return this.locusDeltaRequest({
573
583
  method: HTTP_VERBS.PATCH,
574
584
  uri,
575
585
  body,
@@ -595,8 +605,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
595
605
  ...(options.reason && {reason: options.reason}),
596
606
  };
597
607
 
598
- // @ts-ignore
599
- return this.request({
608
+ return this.locusDeltaRequest({
600
609
  method: HTTP_VERBS.PUT,
601
610
  uri,
602
611
  body,
@@ -677,7 +686,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
677
686
  */
678
687
  sendDTMF({locusUrl, deviceUrl, tones}: {locusUrl: string; deviceUrl: string; tones: string}) {
679
688
  // @ts-ignore
680
- return this.request({
689
+ return this.locusDeltaRequest({
681
690
  method: HTTP_VERBS.POST,
682
691
  uri: `${locusUrl}/${SEND_DTMF_ENDPOINT}`,
683
692
  body: {
@@ -758,7 +767,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
758
767
  : undefined;
759
768
 
760
769
  // @ts-ignore
761
- return this.request({
770
+ return this.locusDeltaRequest({
762
771
  method: HTTP_VERBS.PUT,
763
772
  uri: `${locusUrl}/${CONTROLS}`,
764
773
  body: {
@@ -781,7 +790,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
781
790
  const uri = `${locusUrl}/${END}`;
782
791
 
783
792
  // @ts-ignore
784
- return this.request({
793
+ return this.locusDeltaRequest({
785
794
  method: HTTP_VERBS.POST,
786
795
  uri,
787
796
  });
@@ -833,7 +842,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
833
842
  const uri = `${locusUrl}/${CONTROLS}`;
834
843
 
835
844
  // @ts-ignore
836
- return this.request({
845
+ return this.locusDeltaRequest({
837
846
  method: HTTP_VERBS.PUT,
838
847
  uri,
839
848
  body: {