@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
@@ -7,6 +7,7 @@ _Object$defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.default = void 0;
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutProperties"));
10
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
11
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
13
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
@@ -18,6 +19,8 @@ var _webexCore = require("@webex/webex-core");
18
19
  var _constants = require("../constants");
19
20
  var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
20
21
  var _util = _interopRequireDefault(require("./util"));
22
+ var _util2 = _interopRequireDefault(require("../meeting/util"));
23
+ var _excluded = ["meeting"];
21
24
  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); }; }
22
25
  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; } }
23
26
  /**
@@ -26,34 +29,38 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
26
29
  var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
27
30
  (0, _inherits2.default)(MembersRequest, _StatelessWebexPlugin);
28
31
  var _super = _createSuper(MembersRequest);
29
- function MembersRequest() {
32
+ /**
33
+ * Constructor
34
+ * @param {Object} attrs
35
+ * @param {Object} options
36
+ */
37
+ function MembersRequest(attrs, options) {
30
38
  var _this;
31
39
  (0, _classCallCheck2.default)(this, MembersRequest);
32
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33
- args[_key] = arguments[_key];
34
- }
35
- _this = _super.call.apply(_super, [this].concat(args));
40
+ var meeting = attrs.meeting,
41
+ otherAttrs = (0, _objectWithoutProperties2.default)(attrs, _excluded);
42
+ _this = _super.call(this, otherAttrs, options);
36
43
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
44
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusDeltaRequest", void 0);
45
+ _this.locusDeltaRequest = _util2.default.generateLocusDeltaRequest(meeting);
37
46
  return _this;
38
47
  }
48
+
49
+ /**
50
+ *
51
+ * @param {Object} options with format of {invitee: string, locusUrl: string}
52
+ * @returns {Promise}
53
+ * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
54
+ * @memberof MembersRequest
55
+ */
39
56
  (0, _createClass2.default)(MembersRequest, [{
40
57
  key: "addMembers",
41
- value:
42
- /**
43
- *
44
- * @param {Object} options with format of {invitee: string, locusUrl: string}
45
- * @returns {Promise}
46
- * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
47
- * @memberof MembersRequest
48
- */
49
- function addMembers(options) {
58
+ value: function addMembers(options) {
50
59
  if (!(!options || !options.invitee || !options.invitee.emailAddress || !options.invitee.email || !options.invitee.phoneNumber || !options.locusUrl)) {
51
60
  throw new _parameter.default('invitee must be passed and the associated locus url for this meeting object must be defined.');
52
61
  }
53
62
  var requestParams = _util.default.getAddMemberRequestParams(options);
54
-
55
- // @ts-ignore
56
- return this.request(requestParams);
63
+ return this.locusDeltaRequest(requestParams);
57
64
  }
58
65
 
59
66
  /**
@@ -70,10 +77,16 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
70
77
  throw new _parameter.default('memberIds must be an array passed and the associated locus url for this meeting object must be defined.');
71
78
  }
72
79
  var requestParams = _util.default.getAdmitMemberRequestParams(options);
73
-
74
- // @ts-ignore
75
- return this.request(requestParams);
80
+ return this.locusDeltaRequest(requestParams);
76
81
  }
82
+
83
+ /**
84
+ * Sends a request to remove a member
85
+ * @param {Object} options
86
+ * @param {String} options.locusUrl
87
+ * @param {String} options.memberId ID of member
88
+ * @returns {Promise}
89
+ */
77
90
  }, {
78
91
  key: "removeMember",
79
92
  value: function removeMember(options) {
@@ -81,10 +94,16 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
81
94
  throw new _parameter.default('memberId must be defined, and the associated locus url for this meeting object must be defined.');
82
95
  }
83
96
  var requestParams = _util.default.getRemoveMemberRequestParams(options);
84
-
85
- // @ts-ignore
86
- return this.request(requestParams);
97
+ return this.locusDeltaRequest(requestParams);
87
98
  }
99
+
100
+ /**
101
+ * Sends a request to mute a member
102
+ * @param {Object} options
103
+ * @param {String} options.locusUrl
104
+ * @param {String} options.memberId ID of member
105
+ * @returns {Promise}
106
+ */
88
107
  }, {
89
108
  key: "muteMember",
90
109
  value: function muteMember(options) {
@@ -94,7 +113,7 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
94
113
  var requestParams = _util.default.getMuteMemberRequestParams(options);
95
114
 
96
115
  // @ts-ignore
97
- return this.request(requestParams);
116
+ return this.locusDeltaRequest(requestParams);
98
117
  }
99
118
 
100
119
  /**
@@ -111,10 +130,16 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
111
130
  throw new _parameter.default('memberId must be defined, and the associated locus url for this meeting object must be defined.');
112
131
  }
113
132
  var requestParams = _util.default.getRoleAssignmentMemberRequestParams(options);
114
-
115
- // @ts-ignore
116
- return this.request(requestParams);
133
+ return this.locusDeltaRequest(requestParams);
117
134
  }
135
+
136
+ /**
137
+ * Sends a request to raise or lower a member's hand
138
+ * @param {Object} options
139
+ * @param {String} options.locusUrl
140
+ * @param {String} options.memberId ID of member
141
+ * @returns {Promise}
142
+ */
118
143
  }, {
119
144
  key: "raiseOrLowerHandMember",
120
145
  value: function raiseOrLowerHandMember(options) {
@@ -122,10 +147,16 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
122
147
  throw new _parameter.default('memberId must be defined, and the associated locus url for this meeting object must be defined.');
123
148
  }
124
149
  var requestParams = _util.default.getRaiseHandMemberRequestParams(options);
125
-
126
- // @ts-ignore
127
- return this.request(requestParams);
150
+ return this.locusDeltaRequest(requestParams);
128
151
  }
152
+
153
+ /**
154
+ * Sends a request to lower all hands
155
+ * @param {Object} options
156
+ * @param {String} options.locusUrl
157
+ * @param {String} options.requestingParticipantId ID of requesting participant
158
+ * @returns {Promise}
159
+ */
129
160
  }, {
130
161
  key: "lowerAllHandsMember",
131
162
  value: function lowerAllHandsMember(options) {
@@ -133,9 +164,7 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
133
164
  throw new _parameter.default('requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.');
134
165
  }
135
166
  var requestParams = _util.default.getLowerAllHandsMemberRequestParams(options);
136
-
137
- // @ts-ignore
138
- return this.request(requestParams);
167
+ return this.locusDeltaRequest(requestParams);
139
168
  }
140
169
 
141
170
  /**
@@ -152,10 +181,17 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
152
181
  throw new _parameter.default('requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.');
153
182
  }
154
183
  var requestParams = _util.default.editDisplayNameMemberRequestParams(options);
155
-
156
- // @ts-ignore
157
- return this.request(requestParams);
184
+ return this.locusDeltaRequest(requestParams);
158
185
  }
186
+
187
+ /**
188
+ * Sends a request to raise or lower a member's hand
189
+ * @param {Object} options
190
+ * @param {String} options.locusUrl
191
+ * @param {String} options.memberId ID of member
192
+ * @param {String} options.moderator ID of moderator
193
+ * @returns {Promise}
194
+ */
159
195
  }, {
160
196
  key: "transferHostToMember",
161
197
  value: function transferHostToMember(options) {
@@ -163,9 +199,7 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
163
199
  throw new _parameter.default('memberId must be defined, the associated locus url, and the moderator for this meeting object must be defined.');
164
200
  }
165
201
  var requestParams = _util.default.getTransferHostToMemberRequestParams(options);
166
-
167
- // @ts-ignore
168
- return this.request(requestParams);
202
+ return this.locusDeltaRequest(requestParams);
169
203
  }
170
204
 
171
205
  /**
@@ -187,9 +221,7 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
187
221
  throw new _parameter.default('memberId must be defined, the associated locus url, the device url and DTMF tones for this meeting object must be defined.');
188
222
  }
189
223
  var requestParams = _util.default.generateSendDTMFRequestParams(options);
190
-
191
- // @ts-ignore
192
- return this.request(requestParams);
224
+ return this.locusDeltaRequest(requestParams);
193
225
  }
194
226
 
195
227
  /**
@@ -206,9 +238,7 @@ var MembersRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
206
238
  throw new _parameter.default('invitee must be passed and the associated locus url for this meeting object must be defined.');
207
239
  }
208
240
  var requestParams = _util.default.generateCancelInviteRequestParams(options);
209
-
210
- // @ts-ignore
211
- return this.request(requestParams);
241
+ return this.locusDeltaRequest(requestParams);
212
242
  }
213
243
  }]);
214
244
  return MembersRequest;
@@ -1 +1 @@
1
- {"version":3,"names":["MembersRequest","MEETINGS","options","invitee","emailAddress","email","phoneNumber","locusUrl","ParameterError","requestParams","MembersUtil","getAddMemberRequestParams","request","memberIds","getAdmitMemberRequestParams","memberId","getRemoveMemberRequestParams","getMuteMemberRequestParams","getRoleAssignmentMemberRequestParams","getRaiseHandMemberRequestParams","requestingParticipantId","getLowerAllHandsMemberRequestParams","editDisplayNameMemberRequestParams","moderator","getTransferHostToMemberRequestParams","url","tones","generateSendDTMFRequestParams","generateCancelInviteRequestParams","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport {MEETINGS} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nimport MembersUtil from './util';\n\n/**\n * @class MembersRequest\n */\nexport default class MembersRequest extends StatelessWebexPlugin {\n namespace = MEETINGS;\n\n /**\n *\n * @param {Object} options with format of {invitee: string, locusUrl: string}\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl\n * @memberof MembersRequest\n */\n addMembers(options: any) {\n if (\n !(\n !options ||\n !options.invitee ||\n !options.invitee.emailAddress ||\n !options.invitee.email ||\n !options.invitee.phoneNumber ||\n !options.locusUrl\n )\n ) {\n throw new ParameterError(\n 'invitee must be passed and the associated locus url for this meeting object must be defined.'\n );\n }\n const requestParams = MembersUtil.getAddMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n /**\n *\n * @param {Object} options\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have memberIds AND locusUrl\n * @memberof MembersRequest\n */\n admitMember(options: any) {\n if (!options || !options.locusUrl || !options.memberIds) {\n throw new ParameterError(\n 'memberIds must be an array passed and the associated locus url for this meeting object must be defined.'\n );\n }\n const requestParams = MembersUtil.getAdmitMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n removeMember(options) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getRemoveMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n muteMember(options) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getMuteMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n /**\n * Sends a request to the DTMF endpoint to send tones\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.memberId ID of PSTN user\n * @returns {Promise}\n */\n assignRolesMember(options: any) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getRoleAssignmentMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n raiseOrLowerHandMember(options) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getRaiseHandMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n lowerAllHandsMember(options) {\n if (!options || !options.locusUrl || !options.requestingParticipantId) {\n throw new ParameterError(\n 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getLowerAllHandsMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n /**\n *\n * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have requestingParticipantId AND locusUrl\n * @memberof MembersRequest\n */\n editDisplayNameMember(options: {locusUrl: string; requestingParticipantId: string}) {\n if (!options || !options.locusUrl || !options.requestingParticipantId) {\n throw new ParameterError(\n 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.editDisplayNameMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n transferHostToMember(options) {\n if (!options || !options.locusUrl || !options.memberId || !options.moderator) {\n throw new ParameterError(\n 'memberId must be defined, the associated locus url, and the moderator for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getTransferHostToMemberRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n /**\n * Sends a request to the DTMF endpoint to send tones\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.url device url SIP user\n * @param {String} options.tones a string of one or more DTMF tones to send\n * @param {String} options.memberId ID of PSTN user\n * @returns {Promise}\n */\n sendDialPadKey(options: {locusUrl: string; url: string; tones: string; memberId: string}) {\n // @ts-ignore\n if (\n !options ||\n !options.locusUrl ||\n !options.memberId ||\n !options.url ||\n // @ts-ignore\n (!options.tones && options.tones !== 0)\n ) {\n throw new ParameterError(\n 'memberId must be defined, the associated locus url, the device url and DTMF tones for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.generateSendDTMFRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n\n /**\n * @param {Object} options with format of {invitee: string, locusUrl: string}\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl\n * @memberof MembersRequest\n */\n cancelPhoneInvite(options: any) {\n if (!(options?.invitee?.phoneNumber || options?.locusUrl)) {\n throw new ParameterError(\n 'invitee must be passed and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.generateCancelInviteRequestParams(options);\n\n // @ts-ignore\n return this.request(requestParams);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["MembersRequest","attrs","options","meeting","otherAttrs","MEETINGS","locusDeltaRequest","MeetingUtil","generateLocusDeltaRequest","invitee","emailAddress","email","phoneNumber","locusUrl","ParameterError","requestParams","MembersUtil","getAddMemberRequestParams","memberIds","getAdmitMemberRequestParams","memberId","getRemoveMemberRequestParams","getMuteMemberRequestParams","getRoleAssignmentMemberRequestParams","getRaiseHandMemberRequestParams","requestingParticipantId","getLowerAllHandsMemberRequestParams","editDisplayNameMemberRequestParams","moderator","getTransferHostToMemberRequestParams","url","tones","generateSendDTMFRequestParams","generateCancelInviteRequestParams","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport {MEETINGS} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nimport MembersUtil from './util';\nimport MeetingUtil from '../meeting/util';\n\n/**\n * @class MembersRequest\n */\nexport default class MembersRequest extends StatelessWebexPlugin {\n namespace = MEETINGS;\n locusDeltaRequest: (options: object) => Promise<any>;\n\n /**\n * Constructor\n * @param {Object} attrs\n * @param {Object} options\n */\n constructor(attrs: {meeting: any}, options: object) {\n const {meeting, ...otherAttrs} = attrs;\n super(otherAttrs, options);\n\n this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);\n }\n\n /**\n *\n * @param {Object} options with format of {invitee: string, locusUrl: string}\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl\n * @memberof MembersRequest\n */\n addMembers(options: any) {\n if (\n !(\n !options ||\n !options.invitee ||\n !options.invitee.emailAddress ||\n !options.invitee.email ||\n !options.invitee.phoneNumber ||\n !options.locusUrl\n )\n ) {\n throw new ParameterError(\n 'invitee must be passed and the associated locus url for this meeting object must be defined.'\n );\n }\n const requestParams = MembersUtil.getAddMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n *\n * @param {Object} options\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have memberIds AND locusUrl\n * @memberof MembersRequest\n */\n admitMember(options: any) {\n if (!options || !options.locusUrl || !options.memberIds) {\n throw new ParameterError(\n 'memberIds must be an array passed and the associated locus url for this meeting object must be defined.'\n );\n }\n const requestParams = MembersUtil.getAdmitMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * Sends a request to remove a member\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.memberId ID of member\n * @returns {Promise}\n */\n removeMember(options) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getRemoveMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * Sends a request to mute a member\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.memberId ID of member\n * @returns {Promise}\n */\n muteMember(options) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getMuteMemberRequestParams(options);\n\n // @ts-ignore\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * Sends a request to the DTMF endpoint to send tones\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.memberId ID of PSTN user\n * @returns {Promise}\n */\n assignRolesMember(options: any) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getRoleAssignmentMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * Sends a request to raise or lower a member's hand\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.memberId ID of member\n * @returns {Promise}\n */\n raiseOrLowerHandMember(options) {\n if (!options || !options.locusUrl || !options.memberId) {\n throw new ParameterError(\n 'memberId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getRaiseHandMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * Sends a request to lower all hands\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.requestingParticipantId ID of requesting participant\n * @returns {Promise}\n */\n lowerAllHandsMember(options) {\n if (!options || !options.locusUrl || !options.requestingParticipantId) {\n throw new ParameterError(\n 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getLowerAllHandsMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n *\n * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have requestingParticipantId AND locusUrl\n * @memberof MembersRequest\n */\n editDisplayNameMember(options: {locusUrl: string; requestingParticipantId: string}) {\n if (!options || !options.locusUrl || !options.requestingParticipantId) {\n throw new ParameterError(\n 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.editDisplayNameMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * Sends a request to raise or lower a member's hand\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.memberId ID of member\n * @param {String} options.moderator ID of moderator\n * @returns {Promise}\n */\n transferHostToMember(options) {\n if (!options || !options.locusUrl || !options.memberId || !options.moderator) {\n throw new ParameterError(\n 'memberId must be defined, the associated locus url, and the moderator for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.getTransferHostToMemberRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * Sends a request to the DTMF endpoint to send tones\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.url device url SIP user\n * @param {String} options.tones a string of one or more DTMF tones to send\n * @param {String} options.memberId ID of PSTN user\n * @returns {Promise}\n */\n sendDialPadKey(options: {locusUrl: string; url: string; tones: string; memberId: string}) {\n // @ts-ignore\n if (\n !options ||\n !options.locusUrl ||\n !options.memberId ||\n !options.url ||\n // @ts-ignore\n (!options.tones && options.tones !== 0)\n ) {\n throw new ParameterError(\n 'memberId must be defined, the associated locus url, the device url and DTMF tones for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.generateSendDTMFRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n\n /**\n * @param {Object} options with format of {invitee: string, locusUrl: string}\n * @returns {Promise}\n * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl\n * @memberof MembersRequest\n */\n cancelPhoneInvite(options: any) {\n if (!(options?.invitee?.phoneNumber || options?.locusUrl)) {\n throw new ParameterError(\n 'invitee must be passed and the associated locus url for this meeting object must be defined.'\n );\n }\n\n const requestParams = MembersUtil.generateCancelInviteRequestParams(options);\n\n return this.locusDeltaRequest(requestParams);\n }\n}\n"],"mappings":"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"}