@webex/plugin-memberships 2.59.2 → 2.59.3-next.1
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.
- package/.eslintrc.js +6 -6
- package/README.md +50 -50
- package/babel.config.js +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/memberships.js +297 -297
- package/dist/memberships.js.map +1 -1
- package/jest.config.js +3 -3
- package/package.json +20 -19
- package/process +1 -1
- package/src/index.js +14 -14
- package/src/memberships.js +654 -654
- package/test/integration/spec/memberships.js +854 -854
package/dist/memberships.js
CHANGED
|
@@ -11,75 +11,75 @@ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/
|
|
|
11
11
|
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
12
12
|
var _common = require("@webex/common");
|
|
13
13
|
var _webexCore = require("@webex/webex-core");
|
|
14
|
-
/*!
|
|
15
|
-
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
14
|
+
/*!
|
|
15
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
var debug = require('debug')('memberships');
|
|
19
19
|
|
|
20
|
-
/**
|
|
21
|
-
* @typedef {Object} MembershipObject
|
|
22
|
-
* @property {string} id - Unique identifier for the membership
|
|
23
|
-
* @property {string} roomId - The room ID
|
|
24
|
-
* @property {string} personId - The person ID
|
|
25
|
-
* @property {email} personEmail - The email address of the person / room member
|
|
26
|
-
* @property {boolean} isModerator - Indicates whether the specified person should be a room moderator
|
|
27
|
-
* @property {boolean} isMonitor - Indicates whether the specified member is a room monitor
|
|
28
|
-
* @property {isoDate} created - The date and time that this membership was created
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {Object} MembershipObject
|
|
22
|
+
* @property {string} id - Unique identifier for the membership
|
|
23
|
+
* @property {string} roomId - The room ID
|
|
24
|
+
* @property {string} personId - The person ID
|
|
25
|
+
* @property {email} personEmail - The email address of the person / room member
|
|
26
|
+
* @property {boolean} isModerator - Indicates whether the specified person should be a room moderator
|
|
27
|
+
* @property {boolean} isMonitor - Indicates whether the specified member is a room monitor
|
|
28
|
+
* @property {isoDate} created - The date and time that this membership was created
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
|
-
/**
|
|
32
|
-
* Memberships represent a person's relationship to a room. Use this API to list
|
|
33
|
-
* members of any room that you're in or create memberships to invite someone
|
|
34
|
-
* to a room. Memberships can also be updated to make someone a moderator
|
|
35
|
-
* or deleted to remove them from the room.
|
|
36
|
-
* @class
|
|
37
|
-
* @name Memberships
|
|
31
|
+
/**
|
|
32
|
+
* Memberships represent a person's relationship to a room. Use this API to list
|
|
33
|
+
* members of any room that you're in or create memberships to invite someone
|
|
34
|
+
* to a room. Memberships can also be updated to make someone a moderator
|
|
35
|
+
* or deleted to remove them from the room.
|
|
36
|
+
* @class
|
|
37
|
+
* @name Memberships
|
|
38
38
|
*/
|
|
39
39
|
var Memberships = _webexCore.WebexPlugin.extend({
|
|
40
|
-
/**
|
|
41
|
-
* Register to listen for incoming membership events
|
|
42
|
-
* This is an alternate approach to registering for membership webhooks.
|
|
43
|
-
* The events passed to any registered handlers will be similar to the webhook JSON,
|
|
44
|
-
* but will omit webhook specific fields such as name, secret, url, etc.
|
|
45
|
-
* To utilize the `listen()` method, the authorization token used
|
|
46
|
-
* will need to have `spark:all` and `spark:kms` scopes enabled.
|
|
47
|
-
* Note that by configuring your application to enable or disable `spark:all`
|
|
48
|
-
* via its configuration page will also enable or disable `spark:kms`.
|
|
49
|
-
* See the <a href="https://webex.github.io/webex-js-sdk/samples/browser-socket/">Sample App</a>
|
|
50
|
-
* for more details.
|
|
51
|
-
* @instance
|
|
52
|
-
* @memberof Memberships
|
|
53
|
-
* @returns {Promise}
|
|
54
|
-
* @example
|
|
55
|
-
* webex.memberships.listen()
|
|
56
|
-
* .then(() => {
|
|
57
|
-
* console.log('listening to membership events');
|
|
58
|
-
* webex.memberships.on('created', (event) => {
|
|
59
|
-
* console.log(`Got a membership:created event:\n${event}`);
|
|
60
|
-
* }
|
|
61
|
-
* webex.memberships.on('updated', (event) => {
|
|
62
|
-
* console.log(`Got a membership:updated event:\n${event}`);
|
|
63
|
-
* }
|
|
64
|
-
* webex.memberships.on('seen', (event) => {
|
|
65
|
-
* // This represents a "read receipt" and will include a
|
|
66
|
-
* // lastSeenId for the message this member has just "read",
|
|
67
|
-
* // There is currently no equivalent webhook for this event.
|
|
68
|
-
* console.log(`Got a membership:seen event:\n${event}`);
|
|
69
|
-
* }
|
|
70
|
-
* webex.memberships.on('deleted', (event) => => {
|
|
71
|
-
* console.log(`Got a membership:created event:\n${event}`);
|
|
72
|
-
* }
|
|
73
|
-
* })
|
|
74
|
-
* .catch((e) => console.error(`Unable to register for membership events: ${e}`));
|
|
75
|
-
* // App logic goes here...
|
|
76
|
-
* // Later when it is time to clean up
|
|
77
|
-
* webex.memberships.stopListening();
|
|
78
|
-
* webex.memberships.off('created');
|
|
79
|
-
* webex.memberships.off('updated');
|
|
80
|
-
* webex.memberships.off('seen');
|
|
81
|
-
* webex.memberships.off('deleted');
|
|
82
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Register to listen for incoming membership events
|
|
42
|
+
* This is an alternate approach to registering for membership webhooks.
|
|
43
|
+
* The events passed to any registered handlers will be similar to the webhook JSON,
|
|
44
|
+
* but will omit webhook specific fields such as name, secret, url, etc.
|
|
45
|
+
* To utilize the `listen()` method, the authorization token used
|
|
46
|
+
* will need to have `spark:all` and `spark:kms` scopes enabled.
|
|
47
|
+
* Note that by configuring your application to enable or disable `spark:all`
|
|
48
|
+
* via its configuration page will also enable or disable `spark:kms`.
|
|
49
|
+
* See the <a href="https://webex.github.io/webex-js-sdk/samples/browser-socket/">Sample App</a>
|
|
50
|
+
* for more details.
|
|
51
|
+
* @instance
|
|
52
|
+
* @memberof Memberships
|
|
53
|
+
* @returns {Promise}
|
|
54
|
+
* @example
|
|
55
|
+
* webex.memberships.listen()
|
|
56
|
+
* .then(() => {
|
|
57
|
+
* console.log('listening to membership events');
|
|
58
|
+
* webex.memberships.on('created', (event) => {
|
|
59
|
+
* console.log(`Got a membership:created event:\n${event}`);
|
|
60
|
+
* }
|
|
61
|
+
* webex.memberships.on('updated', (event) => {
|
|
62
|
+
* console.log(`Got a membership:updated event:\n${event}`);
|
|
63
|
+
* }
|
|
64
|
+
* webex.memberships.on('seen', (event) => {
|
|
65
|
+
* // This represents a "read receipt" and will include a
|
|
66
|
+
* // lastSeenId for the message this member has just "read",
|
|
67
|
+
* // There is currently no equivalent webhook for this event.
|
|
68
|
+
* console.log(`Got a membership:seen event:\n${event}`);
|
|
69
|
+
* }
|
|
70
|
+
* webex.memberships.on('deleted', (event) => => {
|
|
71
|
+
* console.log(`Got a membership:created event:\n${event}`);
|
|
72
|
+
* }
|
|
73
|
+
* })
|
|
74
|
+
* .catch((e) => console.error(`Unable to register for membership events: ${e}`));
|
|
75
|
+
* // App logic goes here...
|
|
76
|
+
* // Later when it is time to clean up
|
|
77
|
+
* webex.memberships.stopListening();
|
|
78
|
+
* webex.memberships.off('created');
|
|
79
|
+
* webex.memberships.off('updated');
|
|
80
|
+
* webex.memberships.off('seen');
|
|
81
|
+
* webex.memberships.off('deleted');
|
|
82
|
+
*/
|
|
83
83
|
listen: function listen() {
|
|
84
84
|
var _this = this;
|
|
85
85
|
// Create a common envelope that we will wrap all events in
|
|
@@ -94,34 +94,34 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
96
|
},
|
|
97
|
-
/**
|
|
98
|
-
* Adds a person to a room. The person can be added by ID (`personId`) or by
|
|
99
|
-
* Email Address (`personEmail`). The person can be optionally added to the room
|
|
100
|
-
* as a moderator.
|
|
101
|
-
* @instance
|
|
102
|
-
* @memberof Memberships
|
|
103
|
-
* @param {MembershipObject} membership
|
|
104
|
-
* @returns {Promise<MembershipObject>}
|
|
105
|
-
* @example
|
|
106
|
-
* webex.rooms.create({title: 'Create Membership Example'})
|
|
107
|
-
* .then(function(room) {
|
|
108
|
-
* return webex.memberships.create({
|
|
109
|
-
* personEmail: 'alice@example.com',
|
|
110
|
-
* roomId: room.id
|
|
111
|
-
* });
|
|
112
|
-
* })
|
|
113
|
-
* .then(function(membership) {
|
|
114
|
-
* var assert = require('assert');
|
|
115
|
-
* assert(membership.id);
|
|
116
|
-
* assert(membership.roomId);
|
|
117
|
-
* assert(membership.personId);
|
|
118
|
-
* assert(membership.personEmail);
|
|
119
|
-
* assert('isModerator' in membership);
|
|
120
|
-
* assert('isMonitor' in membership);
|
|
121
|
-
* assert(membership.created);
|
|
122
|
-
* return 'success';
|
|
123
|
-
* });
|
|
124
|
-
* // => success
|
|
97
|
+
/**
|
|
98
|
+
* Adds a person to a room. The person can be added by ID (`personId`) or by
|
|
99
|
+
* Email Address (`personEmail`). The person can be optionally added to the room
|
|
100
|
+
* as a moderator.
|
|
101
|
+
* @instance
|
|
102
|
+
* @memberof Memberships
|
|
103
|
+
* @param {MembershipObject} membership
|
|
104
|
+
* @returns {Promise<MembershipObject>}
|
|
105
|
+
* @example
|
|
106
|
+
* webex.rooms.create({title: 'Create Membership Example'})
|
|
107
|
+
* .then(function(room) {
|
|
108
|
+
* return webex.memberships.create({
|
|
109
|
+
* personEmail: 'alice@example.com',
|
|
110
|
+
* roomId: room.id
|
|
111
|
+
* });
|
|
112
|
+
* })
|
|
113
|
+
* .then(function(membership) {
|
|
114
|
+
* var assert = require('assert');
|
|
115
|
+
* assert(membership.id);
|
|
116
|
+
* assert(membership.roomId);
|
|
117
|
+
* assert(membership.personId);
|
|
118
|
+
* assert(membership.personEmail);
|
|
119
|
+
* assert('isModerator' in membership);
|
|
120
|
+
* assert('isMonitor' in membership);
|
|
121
|
+
* assert(membership.created);
|
|
122
|
+
* return 'success';
|
|
123
|
+
* });
|
|
124
|
+
* // => success
|
|
125
125
|
*/
|
|
126
126
|
create: function create(membership) {
|
|
127
127
|
return this.request({
|
|
@@ -133,31 +133,31 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
133
133
|
return res.body;
|
|
134
134
|
});
|
|
135
135
|
},
|
|
136
|
-
/**
|
|
137
|
-
* Returns a single membership.
|
|
138
|
-
* @instance
|
|
139
|
-
* @memberof Memberships
|
|
140
|
-
* @param {MembershipObject|uuid} membership
|
|
141
|
-
* @returns {Promise<MembershipObject>}
|
|
142
|
-
* @example
|
|
143
|
-
* var membership;
|
|
144
|
-
* webex.rooms.create({title: 'Get Membership Example'})
|
|
145
|
-
* .then(function(room) {
|
|
146
|
-
* return webex.memberships.create({
|
|
147
|
-
* personEmail: 'alice@example.com',
|
|
148
|
-
* roomId: room.id
|
|
149
|
-
* });
|
|
150
|
-
* })
|
|
151
|
-
* .then(function(m) {
|
|
152
|
-
* membership = m;
|
|
153
|
-
* return webex.memberships.get(m.id);
|
|
154
|
-
* })
|
|
155
|
-
* .then(function(m) {
|
|
156
|
-
* var assert = require('assert');
|
|
157
|
-
* assert.deepEqual(m, membership);
|
|
158
|
-
* return 'success';
|
|
159
|
-
* });
|
|
160
|
-
* // => success
|
|
136
|
+
/**
|
|
137
|
+
* Returns a single membership.
|
|
138
|
+
* @instance
|
|
139
|
+
* @memberof Memberships
|
|
140
|
+
* @param {MembershipObject|uuid} membership
|
|
141
|
+
* @returns {Promise<MembershipObject>}
|
|
142
|
+
* @example
|
|
143
|
+
* var membership;
|
|
144
|
+
* webex.rooms.create({title: 'Get Membership Example'})
|
|
145
|
+
* .then(function(room) {
|
|
146
|
+
* return webex.memberships.create({
|
|
147
|
+
* personEmail: 'alice@example.com',
|
|
148
|
+
* roomId: room.id
|
|
149
|
+
* });
|
|
150
|
+
* })
|
|
151
|
+
* .then(function(m) {
|
|
152
|
+
* membership = m;
|
|
153
|
+
* return webex.memberships.get(m.id);
|
|
154
|
+
* })
|
|
155
|
+
* .then(function(m) {
|
|
156
|
+
* var assert = require('assert');
|
|
157
|
+
* assert.deepEqual(m, membership);
|
|
158
|
+
* return 'success';
|
|
159
|
+
* });
|
|
160
|
+
* // => success
|
|
161
161
|
*/
|
|
162
162
|
get: function get(membership) {
|
|
163
163
|
var id = membership.id || membership;
|
|
@@ -168,41 +168,41 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
168
168
|
return res.body.items || res.body;
|
|
169
169
|
});
|
|
170
170
|
},
|
|
171
|
-
/**
|
|
172
|
-
* Returns a list of memberships. In most cases the results will only contain
|
|
173
|
-
* rooms that the authenticated user is a member of. You can filter the results
|
|
174
|
-
* by room to list people in a room or by person to find rooms that a
|
|
175
|
-
* specific person is a member of.
|
|
176
|
-
* @instance
|
|
177
|
-
* @memberof Memberships
|
|
178
|
-
* @param {Object} options
|
|
179
|
-
* @param {string} options.personId
|
|
180
|
-
* @param {string} options.personEmail
|
|
181
|
-
* @param {string} options.roomId
|
|
182
|
-
* @param {number} options.max
|
|
183
|
-
* @returns {Promise<Page<MembershipObject>>}
|
|
184
|
-
* @example
|
|
185
|
-
* var room;
|
|
186
|
-
* webex.rooms.create({title: 'List Membership Example'})
|
|
187
|
-
* .then(function(r) {
|
|
188
|
-
* room = r;
|
|
189
|
-
* return webex.memberships.create({
|
|
190
|
-
* personEmail: 'alice@example.com',
|
|
191
|
-
* roomId: room.id
|
|
192
|
-
* });
|
|
193
|
-
* })
|
|
194
|
-
* .then(function() {
|
|
195
|
-
* return webex.memberships.list({roomId: room.id});
|
|
196
|
-
* })
|
|
197
|
-
* .then(function(memberships) {
|
|
198
|
-
* var assert = require('assert');
|
|
199
|
-
* assert.equal(memberships.length, 2);
|
|
200
|
-
* for (var i = 0; i < memberships.length; i+= 1) {
|
|
201
|
-
* assert.equal(memberships.items[i].roomId, room.id);
|
|
202
|
-
* }
|
|
203
|
-
* return 'success';
|
|
204
|
-
* });
|
|
205
|
-
* // => success
|
|
171
|
+
/**
|
|
172
|
+
* Returns a list of memberships. In most cases the results will only contain
|
|
173
|
+
* rooms that the authenticated user is a member of. You can filter the results
|
|
174
|
+
* by room to list people in a room or by person to find rooms that a
|
|
175
|
+
* specific person is a member of.
|
|
176
|
+
* @instance
|
|
177
|
+
* @memberof Memberships
|
|
178
|
+
* @param {Object} options
|
|
179
|
+
* @param {string} options.personId
|
|
180
|
+
* @param {string} options.personEmail
|
|
181
|
+
* @param {string} options.roomId
|
|
182
|
+
* @param {number} options.max
|
|
183
|
+
* @returns {Promise<Page<MembershipObject>>}
|
|
184
|
+
* @example
|
|
185
|
+
* var room;
|
|
186
|
+
* webex.rooms.create({title: 'List Membership Example'})
|
|
187
|
+
* .then(function(r) {
|
|
188
|
+
* room = r;
|
|
189
|
+
* return webex.memberships.create({
|
|
190
|
+
* personEmail: 'alice@example.com',
|
|
191
|
+
* roomId: room.id
|
|
192
|
+
* });
|
|
193
|
+
* })
|
|
194
|
+
* .then(function() {
|
|
195
|
+
* return webex.memberships.list({roomId: room.id});
|
|
196
|
+
* })
|
|
197
|
+
* .then(function(memberships) {
|
|
198
|
+
* var assert = require('assert');
|
|
199
|
+
* assert.equal(memberships.length, 2);
|
|
200
|
+
* for (var i = 0; i < memberships.length; i+= 1) {
|
|
201
|
+
* assert.equal(memberships.items[i].roomId, room.id);
|
|
202
|
+
* }
|
|
203
|
+
* return 'success';
|
|
204
|
+
* });
|
|
205
|
+
* // => success
|
|
206
206
|
*/
|
|
207
207
|
list: function list(options) {
|
|
208
208
|
var _this2 = this;
|
|
@@ -214,32 +214,32 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
214
214
|
return new _webexCore.Page(res, _this2.webex);
|
|
215
215
|
});
|
|
216
216
|
},
|
|
217
|
-
/**
|
|
218
|
-
* Returns a list of memberships with details about the lastSeenId for each
|
|
219
|
-
* user, allowing a client to indicate "read status" in a space GUI
|
|
220
|
-
*
|
|
221
|
-
* This differs from the memberships.list() function in the following ways:
|
|
222
|
-
* -- it accepts only a room or object with a valid roomId
|
|
223
|
-
* -- no other options, eg: max, are considered
|
|
224
|
-
* -- results are not paginated
|
|
225
|
-
* -- memberships in the return do not include the
|
|
226
|
-
* "created", "isRoomHidden", fields
|
|
227
|
-
* -- memberships in the return do include the new
|
|
228
|
-
* "lastSeenId", and "lastSeenDate" fields
|
|
229
|
-
* these will not exist if the member has never "seen" the space
|
|
230
|
-
*
|
|
231
|
-
* In general this function should be used only when the
|
|
232
|
-
* client needs to access read status info.
|
|
233
|
-
*
|
|
234
|
-
* This function may be deprecated when this info is provided in the membership
|
|
235
|
-
* objects returned in the list function.
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
* @instance
|
|
239
|
-
* @memberof Memberships
|
|
240
|
-
* @param {Object} options
|
|
241
|
-
* @param {string} options.roomId
|
|
242
|
-
* @returns {Promise<MembershipObjectList>}
|
|
217
|
+
/**
|
|
218
|
+
* Returns a list of memberships with details about the lastSeenId for each
|
|
219
|
+
* user, allowing a client to indicate "read status" in a space GUI
|
|
220
|
+
*
|
|
221
|
+
* This differs from the memberships.list() function in the following ways:
|
|
222
|
+
* -- it accepts only a room or object with a valid roomId
|
|
223
|
+
* -- no other options, eg: max, are considered
|
|
224
|
+
* -- results are not paginated
|
|
225
|
+
* -- memberships in the return do not include the
|
|
226
|
+
* "created", "isRoomHidden", fields
|
|
227
|
+
* -- memberships in the return do include the new
|
|
228
|
+
* "lastSeenId", and "lastSeenDate" fields
|
|
229
|
+
* these will not exist if the member has never "seen" the space
|
|
230
|
+
*
|
|
231
|
+
* In general this function should be used only when the
|
|
232
|
+
* client needs to access read status info.
|
|
233
|
+
*
|
|
234
|
+
* This function may be deprecated when this info is provided in the membership
|
|
235
|
+
* objects returned in the list function.
|
|
236
|
+
*
|
|
237
|
+
*
|
|
238
|
+
* @instance
|
|
239
|
+
* @memberof Memberships
|
|
240
|
+
* @param {Object} options
|
|
241
|
+
* @param {string} options.roomId
|
|
242
|
+
* @returns {Promise<MembershipObjectList>}
|
|
243
243
|
*/
|
|
244
244
|
listWithReadStatus: function listWithReadStatus(options) {
|
|
245
245
|
var _this3 = this;
|
|
@@ -303,40 +303,40 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
303
303
|
});
|
|
304
304
|
});
|
|
305
305
|
},
|
|
306
|
-
/**
|
|
307
|
-
* Deletes a single membership.
|
|
308
|
-
* @instance
|
|
309
|
-
* @memberof Memberships
|
|
310
|
-
* @param {MembershipObject|uuid} membership
|
|
311
|
-
* @returns {Promise}
|
|
312
|
-
* @example
|
|
313
|
-
* var membership, room;
|
|
314
|
-
* webex.rooms.create({title: 'Remove Membership Example'})
|
|
315
|
-
* .then(function(r) {
|
|
316
|
-
* room = r;
|
|
317
|
-
* return webex.memberships.create({
|
|
318
|
-
* personEmail: 'alice@example.com',
|
|
319
|
-
* roomId: room.id
|
|
320
|
-
* });
|
|
321
|
-
* })
|
|
322
|
-
* .then(function(m) {
|
|
323
|
-
* membership = m;
|
|
324
|
-
* return webex.memberships.list({roomId: room.id});
|
|
325
|
-
* })
|
|
326
|
-
* .then(function(memberships) {
|
|
327
|
-
* var assert = require('assert');
|
|
328
|
-
* assert.equal(memberships.length, 2);
|
|
329
|
-
* return webex.memberships.remove(membership);
|
|
330
|
-
* })
|
|
331
|
-
* .then(function() {
|
|
332
|
-
* return webex.memberships.list({roomId: room.id});
|
|
333
|
-
* })
|
|
334
|
-
* .then(function(memberships) {
|
|
335
|
-
* var assert = require('assert');
|
|
336
|
-
* assert.equal(memberships.length, 1);
|
|
337
|
-
* return 'success';
|
|
338
|
-
* });
|
|
339
|
-
* // => success
|
|
306
|
+
/**
|
|
307
|
+
* Deletes a single membership.
|
|
308
|
+
* @instance
|
|
309
|
+
* @memberof Memberships
|
|
310
|
+
* @param {MembershipObject|uuid} membership
|
|
311
|
+
* @returns {Promise}
|
|
312
|
+
* @example
|
|
313
|
+
* var membership, room;
|
|
314
|
+
* webex.rooms.create({title: 'Remove Membership Example'})
|
|
315
|
+
* .then(function(r) {
|
|
316
|
+
* room = r;
|
|
317
|
+
* return webex.memberships.create({
|
|
318
|
+
* personEmail: 'alice@example.com',
|
|
319
|
+
* roomId: room.id
|
|
320
|
+
* });
|
|
321
|
+
* })
|
|
322
|
+
* .then(function(m) {
|
|
323
|
+
* membership = m;
|
|
324
|
+
* return webex.memberships.list({roomId: room.id});
|
|
325
|
+
* })
|
|
326
|
+
* .then(function(memberships) {
|
|
327
|
+
* var assert = require('assert');
|
|
328
|
+
* assert.equal(memberships.length, 2);
|
|
329
|
+
* return webex.memberships.remove(membership);
|
|
330
|
+
* })
|
|
331
|
+
* .then(function() {
|
|
332
|
+
* return webex.memberships.list({roomId: room.id});
|
|
333
|
+
* })
|
|
334
|
+
* .then(function(memberships) {
|
|
335
|
+
* var assert = require('assert');
|
|
336
|
+
* assert.equal(memberships.length, 1);
|
|
337
|
+
* return 'success';
|
|
338
|
+
* });
|
|
339
|
+
* // => success
|
|
340
340
|
*/
|
|
341
341
|
remove: function remove(membership) {
|
|
342
342
|
var id = membership.id || membership;
|
|
@@ -353,67 +353,67 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
353
353
|
return res.body;
|
|
354
354
|
});
|
|
355
355
|
},
|
|
356
|
-
/**
|
|
357
|
-
* Used to update a single membership's properties
|
|
358
|
-
* @instance
|
|
359
|
-
* @memberof Memberships
|
|
360
|
-
* @param {MembershipObject|uuid} membership
|
|
361
|
-
* @returns {Promise<MembershipObject>}
|
|
362
|
-
* @example
|
|
363
|
-
* // Change membership to make user a moderator
|
|
364
|
-
* var membership, room;
|
|
365
|
-
* webex.rooms.create({title: 'Memberships Example'})
|
|
366
|
-
* .then(function(r) {
|
|
367
|
-
* room = r;
|
|
368
|
-
* return webex.memberships.list({roomId: room.id});
|
|
369
|
-
* })
|
|
370
|
-
* .then(function(memberships) {
|
|
371
|
-
* membership = memberships.items[0];
|
|
372
|
-
* var assert = require('assert');
|
|
373
|
-
* assert.equal(membership.isModerator, false);
|
|
374
|
-
* membership.isModerator = true;
|
|
375
|
-
* return webex.memberships.update(membership);
|
|
376
|
-
* })
|
|
377
|
-
* .then(function() {
|
|
378
|
-
* return webex.memberships.get(membership.id);
|
|
379
|
-
* })
|
|
380
|
-
* .then(function(membership) {
|
|
381
|
-
* var assert = require('assert');
|
|
382
|
-
* assert.equal(membership.isModerator, true);
|
|
383
|
-
* return 'success';
|
|
384
|
-
* });
|
|
385
|
-
* // => success
|
|
386
|
-
* @example
|
|
387
|
-
* // Hide a one on one space
|
|
388
|
-
* var assert = require('assert');
|
|
389
|
-
* var membership, myId;
|
|
390
|
-
* webex.people.get('me')
|
|
391
|
-
* .then(function(person) {
|
|
392
|
-
* myId = personId;
|
|
393
|
-
* return webex.messages.create({
|
|
394
|
-
* toPersonEmail: 'otherUser@acme.com',
|
|
395
|
-
* text: 'This message will create a 1-1 space'
|
|
396
|
-
* });
|
|
397
|
-
* })
|
|
398
|
-
* then(function(message) {
|
|
399
|
-
* return webex.memberships.list({
|
|
400
|
-
* roomId: message.roomId,
|
|
401
|
-
* personId: myId
|
|
402
|
-
* });
|
|
403
|
-
* })
|
|
404
|
-
* .then((memberships) => {
|
|
405
|
-
* membership = memberships.items[0];
|
|
406
|
-
* assert.equal(membership.isRoomHidden, false);
|
|
407
|
-
* membership.isRoomHidden = true;
|
|
408
|
-
* // This will generate a memberships:updated event
|
|
409
|
-
* // that will only be seen by this user
|
|
410
|
-
* return webex.memberships.update(membership);
|
|
411
|
-
* })
|
|
412
|
-
* .then(function(membership) {
|
|
413
|
-
* assert.equal(membership.isRoomHidden, true);
|
|
414
|
-
* return 'success';
|
|
415
|
-
* });
|
|
416
|
-
* // => success
|
|
356
|
+
/**
|
|
357
|
+
* Used to update a single membership's properties
|
|
358
|
+
* @instance
|
|
359
|
+
* @memberof Memberships
|
|
360
|
+
* @param {MembershipObject|uuid} membership
|
|
361
|
+
* @returns {Promise<MembershipObject>}
|
|
362
|
+
* @example
|
|
363
|
+
* // Change membership to make user a moderator
|
|
364
|
+
* var membership, room;
|
|
365
|
+
* webex.rooms.create({title: 'Memberships Example'})
|
|
366
|
+
* .then(function(r) {
|
|
367
|
+
* room = r;
|
|
368
|
+
* return webex.memberships.list({roomId: room.id});
|
|
369
|
+
* })
|
|
370
|
+
* .then(function(memberships) {
|
|
371
|
+
* membership = memberships.items[0];
|
|
372
|
+
* var assert = require('assert');
|
|
373
|
+
* assert.equal(membership.isModerator, false);
|
|
374
|
+
* membership.isModerator = true;
|
|
375
|
+
* return webex.memberships.update(membership);
|
|
376
|
+
* })
|
|
377
|
+
* .then(function() {
|
|
378
|
+
* return webex.memberships.get(membership.id);
|
|
379
|
+
* })
|
|
380
|
+
* .then(function(membership) {
|
|
381
|
+
* var assert = require('assert');
|
|
382
|
+
* assert.equal(membership.isModerator, true);
|
|
383
|
+
* return 'success';
|
|
384
|
+
* });
|
|
385
|
+
* // => success
|
|
386
|
+
* @example
|
|
387
|
+
* // Hide a one on one space
|
|
388
|
+
* var assert = require('assert');
|
|
389
|
+
* var membership, myId;
|
|
390
|
+
* webex.people.get('me')
|
|
391
|
+
* .then(function(person) {
|
|
392
|
+
* myId = personId;
|
|
393
|
+
* return webex.messages.create({
|
|
394
|
+
* toPersonEmail: 'otherUser@acme.com',
|
|
395
|
+
* text: 'This message will create a 1-1 space'
|
|
396
|
+
* });
|
|
397
|
+
* })
|
|
398
|
+
* then(function(message) {
|
|
399
|
+
* return webex.memberships.list({
|
|
400
|
+
* roomId: message.roomId,
|
|
401
|
+
* personId: myId
|
|
402
|
+
* });
|
|
403
|
+
* })
|
|
404
|
+
* .then((memberships) => {
|
|
405
|
+
* membership = memberships.items[0];
|
|
406
|
+
* assert.equal(membership.isRoomHidden, false);
|
|
407
|
+
* membership.isRoomHidden = true;
|
|
408
|
+
* // This will generate a memberships:updated event
|
|
409
|
+
* // that will only be seen by this user
|
|
410
|
+
* return webex.memberships.update(membership);
|
|
411
|
+
* })
|
|
412
|
+
* .then(function(membership) {
|
|
413
|
+
* assert.equal(membership.isRoomHidden, true);
|
|
414
|
+
* return 'success';
|
|
415
|
+
* });
|
|
416
|
+
* // => success
|
|
417
417
|
*/
|
|
418
418
|
update: function update(membership) {
|
|
419
419
|
var id = membership.id || membership;
|
|
@@ -426,15 +426,15 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
426
426
|
return res.body;
|
|
427
427
|
});
|
|
428
428
|
},
|
|
429
|
-
/**
|
|
430
|
-
* Updates the lastSeenId attribute of a membership.
|
|
431
|
-
* Call this method to send a "read receipt" for a given message.
|
|
432
|
-
* This will update the lastSeenId for the user's membership in
|
|
433
|
-
* space where the message is.
|
|
434
|
-
* @instance
|
|
435
|
-
* @memberof Memberships
|
|
436
|
-
* @param {string} message
|
|
437
|
-
* @returns {Promise<MembershipObject>}
|
|
429
|
+
/**
|
|
430
|
+
* Updates the lastSeenId attribute of a membership.
|
|
431
|
+
* Call this method to send a "read receipt" for a given message.
|
|
432
|
+
* This will update the lastSeenId for the user's membership in
|
|
433
|
+
* space where the message is.
|
|
434
|
+
* @instance
|
|
435
|
+
* @memberof Memberships
|
|
436
|
+
* @param {string} message
|
|
437
|
+
* @returns {Promise<MembershipObject>}
|
|
438
438
|
*/
|
|
439
439
|
updateLastSeen: function updateLastSeen(message) {
|
|
440
440
|
var _this4 = this;
|
|
@@ -466,14 +466,14 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
466
466
|
});
|
|
467
467
|
});
|
|
468
468
|
},
|
|
469
|
-
/**
|
|
470
|
-
* This function is called when an internal membership events fires,
|
|
471
|
-
* if the user registered for these events with the public listen() method.
|
|
472
|
-
* External users of the SDK should not call this function
|
|
473
|
-
* @private
|
|
474
|
-
* @memberof Memberships
|
|
475
|
-
* @param {Object} event
|
|
476
|
-
* @returns {void}
|
|
469
|
+
/**
|
|
470
|
+
* This function is called when an internal membership events fires,
|
|
471
|
+
* if the user registered for these events with the public listen() method.
|
|
472
|
+
* External users of the SDK should not call this function
|
|
473
|
+
* @private
|
|
474
|
+
* @memberof Memberships
|
|
475
|
+
* @param {Object} event
|
|
476
|
+
* @returns {void}
|
|
477
477
|
*/
|
|
478
478
|
onWebexApiEvent: function onWebexApiEvent(event) {
|
|
479
479
|
var _this5 = this;
|
|
@@ -529,15 +529,15 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
529
529
|
break;
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
|
-
/**
|
|
533
|
-
* Constructs the data object for an event on the memberships resource,
|
|
534
|
-
* adhering to Hydra's Webhook data structure memberships.
|
|
535
|
-
* External users of the SDK should not call this function
|
|
536
|
-
* @private
|
|
537
|
-
* @memberof Memberships
|
|
538
|
-
* @param {Object} activity from mercury
|
|
539
|
-
* @param {Object} event type of "webhook" event
|
|
540
|
-
* @returns {Object} constructed event
|
|
532
|
+
/**
|
|
533
|
+
* Constructs the data object for an event on the memberships resource,
|
|
534
|
+
* adhering to Hydra's Webhook data structure memberships.
|
|
535
|
+
* External users of the SDK should not call this function
|
|
536
|
+
* @private
|
|
537
|
+
* @memberof Memberships
|
|
538
|
+
* @param {Object} activity from mercury
|
|
539
|
+
* @param {Object} event type of "webhook" event
|
|
540
|
+
* @returns {Object} constructed event
|
|
541
541
|
*/
|
|
542
542
|
getMembershipEvent: function getMembershipEvent(activity, event) {
|
|
543
543
|
try {
|
|
@@ -598,7 +598,7 @@ var Memberships = _webexCore.WebexPlugin.extend({
|
|
|
598
598
|
return null;
|
|
599
599
|
}
|
|
600
600
|
},
|
|
601
|
-
version: "2.59.
|
|
601
|
+
version: "2.59.0"
|
|
602
602
|
});
|
|
603
603
|
var _default = Memberships;
|
|
604
604
|
exports.default = _default;
|