@webex/plugin-meetings 3.0.0-beta.116 → 3.0.0-beta.118

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 (57) hide show
  1. package/dist/annotation/annotation.types.js.map +1 -1
  2. package/dist/annotation/index.js +1 -1
  3. package/dist/annotation/index.js.map +1 -1
  4. package/dist/breakouts/breakout.js +23 -6
  5. package/dist/breakouts/breakout.js.map +1 -1
  6. package/dist/breakouts/index.js +178 -139
  7. package/dist/breakouts/index.js.map +1 -1
  8. package/dist/locus-info/mediaSharesUtils.js +29 -1
  9. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  10. package/dist/meeting/index.js +11 -43
  11. package/dist/meeting/index.js.map +1 -1
  12. package/dist/meeting/locusMediaRequest.js +3 -0
  13. package/dist/meeting/locusMediaRequest.js.map +1 -1
  14. package/dist/meeting/muteState.js +1 -1
  15. package/dist/meeting/muteState.js.map +1 -1
  16. package/dist/meeting/request.js +27 -20
  17. package/dist/meeting/request.js.map +1 -1
  18. package/dist/meeting/util.js +463 -426
  19. package/dist/meeting/util.js.map +1 -1
  20. package/dist/members/index.js +4 -1
  21. package/dist/members/index.js.map +1 -1
  22. package/dist/members/request.js +75 -45
  23. package/dist/members/request.js.map +1 -1
  24. package/dist/members/util.js +308 -317
  25. package/dist/members/util.js.map +1 -1
  26. package/dist/types/annotation/annotation.types.d.ts +1 -0
  27. package/dist/types/meeting/index.d.ts +20 -21
  28. package/dist/types/meeting/locusMediaRequest.d.ts +2 -0
  29. package/dist/types/meeting/request.d.ts +16 -8
  30. package/dist/types/meeting/util.d.ts +75 -1
  31. package/dist/types/members/request.d.ts +56 -11
  32. package/dist/types/members/util.d.ts +209 -1
  33. package/package.json +19 -19
  34. package/src/annotation/annotation.types.ts +1 -0
  35. package/src/annotation/index.ts +1 -1
  36. package/src/breakouts/breakout.ts +26 -4
  37. package/src/breakouts/index.ts +32 -17
  38. package/src/locus-info/mediaSharesUtils.ts +32 -0
  39. package/src/meeting/index.ts +12 -42
  40. package/src/meeting/locusMediaRequest.ts +6 -0
  41. package/src/meeting/muteState.ts +1 -1
  42. package/src/meeting/request.ts +26 -17
  43. package/src/meeting/util.ts +446 -410
  44. package/src/members/index.ts +7 -1
  45. package/src/members/request.ts +61 -21
  46. package/src/members/util.ts +316 -326
  47. package/test/unit/spec/annotation/index.ts +2 -1
  48. package/test/unit/spec/breakouts/breakout.ts +26 -7
  49. package/test/unit/spec/breakouts/index.ts +48 -3
  50. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  51. package/test/unit/spec/meeting/index.js +30 -31
  52. package/test/unit/spec/meeting/locusMediaRequest.ts +25 -3
  53. package/test/unit/spec/meeting/muteState.js +5 -2
  54. package/test/unit/spec/meeting/request.js +215 -42
  55. package/test/unit/spec/meeting/utils.js +151 -7
  56. package/test/unit/spec/members/index.js +22 -1
  57. package/test/unit/spec/members/request.js +167 -35
@@ -14,336 +14,326 @@ import {
14
14
 
15
15
  import {RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape} from './types';
16
16
 
17
- const MembersUtil: any = {};
18
-
19
- /**
20
- * @param {Object} invitee with emailAddress, email or phoneNumber
21
- * @param {String} locusUrl
22
- * @param {Boolean} alertIfActive
23
- * @returns {Object} the format object
24
- */
25
- MembersUtil.generateAddMemberOptions = (
26
- invitee: object,
27
- locusUrl: string,
28
- alertIfActive: boolean
29
- ) => ({
30
- invitee,
31
- locusUrl,
32
- alertIfActive,
33
- });
34
-
35
- /**
36
- * @param {Array} memberIds
37
- * @param {String} locusUrl
38
- * @returns {Object} the format object
39
- */
40
- MembersUtil.generateAdmitMemberOptions = (memberIds: Array<any>, locusUrl: string) => ({
41
- locusUrl,
42
- memberIds,
43
- });
44
-
45
- /**
46
- * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}
47
- * @returns {Object} with {invitees: [{address}], alertIfActive}
48
- */
49
- MembersUtil.getAddMemberBody = (options: any) => ({
50
- invitees: [
51
- {
52
- address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,
53
- },
54
- ],
55
- alertIfActive: options.alertIfActive,
56
- });
57
-
58
- /**
59
- * @param {Object} options with {memberIds, authorizingLocusUrl}
60
- * @returns {Object} admit with {memberIds}
61
- */
62
- MembersUtil.getAdmitMemberRequestBody = (options: any) => {
63
- const {memberIds, sessionLocusUrls} = options;
64
- const body: any = {admit: {participantIds: memberIds}};
65
- if (sessionLocusUrls) {
66
- const {authorizingLocusUrl} = sessionLocusUrls;
67
-
68
- return {authorizingLocusUrl, ...body};
69
- }
70
-
71
- return body;
72
- };
73
-
74
- /**
75
- * @param {Object} format with {memberIds, locusUrl, sessionLocusUrls}
76
- * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request
77
- * if a host/cohost is in a breakout session, the locus url should be the main session locus url
78
- */
79
- MembersUtil.getAdmitMemberRequestParams = (format: any) => {
80
- const body = MembersUtil.getAdmitMemberRequestBody(format);
81
- const {locusUrl, sessionLocusUrls} = format;
82
- const baseUrl = sessionLocusUrls?.mainLocusUrl || locusUrl;
83
- const uri = `${baseUrl}/${CONTROLS}`;
84
-
85
- return {
86
- method: HTTP_VERBS.PUT,
87
- uri,
88
- body,
89
- };
90
- };
91
-
92
- /**
93
- * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}
94
- * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request
95
- */
96
- MembersUtil.getAddMemberRequestParams = (format: any) => {
97
- const body = MembersUtil.getAddMemberBody(format);
98
- const requestParams = {
99
- method: HTTP_VERBS.PUT,
100
- uri: format.locusUrl,
101
- body,
102
- };
103
-
104
- return requestParams;
105
- };
106
-
107
- MembersUtil.isInvalidInvitee = (invitee) => {
108
- if (!(invitee && (invitee.email || invitee.emailAddress || invitee.phoneNumber))) {
109
- return true;
110
- }
111
-
112
- if (invitee.phoneNumber) {
113
- return !DIALER_REGEX.E164_FORMAT.test(invitee.phoneNumber);
114
- }
115
-
116
- return !VALID_EMAIL_ADDRESS.test(invitee.email || invitee.emailAddress);
117
- };
118
-
119
- MembersUtil.getRemoveMemberRequestParams = (options) => {
120
- const body = {
121
- reason: options.reason,
122
- };
123
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;
124
-
125
- return {
126
- method: HTTP_VERBS.PUT,
127
- uri,
128
- body,
129
- };
130
- };
131
-
132
- MembersUtil.generateTransferHostMemberOptions = (transfer, moderator, locusUrl) => ({
133
- moderator,
134
- locusUrl,
135
- memberId: transfer,
136
- });
137
-
138
- MembersUtil.generateRemoveMemberOptions = (removal, locusUrl) => ({
139
- reason: _FORCED_,
140
- memberId: removal,
141
- locusUrl,
142
- });
143
-
144
- MembersUtil.generateMuteMemberOptions = (memberId, status, locusUrl, isAudio) => ({
145
- memberId,
146
- muted: status,
147
- locusUrl,
148
- isAudio,
149
- });
150
-
151
- MembersUtil.generateRaiseHandMemberOptions = (memberId, status, locusUrl) => ({
152
- memberId,
153
- raised: status,
154
- locusUrl,
155
- });
156
-
157
- /**
158
- * @param {String} memberId
159
- * @param {[ServerRoleShape]} roles
160
- * @param {String} locusUrl
161
- * @returns {RoleAssignmentOptions}
162
- */
163
- MembersUtil.generateRoleAssignmentMemberOptions = (
164
- memberId: string,
165
- roles: Array<ServerRoleShape>,
166
- locusUrl: string
167
- ): RoleAssignmentOptions => ({
168
- memberId,
169
- roles,
170
- locusUrl,
171
- });
172
-
173
- MembersUtil.generateLowerAllHandsMemberOptions = (requestingParticipantId, locusUrl) => ({
174
- requestingParticipantId,
175
- locusUrl,
176
- });
177
-
178
- /**
179
- * @param {String} memberId id of the participant who is receiving request
180
- * @param {String} requestingParticipantId id of the participant who is sending request (optional)
181
- * @param {String} alias alias name
182
- * @param {String} locusUrl url
183
- * @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}
184
- */
185
- MembersUtil.generateEditDisplayNameMemberOptions = (
186
- memberId,
187
- requestingParticipantId,
188
- alias,
189
- locusUrl
190
- ) => ({
191
- memberId,
192
- requestingParticipantId,
193
- alias,
194
- locusUrl,
195
- });
196
-
197
- MembersUtil.getMuteMemberRequestParams = (options) => {
198
- const property = options.isAudio === false ? 'video' : 'audio';
199
- const body = {
200
- [property]: {
201
- muted: options.muted,
202
- },
203
- };
204
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
205
-
206
- return {
207
- method: HTTP_VERBS.PATCH,
208
- uri,
209
- body,
210
- };
211
- };
212
-
213
- /**
214
- * @param {RoleAssignmentOptions} options
215
- * @returns {RoleAssignmentRequest} the request parameters (method, uri, body) needed to make a addMember request
216
- */
217
- MembersUtil.getRoleAssignmentMemberRequestParams = (
218
- options: RoleAssignmentOptions
219
- ): RoleAssignmentRequest => {
220
- const body = {role: {roles: []}};
221
- options.roles.forEach((role) => {
222
- body.role.roles.push({type: role.type, hasRole: role.hasRole});
223
- });
224
-
225
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
226
-
227
- return {
228
- method: HTTP_VERBS.PATCH,
229
- uri,
230
- body,
231
- };
232
- };
233
-
234
- MembersUtil.getRaiseHandMemberRequestParams = (options) => {
235
- const body = {
236
- hand: {
237
- raised: options.raised,
238
- },
239
- };
240
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
241
-
242
- return {
243
- method: HTTP_VERBS.PATCH,
244
- uri,
245
- body,
246
- };
247
- };
248
-
249
- MembersUtil.getLowerAllHandsMemberRequestParams = (options) => {
250
- const body = {
251
- hand: {
252
- raised: false,
253
- },
254
- requestingParticipantId: options.requestingParticipantId,
255
- };
256
- const uri = `${options.locusUrl}/${CONTROLS}`;
257
-
258
- return {
259
- method: HTTP_VERBS.PATCH,
260
- uri,
261
- body,
262
- };
263
- };
264
-
265
- /**
266
- * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
267
- * @returns {Object} request parameters (method, uri, body) needed to make a editDisplayName request
268
- */
269
- MembersUtil.editDisplayNameMemberRequestParams = (options) => {
270
- const body = {
271
- aliasValue: options.alias,
272
- requestingParticipantId: options.requestingParticipantId,
273
- };
274
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${ALIAS}`;
275
-
276
- return {
277
- method: HTTP_VERBS.POST,
278
- uri,
279
- body,
280
- };
281
- };
282
-
283
- MembersUtil.getTransferHostToMemberRequestParams = (options) => {
284
- const body = {
285
- role: {
286
- moderator: options.moderator,
287
- },
288
- };
289
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
290
-
291
- return {
292
- method: HTTP_VERBS.PATCH,
293
- uri,
294
- body,
295
- };
296
- };
297
-
298
- MembersUtil.genderateSendDTMFOptions = (url, tones, memberId, locusUrl) => ({
299
- url,
300
- tones,
301
- memberId,
302
- locusUrl,
303
- });
304
-
305
- MembersUtil.generateSendDTMFRequestParams = ({url, tones, memberId, locusUrl}) => {
306
- const body = {
307
- device: {
308
- url,
309
- },
310
- memberId,
311
- dtmf: {
312
- correlationId: uuid.v4(),
313
- tones,
314
- direction: 'transmit',
315
- },
316
- };
317
- const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;
318
-
319
- return {
320
- method: HTTP_VERBS.POST,
321
- uri,
322
- body,
323
- };
324
- };
325
-
326
- MembersUtil.cancelPhoneInviteOptions = (invitee, locusUrl) => ({
327
- invitee,
328
- locusUrl,
329
- });
330
-
331
- MembersUtil.generateCancelInviteRequestParams = (options) => {
332
- const body = {
333
- actionType: _REMOVE_,
17
+ const MembersUtil = {
18
+ /**
19
+ * @param {Object} invitee with emailAddress, email or phoneNumber
20
+ * @param {String} locusUrl
21
+ * @param {Boolean} alertIfActive
22
+ * @returns {Object} the format object
23
+ */
24
+ generateAddMemberOptions: (invitee: object, locusUrl: string, alertIfActive: boolean) => ({
25
+ invitee,
26
+ locusUrl,
27
+ alertIfActive,
28
+ }),
29
+
30
+ /**
31
+ * @param {Array} memberIds
32
+ * @param {String} locusUrl
33
+ * @returns {Object} the format object
34
+ */
35
+ generateAdmitMemberOptions: (memberIds: Array<any>, locusUrl: string) => ({
36
+ locusUrl,
37
+ memberIds,
38
+ }),
39
+
40
+ /**
41
+ * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}
42
+ * @returns {Object} with {invitees: [{address}], alertIfActive}
43
+ */
44
+ getAddMemberBody: (options: any) => ({
334
45
  invitees: [
335
46
  {
336
- address: options.invitee.phoneNumber,
47
+ address:
48
+ options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,
337
49
  },
338
50
  ],
339
- };
340
- const requestParams = {
341
- method: HTTP_VERBS.PUT,
342
- uri: options.locusUrl,
343
- body,
344
- };
345
-
346
- return requestParams;
51
+ alertIfActive: options.alertIfActive,
52
+ }),
53
+
54
+ /**
55
+ * @param {Object} options with {memberIds, authorizingLocusUrl}
56
+ * @returns {Object} admit with {memberIds}
57
+ */
58
+ getAdmitMemberRequestBody: (options: any) => {
59
+ const {memberIds, sessionLocusUrls} = options;
60
+ const body: any = {admit: {participantIds: memberIds}};
61
+ if (sessionLocusUrls) {
62
+ const {authorizingLocusUrl} = sessionLocusUrls;
63
+
64
+ return {authorizingLocusUrl, ...body};
65
+ }
66
+
67
+ return body;
68
+ },
69
+
70
+ /**
71
+ * @param {Object} format with {memberIds, locusUrl, sessionLocusUrls}
72
+ * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request
73
+ * if a host/cohost is in a breakout session, the locus url should be the main session locus url
74
+ */
75
+ getAdmitMemberRequestParams: (format: any) => {
76
+ const body = MembersUtil.getAdmitMemberRequestBody(format);
77
+ const {locusUrl, sessionLocusUrls} = format;
78
+ const baseUrl = sessionLocusUrls?.mainLocusUrl || locusUrl;
79
+ const uri = `${baseUrl}/${CONTROLS}`;
80
+
81
+ return {
82
+ method: HTTP_VERBS.PUT,
83
+ uri,
84
+ body,
85
+ };
86
+ },
87
+
88
+ /**
89
+ * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}
90
+ * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request
91
+ */
92
+ getAddMemberRequestParams: (format: any) => {
93
+ const body = MembersUtil.getAddMemberBody(format);
94
+ const requestParams = {
95
+ method: HTTP_VERBS.PUT,
96
+ uri: format.locusUrl,
97
+ body,
98
+ };
99
+
100
+ return requestParams;
101
+ },
102
+
103
+ isInvalidInvitee: (invitee) => {
104
+ if (!(invitee && (invitee.email || invitee.emailAddress || invitee.phoneNumber))) {
105
+ return true;
106
+ }
107
+
108
+ if (invitee.phoneNumber) {
109
+ return !DIALER_REGEX.E164_FORMAT.test(invitee.phoneNumber);
110
+ }
111
+
112
+ return !VALID_EMAIL_ADDRESS.test(invitee.email || invitee.emailAddress);
113
+ },
114
+
115
+ getRemoveMemberRequestParams: (options) => {
116
+ const body = {
117
+ reason: options.reason,
118
+ };
119
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;
120
+
121
+ return {
122
+ method: HTTP_VERBS.PUT,
123
+ uri,
124
+ body,
125
+ };
126
+ },
127
+
128
+ generateTransferHostMemberOptions: (transfer, moderator, locusUrl) => ({
129
+ moderator,
130
+ locusUrl,
131
+ memberId: transfer,
132
+ }),
133
+
134
+ generateRemoveMemberOptions: (removal, locusUrl) => ({
135
+ reason: _FORCED_,
136
+ memberId: removal,
137
+ locusUrl,
138
+ }),
139
+
140
+ generateMuteMemberOptions: (memberId, status, locusUrl, isAudio) => ({
141
+ memberId,
142
+ muted: status,
143
+ locusUrl,
144
+ isAudio,
145
+ }),
146
+
147
+ generateRaiseHandMemberOptions: (memberId, status, locusUrl) => ({
148
+ memberId,
149
+ raised: status,
150
+ locusUrl,
151
+ }),
152
+
153
+ /**
154
+ * @param {String} memberId
155
+ * @param {[ServerRoleShape]} roles
156
+ * @param {String} locusUrl
157
+ * @returns {RoleAssignmentOptions}
158
+ */
159
+ generateRoleAssignmentMemberOptions: (
160
+ memberId: string,
161
+ roles: Array<ServerRoleShape>,
162
+ locusUrl: string
163
+ ): RoleAssignmentOptions => ({
164
+ memberId,
165
+ roles,
166
+ locusUrl,
167
+ }),
168
+
169
+ generateLowerAllHandsMemberOptions: (requestingParticipantId, locusUrl) => ({
170
+ requestingParticipantId,
171
+ locusUrl,
172
+ }),
173
+
174
+ /**
175
+ * @param {String} memberId id of the participant who is receiving request
176
+ * @param {String} requestingParticipantId id of the participant who is sending request (optional)
177
+ * @param {String} alias alias name
178
+ * @param {String} locusUrl url
179
+ * @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}
180
+ */
181
+ generateEditDisplayNameMemberOptions: (memberId, requestingParticipantId, alias, locusUrl) => ({
182
+ memberId,
183
+ requestingParticipantId,
184
+ alias,
185
+ locusUrl,
186
+ }),
187
+
188
+ getMuteMemberRequestParams: (options) => {
189
+ const property = options.isAudio === false ? 'video' : 'audio';
190
+ const body = {
191
+ [property]: {
192
+ muted: options.muted,
193
+ },
194
+ };
195
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
196
+
197
+ return {
198
+ method: HTTP_VERBS.PATCH,
199
+ uri,
200
+ body,
201
+ };
202
+ },
203
+
204
+ /**
205
+ * @param {RoleAssignmentOptions} options
206
+ * @returns {RoleAssignmentRequest} the request parameters (method, uri, body) needed to make a addMember request
207
+ */
208
+ getRoleAssignmentMemberRequestParams: (options: RoleAssignmentOptions): RoleAssignmentRequest => {
209
+ const body = {role: {roles: []}};
210
+ options.roles.forEach((role) => {
211
+ body.role.roles.push({type: role.type, hasRole: role.hasRole});
212
+ });
213
+
214
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
215
+
216
+ return {
217
+ method: HTTP_VERBS.PATCH,
218
+ uri,
219
+ body,
220
+ };
221
+ },
222
+
223
+ getRaiseHandMemberRequestParams: (options) => {
224
+ const body = {
225
+ hand: {
226
+ raised: options.raised,
227
+ },
228
+ };
229
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
230
+
231
+ return {
232
+ method: HTTP_VERBS.PATCH,
233
+ uri,
234
+ body,
235
+ };
236
+ },
237
+
238
+ getLowerAllHandsMemberRequestParams: (options) => {
239
+ const body = {
240
+ hand: {
241
+ raised: false,
242
+ },
243
+ requestingParticipantId: options.requestingParticipantId,
244
+ };
245
+ const uri = `${options.locusUrl}/${CONTROLS}`;
246
+
247
+ return {
248
+ method: HTTP_VERBS.PATCH,
249
+ uri,
250
+ body,
251
+ };
252
+ },
253
+
254
+ /**
255
+ * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
256
+ * @returns {Object} request parameters (method, uri, body) needed to make a editDisplayName request
257
+ */
258
+ editDisplayNameMemberRequestParams: (options) => {
259
+ const body = {
260
+ aliasValue: options.alias,
261
+ requestingParticipantId: options.requestingParticipantId,
262
+ };
263
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${ALIAS}`;
264
+
265
+ return {
266
+ method: HTTP_VERBS.POST,
267
+ uri,
268
+ body,
269
+ };
270
+ },
271
+
272
+ getTransferHostToMemberRequestParams: (options) => {
273
+ const body = {
274
+ role: {
275
+ moderator: options.moderator,
276
+ },
277
+ };
278
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
279
+
280
+ return {
281
+ method: HTTP_VERBS.PATCH,
282
+ uri,
283
+ body,
284
+ };
285
+ },
286
+
287
+ genderateSendDTMFOptions: (url, tones, memberId, locusUrl) => ({
288
+ url,
289
+ tones,
290
+ memberId,
291
+ locusUrl,
292
+ }),
293
+
294
+ generateSendDTMFRequestParams: ({url, tones, memberId, locusUrl}) => {
295
+ const body = {
296
+ device: {
297
+ url,
298
+ },
299
+ memberId,
300
+ dtmf: {
301
+ correlationId: uuid.v4(),
302
+ tones,
303
+ direction: 'transmit',
304
+ },
305
+ };
306
+ const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;
307
+
308
+ return {
309
+ method: HTTP_VERBS.POST,
310
+ uri,
311
+ body,
312
+ };
313
+ },
314
+
315
+ cancelPhoneInviteOptions: (invitee, locusUrl) => ({
316
+ invitee,
317
+ locusUrl,
318
+ }),
319
+
320
+ generateCancelInviteRequestParams: (options) => {
321
+ const body = {
322
+ actionType: _REMOVE_,
323
+ invitees: [
324
+ {
325
+ address: options.invitee.phoneNumber,
326
+ },
327
+ ],
328
+ };
329
+ const requestParams = {
330
+ method: HTTP_VERBS.PUT,
331
+ uri: options.locusUrl,
332
+ body,
333
+ };
334
+
335
+ return requestParams;
336
+ },
347
337
  };
348
338
 
349
339
  export default MembersUtil;
@@ -246,6 +246,7 @@ describe('live-annotation', () => {
246
246
  locusUrl: "https://locus.wbx2.com/locus/api/v1/loci/163c1787-c1f5-47cc-95eb-ab2d660999e6",
247
247
  shareInstanceId: "7fa6fe07-dcb1-41ad-973d-7bcf65fab55d",
248
248
  encryptionKeyUrl: "encryptionKeyUrl",
249
+ version: '1',
249
250
  };
250
251
 
251
252
  annotationService.publishEncrypted(strokeData.content, strokeData);
@@ -264,7 +265,7 @@ describe('live-annotation', () => {
264
265
  type: ANNOTATION_REQUEST_TYPE.ANNOTATION_MESSAGE,
265
266
  locusUrl: locusUrl,
266
267
  content: strokeData.content,
267
- version: "mVersion",
268
+ version: '1',
268
269
  fromUserId: strokeData.fromUserId,
269
270
  fromDeviceUrl: strokeData.fromDeviceUrl,
270
271
  shareInstanceId: strokeData.shareInstanceId,