@webex/plugin-meetings 3.0.0-beta.247 → 3.0.0-beta.249

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.
@@ -209,7 +209,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
209
209
  sessionId: this.sessionId
210
210
  });
211
211
  },
212
- version: "3.0.0-beta.247"
212
+ version: "3.0.0-beta.249"
213
213
  });
214
214
  var _default = Breakout;
215
215
  exports.default = _default;
@@ -1041,7 +1041,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1041
1041
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1042
1042
  }
1043
1043
  },
1044
- version: "3.0.0-beta.247"
1044
+ version: "3.0.0-beta.249"
1045
1045
  });
1046
1046
  var _default = Breakouts;
1047
1047
  exports.default = _default;
@@ -359,7 +359,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
359
359
  throw error;
360
360
  });
361
361
  },
362
- version: "3.0.0-beta.247"
362
+ version: "3.0.0-beta.249"
363
363
  });
364
364
  var _default = SimultaneousInterpretation;
365
365
  exports.default = _default;
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.0.0-beta.247"
21
+ version: "3.0.0-beta.249"
22
22
  });
23
23
  var _default = SILanguage;
24
24
  exports.default = _default;
@@ -471,6 +471,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
471
471
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingNumber", void 0);
472
472
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingState", void 0);
473
473
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "permissionToken", void 0);
474
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "permissionTokenPayload", void 0);
474
475
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "resourceId", void 0);
475
476
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "resourceUrl", void 0);
476
477
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selfId", void 0);
@@ -3272,7 +3273,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3272
3273
  }
3273
3274
  this.owner = ((_locusMeetingObject6 = locusMeetingObject) === null || _locusMeetingObject6 === void 0 ? void 0 : _locusMeetingObject6.info.owner) || (webexMeetingInfo === null || webexMeetingInfo === void 0 ? void 0 : webexMeetingInfo.owner) || (webexMeetingInfo === null || webexMeetingInfo === void 0 ? void 0 : webexMeetingInfo.hostId) || this.owner;
3274
3275
  this.permissionToken = webexMeetingInfo === null || webexMeetingInfo === void 0 ? void 0 : webexMeetingInfo.permissionToken;
3275
- this.setSelfUserPolicies(this.permissionToken);
3276
+ this.setPermissionTokenPayload(webexMeetingInfo === null || webexMeetingInfo === void 0 ? void 0 : webexMeetingInfo.permissionToken);
3277
+ this.setSelfUserPolicies();
3276
3278
  // Need to populate environment when sending CA event
3277
3279
  this.environment = ((_locusMeetingObject7 = locusMeetingObject) === null || _locusMeetingObject7 === void 0 ? void 0 : _locusMeetingObject7.info.channel) || (webexMeetingInfo === null || webexMeetingInfo === void 0 ? void 0 : webexMeetingInfo.channel);
3278
3280
  }
@@ -3487,14 +3489,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3487
3489
 
3488
3490
  /**
3489
3491
  * Sets the self user policies based on the contents of the permission token
3490
- * @param {String} permissionToken
3491
3492
  * @returns {void}
3492
3493
  */
3493
3494
  }, {
3494
3495
  key: "setSelfUserPolicies",
3495
- value: function setSelfUserPolicies(permissionToken) {
3496
- var _jwt$decode, _jwt$decode$permissio;
3497
- this.selfUserPolicies = (_jwt$decode = _jsonwebtoken.default.decode(permissionToken)) === null || _jwt$decode === void 0 ? void 0 : (_jwt$decode$permissio = _jwt$decode.permission) === null || _jwt$decode$permissio === void 0 ? void 0 : _jwt$decode$permissio.userPolicies;
3496
+ value: function setSelfUserPolicies() {
3497
+ var _this$permissionToken, _this$permissionToken2;
3498
+ this.selfUserPolicies = (_this$permissionToken = this.permissionTokenPayload) === null || _this$permissionToken === void 0 ? void 0 : (_this$permissionToken2 = _this$permissionToken.permission) === null || _this$permissionToken2 === void 0 ? void 0 : _this$permissionToken2.userPolicies;
3499
+ }
3500
+
3501
+ /**
3502
+ * Sets the permission token payload on the class instance
3503
+ *
3504
+ * @param {String} permissionToken
3505
+ * @returns {void}
3506
+ */
3507
+ }, {
3508
+ key: "setPermissionTokenPayload",
3509
+ value: function setPermissionTokenPayload(permissionToken) {
3510
+ this.permissionTokenPayload = _jsonwebtoken.default.decode(permissionToken);
3498
3511
  }
3499
3512
 
3500
3513
  /**
@@ -6756,6 +6769,28 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6756
6769
  }
6757
6770
  return unpublishTracks;
6758
6771
  }()
6772
+ /**
6773
+ * Gets the time left in seconds till the permission token expires
6774
+ * (from the time the function has been fired)
6775
+ *
6776
+ * @returns {number} time left in seconds
6777
+ */
6778
+ }, {
6779
+ key: "getPermissionTokenTimeLeftInSec",
6780
+ value: function getPermissionTokenTimeLeftInSec() {
6781
+ if (!this.permissionTokenPayload) {
6782
+ return undefined;
6783
+ }
6784
+ var permissionTokenExpValue = Number(this.permissionTokenPayload.exp);
6785
+
6786
+ // using new Date instead of Date.now() to allow for accurate unit testing
6787
+ // https://github.com/sinonjs/fake-timers/issues/321
6788
+ var now = new Date().getTime();
6789
+
6790
+ // substract current time from the permissionTokenExp
6791
+ // (permissionTokenExp is a epoch timestamp, not a time to live duration)
6792
+ return (permissionTokenExpValue - now) / 1000;
6793
+ }
6759
6794
  }]);
6760
6795
  return Meeting;
6761
6796
  }(_webexCore.StatelessWebexPlugin);