@webex/internal-plugin-team 2.59.1 → 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 CHANGED
@@ -1,6 +1,6 @@
1
- const config = {
2
- root: true,
3
- extends: ['@webex/eslint-config-legacy'],
4
- };
5
-
6
- module.exports = config;
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
package/README.md CHANGED
@@ -1,42 +1,42 @@
1
- # @webex/internal-plugin-team
2
-
3
- [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
-
5
- > Plugin for the Team service
6
-
7
- This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
-
9
- - [Install](#install)
10
- - [Usage](#usage)
11
- - [Contribute](#contribute)
12
- - [Maintainers](#maintainers)
13
- - [License](#license)
14
-
15
- ## Install
16
-
17
- ```bash
18
- npm install --save @webex/internal-plugin-team
19
- ```
20
-
21
- ## Usage
22
-
23
- ```js
24
- import '@webex/internal-plugin-team';
25
-
26
- import WebexCore from '@webex/webex-core';
27
-
28
- const webex = new WebexCore();
29
- webex.internal.team.WHATEVER;
30
- ```
31
-
32
- ## Maintainers
33
-
34
- This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
35
-
36
- ## Contribute
37
-
38
- Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
39
-
40
- ## License
41
-
42
- © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
1
+ # @webex/internal-plugin-team
2
+
3
+ [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
+
5
+ > Plugin for the Team service
6
+
7
+ This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
+
9
+ - [Install](#install)
10
+ - [Usage](#usage)
11
+ - [Contribute](#contribute)
12
+ - [Maintainers](#maintainers)
13
+ - [License](#license)
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npm install --save @webex/internal-plugin-team
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ```js
24
+ import '@webex/internal-plugin-team';
25
+
26
+ import WebexCore from '@webex/webex-core';
27
+
28
+ const webex = new WebexCore();
29
+ webex.internal.team.WHATEVER;
30
+ ```
31
+
32
+ ## Maintainers
33
+
34
+ This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
35
+
36
+ ## Contribute
37
+
38
+ Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
39
+
40
+ ## License
41
+
42
+ © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
package/babel.config.js CHANGED
@@ -1,3 +1,3 @@
1
- const babelConfigLegacy = require('@webex/babel-config-legacy');
2
-
3
- module.exports = babelConfigLegacy;
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
package/dist/config.js CHANGED
@@ -5,8 +5,8 @@ _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- /*!
9
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
8
+ /*!
9
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
10
10
  */
11
11
  var _default = {
12
12
  team: {}
@@ -1 +1 @@
1
- {"version":3,"names":["_default","team","exports","default"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n team: {},\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAIe;EACbC,IAAI,EAAE,CAAC;AACT,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
1
+ {"version":3,"names":["_default","team","exports","default"],"sources":["config.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nexport default {\r\n team: {},\r\n};\r\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAIe;EACbC,IAAI,EAAE,CAAC;AACT,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
package/dist/index.js CHANGED
@@ -21,8 +21,8 @@ require("@webex/internal-plugin-encryption");
21
21
  var _webexCore = require("@webex/webex-core");
22
22
  var _team = _interopRequireDefault(require("./team"));
23
23
  var _config = _interopRequireDefault(require("./config"));
24
- /*!
25
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
24
+ /*!
25
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
26
26
  */
27
27
 
28
28
  (0, _webexCore.registerInternalPlugin)('team', _team.default, {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["require","_webexCore","_team","_interopRequireDefault","_config","registerInternalPlugin","Team","payloadTransformer","predicates","name","direction","test","ctx","optionsOrResponse","_promise","default","resolve","_has2","_get2","extract","activity","object","transforms","fn","key","team","promises","conversations","items","push","all","map","item","transform","usableKey","encryptionKeyUrl","teamRoomStatus","keyUrl","activityEvent","webex","internal","encryption","kms","createUnboundKeys","count","then","keys","k","_isArray2","kmsMessage","keyUris","includes","uri","defaultActivityEncryptionKeyUrl","teamMembers","config"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-user';\nimport '@webex/internal-plugin-encryption';\nimport {isArray, has, get} from 'lodash';\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport Team from './team';\nimport config from './config';\n\nregisterInternalPlugin('team', Team, {\n payloadTransformer: {\n predicates: [\n {\n name: 'decryptTeamRoomStatus',\n direction: 'inbound',\n test(ctx, optionsOrResponse) {\n return Promise.resolve(\n has(optionsOrResponse, 'activity.object.activityEvent') &&\n get(optionsOrResponse, 'activity.object.objectType') === 'teamRoomStatus'\n );\n },\n extract(optionsOrResponse) {\n return Promise.resolve(optionsOrResponse.activity.object);\n },\n },\n ],\n transforms: [\n {\n name: 'decryptTeam',\n direction: 'inbound',\n fn(ctx, key, team) {\n const promises = [];\n\n if (team.conversations.items) {\n promises.push(\n Promise.all(\n team.conversations.items.map((item) => ctx.transform('decryptObject', null, item))\n )\n );\n }\n\n const usableKey = team.encryptionKeyUrl || key;\n\n if (usableKey) {\n promises.push(ctx.transform('decryptPropDisplayName', usableKey, team));\n promises.push(ctx.transform('decryptPropSummary', usableKey, team));\n }\n\n return Promise.all(promises);\n },\n },\n {\n name: 'decryptTeamRoomStatus',\n direction: 'inbound',\n fn(ctx, teamRoomStatus) {\n const keyUrl = get(teamRoomStatus, 'activityEvent.encryptionKeyUrl');\n\n return ctx.transform('decryptObject', keyUrl, teamRoomStatus.activityEvent);\n },\n },\n {\n name: 'decryptPropSummary',\n direction: 'inbound',\n fn(ctx, key, team) {\n return ctx.transform('decryptTextProp', 'summary', key, team);\n },\n },\n {\n name: 'encryptTeam',\n direction: 'outbound',\n fn(ctx, key, team) {\n if (key === false) {\n return Promise.resolve();\n }\n\n return Promise.resolve(\n key || ctx.webex.internal.encryption.kms.createUnboundKeys({count: 1})\n ).then((keys) => {\n const k = isArray(keys) ? keys[0] : keys;\n\n if (\n team.kmsMessage &&\n team.kmsMessage.keyUris &&\n !team.kmsMessage.keyUris.includes(k.uri)\n ) {\n team.kmsMessage.keyUris.push(k.uri);\n }\n\n return Promise.all([\n ctx.transform('encryptPropDisplayName', k, team),\n ctx.transform('encryptPropSummary', k, team),\n ]).then(() => {\n team.encryptionKeyUrl = k.uri || k;\n\n // we only want to set the defaultActivityEncryptionKeyUrl if we've\n // bound a new key\n if (!key) {\n team.defaultActivityEncryptionKeyUrl =\n team.defaultActivityEncryptionKeyUrl || k.uri || k;\n }\n });\n });\n },\n },\n {\n name: 'encryptPropSummary',\n direction: 'outbound',\n fn(ctx, key, team) {\n return ctx.transform('encryptTextProp', 'summary', key, team);\n },\n },\n {\n name: 'normalizeTeam',\n fn(ctx, team) {\n team.conversations = team.conversations || {};\n team.conversations.items = team.conversations.items || [];\n team.teamMembers = team.teamMembers || {};\n team.teamMembers.items = team.teamMembers.items || [];\n\n return Promise.all([\n Promise.all(\n team.conversations.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n Promise.all(\n team.teamMembers.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n ]);\n },\n },\n ],\n },\n config,\n});\n\nexport {default} from './team';\n"],"mappings":"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"}
1
+ {"version":3,"names":["require","_webexCore","_team","_interopRequireDefault","_config","registerInternalPlugin","Team","payloadTransformer","predicates","name","direction","test","ctx","optionsOrResponse","_promise","default","resolve","_has2","_get2","extract","activity","object","transforms","fn","key","team","promises","conversations","items","push","all","map","item","transform","usableKey","encryptionKeyUrl","teamRoomStatus","keyUrl","activityEvent","webex","internal","encryption","kms","createUnboundKeys","count","then","keys","k","_isArray2","kmsMessage","keyUris","includes","uri","defaultActivityEncryptionKeyUrl","teamMembers","config"],"sources":["index.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport '@webex/internal-plugin-conversation';\r\nimport '@webex/internal-plugin-user';\r\nimport '@webex/internal-plugin-encryption';\r\nimport {isArray, has, get} from 'lodash';\r\nimport {registerInternalPlugin} from '@webex/webex-core';\r\n\r\nimport Team from './team';\r\nimport config from './config';\r\n\r\nregisterInternalPlugin('team', Team, {\r\n payloadTransformer: {\r\n predicates: [\r\n {\r\n name: 'decryptTeamRoomStatus',\r\n direction: 'inbound',\r\n test(ctx, optionsOrResponse) {\r\n return Promise.resolve(\r\n has(optionsOrResponse, 'activity.object.activityEvent') &&\r\n get(optionsOrResponse, 'activity.object.objectType') === 'teamRoomStatus'\r\n );\r\n },\r\n extract(optionsOrResponse) {\r\n return Promise.resolve(optionsOrResponse.activity.object);\r\n },\r\n },\r\n ],\r\n transforms: [\r\n {\r\n name: 'decryptTeam',\r\n direction: 'inbound',\r\n fn(ctx, key, team) {\r\n const promises = [];\r\n\r\n if (team.conversations.items) {\r\n promises.push(\r\n Promise.all(\r\n team.conversations.items.map((item) => ctx.transform('decryptObject', null, item))\r\n )\r\n );\r\n }\r\n\r\n const usableKey = team.encryptionKeyUrl || key;\r\n\r\n if (usableKey) {\r\n promises.push(ctx.transform('decryptPropDisplayName', usableKey, team));\r\n promises.push(ctx.transform('decryptPropSummary', usableKey, team));\r\n }\r\n\r\n return Promise.all(promises);\r\n },\r\n },\r\n {\r\n name: 'decryptTeamRoomStatus',\r\n direction: 'inbound',\r\n fn(ctx, teamRoomStatus) {\r\n const keyUrl = get(teamRoomStatus, 'activityEvent.encryptionKeyUrl');\r\n\r\n return ctx.transform('decryptObject', keyUrl, teamRoomStatus.activityEvent);\r\n },\r\n },\r\n {\r\n name: 'decryptPropSummary',\r\n direction: 'inbound',\r\n fn(ctx, key, team) {\r\n return ctx.transform('decryptTextProp', 'summary', key, team);\r\n },\r\n },\r\n {\r\n name: 'encryptTeam',\r\n direction: 'outbound',\r\n fn(ctx, key, team) {\r\n if (key === false) {\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.resolve(\r\n key || ctx.webex.internal.encryption.kms.createUnboundKeys({count: 1})\r\n ).then((keys) => {\r\n const k = isArray(keys) ? keys[0] : keys;\r\n\r\n if (\r\n team.kmsMessage &&\r\n team.kmsMessage.keyUris &&\r\n !team.kmsMessage.keyUris.includes(k.uri)\r\n ) {\r\n team.kmsMessage.keyUris.push(k.uri);\r\n }\r\n\r\n return Promise.all([\r\n ctx.transform('encryptPropDisplayName', k, team),\r\n ctx.transform('encryptPropSummary', k, team),\r\n ]).then(() => {\r\n team.encryptionKeyUrl = k.uri || k;\r\n\r\n // we only want to set the defaultActivityEncryptionKeyUrl if we've\r\n // bound a new key\r\n if (!key) {\r\n team.defaultActivityEncryptionKeyUrl =\r\n team.defaultActivityEncryptionKeyUrl || k.uri || k;\r\n }\r\n });\r\n });\r\n },\r\n },\r\n {\r\n name: 'encryptPropSummary',\r\n direction: 'outbound',\r\n fn(ctx, key, team) {\r\n return ctx.transform('encryptTextProp', 'summary', key, team);\r\n },\r\n },\r\n {\r\n name: 'normalizeTeam',\r\n fn(ctx, team) {\r\n team.conversations = team.conversations || {};\r\n team.conversations.items = team.conversations.items || [];\r\n team.teamMembers = team.teamMembers || {};\r\n team.teamMembers.items = team.teamMembers.items || [];\r\n\r\n return Promise.all([\r\n Promise.all(\r\n team.conversations.items.map((item) => ctx.transform('normalizeObject', item))\r\n ),\r\n Promise.all(\r\n team.teamMembers.items.map((item) => ctx.transform('normalizeObject', item))\r\n ),\r\n ]);\r\n },\r\n },\r\n ],\r\n },\r\n config,\r\n});\r\n\r\nexport {default} from './team';\r\n"],"mappings":"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"}
package/dist/team.js CHANGED
@@ -32,14 +32,14 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
32
32
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
33
33
  var Team = _webexCore.WebexPlugin.extend({
34
34
  namespace: 'Team',
35
- /**
36
- * Move an existing group conversation into a team.
37
- * @param {TeamObject} team
38
- * @param {ConversationObject} conversation
39
- * @param {Object} activity Reference to the activity that will eventually be
40
- * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
41
- * provisional activity
42
- * @returns {Promise} Resolves with the add activity
35
+ /**
36
+ * Move an existing group conversation into a team.
37
+ * @param {TeamObject} team
38
+ * @param {ConversationObject} conversation
39
+ * @param {Object} activity Reference to the activity that will eventually be
40
+ * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
41
+ * provisional activity
42
+ * @returns {Promise} Resolves with the add activity
43
43
  */
44
44
  addConversation: function addConversation(team, conversation, activity) {
45
45
  var _this = this;
@@ -62,14 +62,14 @@ var Team = _webexCore.WebexPlugin.extend({
62
62
  return _this.webex.internal.conversation.submit(a);
63
63
  });
64
64
  },
65
- /**
66
- * Add a member to a team
67
- * @param {TeamObject} team
68
- * @param {Object} participant
69
- * @param {Object} activity Reference to the activity that will eventually be
70
- * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
71
- * provisional activity
72
- * @returns {Promise} Resolves with activity that was posted
65
+ /**
66
+ * Add a member to a team
67
+ * @param {TeamObject} team
68
+ * @param {Object} participant
69
+ * @param {Object} activity Reference to the activity that will eventually be
70
+ * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
71
+ * provisional activity
72
+ * @returns {Promise} Resolves with activity that was posted
73
73
  */
74
74
  addMember: function addMember(team, participant, activity) {
75
75
  var _this2 = this;
@@ -77,13 +77,13 @@ var Team = _webexCore.WebexPlugin.extend({
77
77
  return _this2.webex.internal.conversation.add(generalConversation, participant, activity);
78
78
  });
79
79
  },
80
- /**
81
- * Create a team
82
- * @param {NewTeamObject} params
83
- * @param {string} params.displayName
84
- * @param {string} params.summary
85
- * @param {Array} params.participants
86
- * @returns {Promise} Resolves with the created team
80
+ /**
81
+ * Create a team
82
+ * @param {NewTeamObject} params
83
+ * @param {string} params.displayName
84
+ * @param {string} params.summary
85
+ * @param {Array} params.participants
86
+ * @returns {Promise} Resolves with the created team
87
87
  */
88
88
  create: function create(params) {
89
89
  var _this3 = this;
@@ -113,17 +113,17 @@ var Team = _webexCore.WebexPlugin.extend({
113
113
  return res.body;
114
114
  });
115
115
  },
116
- /**
117
- * Create a conversation within a team. Currently does not support
118
- * activities besides add (ie no post or share activities).
119
- * @param {TeamObject} team
120
- * @param {NewConversationObject} params
121
- * @param {string} params.displayName
122
- * @param {string} params.summary
123
- * @param {Array} params.participants
124
- * @param {Object} options
125
- * @param {boolean} options.includeAllTeamMembers
126
- * @returns {Promise} Resolves with the newly created conversation
116
+ /**
117
+ * Create a conversation within a team. Currently does not support
118
+ * activities besides add (ie no post or share activities).
119
+ * @param {TeamObject} team
120
+ * @param {NewConversationObject} params
121
+ * @param {string} params.displayName
122
+ * @param {string} params.summary
123
+ * @param {Array} params.participants
124
+ * @param {Object} options
125
+ * @param {boolean} options.includeAllTeamMembers
126
+ * @returns {Promise} Resolves with the newly created conversation
127
127
  */
128
128
  createConversation: function createConversation(team, params) {
129
129
  var _this4 = this;
@@ -156,14 +156,14 @@ var Team = _webexCore.WebexPlugin.extend({
156
156
  return res.body;
157
157
  });
158
158
  },
159
- /**
160
- * Retrieve a single team
161
- * @param {Object|Team~TeamObject} team
162
- * @param {string} team.url
163
- * @param {Object} options
164
- * @param {boolean} options.includeTeamConversations
165
- * @param {boolean} options.includeTeamMembers
166
- * @returns {Promise} Resolves with the requested team
159
+ /**
160
+ * Retrieve a single team
161
+ * @param {Object|Team~TeamObject} team
162
+ * @param {string} team.url
163
+ * @param {Object} options
164
+ * @param {boolean} options.includeTeamConversations
165
+ * @param {boolean} options.includeTeamMembers
166
+ * @returns {Promise} Resolves with the requested team
167
167
  */
168
168
  get: function get(_ref) {
169
169
  var _this5 = this;
@@ -185,11 +185,11 @@ var Team = _webexCore.WebexPlugin.extend({
185
185
  });
186
186
  });
187
187
  },
188
- /**
189
- * Get the list of conversations for a particular team
190
- * @param {TeamObject} team
191
- * @param {String} team.url
192
- * @returns {Promise} Resolves with an array of conversations
188
+ /**
189
+ * Get the list of conversations for a particular team
190
+ * @param {TeamObject} team
191
+ * @param {String} team.url
192
+ * @returns {Promise} Resolves with an array of conversations
193
193
  */
194
194
  listConversations: function listConversations(_ref2) {
195
195
  var url = _ref2.url;
@@ -202,12 +202,12 @@ var Team = _webexCore.WebexPlugin.extend({
202
202
  return res.body.items;
203
203
  });
204
204
  },
205
- /**
206
- * Join a team conversation
207
- * @param {TeamObject} team
208
- * @param {ConversationObject} conversation
209
- * @param {userId} userId
210
- * @returns {Promise} Resolves with the conversation
205
+ /**
206
+ * Join a team conversation
207
+ * @param {TeamObject} team
208
+ * @param {ConversationObject} conversation
209
+ * @param {userId} userId
210
+ * @returns {Promise} Resolves with the conversation
211
211
  */
212
212
  joinConversation: function joinConversation(team, conversation, userId) {
213
213
  if (!userId) {
@@ -237,12 +237,12 @@ var Team = _webexCore.WebexPlugin.extend({
237
237
  return res.body;
238
238
  });
239
239
  },
240
- /**
241
- * Retrieve all teams
242
- * @param {Object} options
243
- * @param {boolean} options.includeTeamConversations
244
- * @param {boolean} options.includeTeamMembers
245
- * @returns {Promise} Resolves with the requested teams
240
+ /**
241
+ * Retrieve all teams
242
+ * @param {Object} options
243
+ * @param {boolean} options.includeTeamConversations
244
+ * @param {boolean} options.includeTeamMembers
245
+ * @returns {Promise} Resolves with the requested teams
246
246
  */
247
247
  list: function list() {
248
248
  var _arguments = arguments,
@@ -308,14 +308,14 @@ var Team = _webexCore.WebexPlugin.extend({
308
308
  }, _callee);
309
309
  }))();
310
310
  },
311
- /**
312
- * Remove a member from a team
313
- * @param {TeamObject} team
314
- * @param {Object} participant
315
- * @param {Object} activity Reference to the activity that will eventually be
316
- * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
317
- * provisional activity
318
- * @returns {Promise} Resolves with activity that was posted
311
+ /**
312
+ * Remove a member from a team
313
+ * @param {TeamObject} team
314
+ * @param {Object} participant
315
+ * @param {Object} activity Reference to the activity that will eventually be
316
+ * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
317
+ * provisional activity
318
+ * @returns {Promise} Resolves with activity that was posted
319
319
  */
320
320
  removeMember: function removeMember(team, participant, activity) {
321
321
  var _this7 = this;
@@ -323,14 +323,14 @@ var Team = _webexCore.WebexPlugin.extend({
323
323
  return _this7.webex.internal.conversation.leave(generalConversation, participant, activity);
324
324
  });
325
325
  },
326
- /**
327
- * Remove a team conversation from a team.
328
- * @param {TeamObject} team
329
- * @param {ConversationObject} conversation to be removed
330
- * @param {Object} activity Reference to the activity that will eventually be
331
- * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
332
- * provisional activity
333
- * @returns {Promise} Resolves with the leave activity
326
+ /**
327
+ * Remove a team conversation from a team.
328
+ * @param {TeamObject} team
329
+ * @param {ConversationObject} conversation to be removed
330
+ * @param {Object} activity Reference to the activity that will eventually be
331
+ * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
332
+ * provisional activity
333
+ * @returns {Promise} Resolves with the leave activity
334
334
  */
335
335
  removeConversation: function removeConversation(team, conversation, activity) {
336
336
  var _this8 = this;
@@ -351,14 +351,14 @@ var Team = _webexCore.WebexPlugin.extend({
351
351
  return _this8.webex.internal.conversation.submit(a);
352
352
  });
353
353
  },
354
- /**
355
- * Update the displayName, summary, or teamColor field for a team.
356
- * @param {TeamObject} team to be updated
357
- * @param {Object} object with updated displayName, summary, and/or teamColor
358
- * @param {Object} activity Reference to the activity that will eventually be
359
- * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
360
- * provisional activity
361
- * @returns {Promise} Resolves with posted activity
354
+ /**
355
+ * Update the displayName, summary, or teamColor field for a team.
356
+ * @param {TeamObject} team to be updated
357
+ * @param {Object} object with updated displayName, summary, and/or teamColor
358
+ * @param {Object} activity Reference to the activity that will eventually be
359
+ * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
360
+ * provisional activity
361
+ * @returns {Promise} Resolves with posted activity
362
362
  */
363
363
  update: function update(team, object, activity) {
364
364
  return this.webex.internal.conversation.update(team, object, activity);
@@ -414,15 +414,15 @@ var Team = _webexCore.WebexPlugin.extend({
414
414
  });
415
415
  }));
416
416
  } /* eslint-enable require-jsdoc */,
417
- version: "2.59.1"
417
+ version: "2.59.0"
418
418
  });
419
419
 
420
- /**
421
- * Assign or unassign a team member to be a moderator of a team
422
- * @param {TeamObject} team
423
- * @param {Object} participant
424
- * @param {Object} activity
425
- * @returns {Promise} Resolves with activity that was posted
420
+ /**
421
+ * Assign or unassign a team member to be a moderator of a team
422
+ * @param {TeamObject} team
423
+ * @param {Object} participant
424
+ * @param {Object} activity
425
+ * @returns {Promise} Resolves with activity that was posted
426
426
  */
427
427
  ['assignModerator', 'unassignModerator'].forEach(function (verb) {
428
428
  Team.prototype[verb] = function submitModerationChangeActivity(team, member, activity) {
@@ -433,13 +433,13 @@ var Team = _webexCore.WebexPlugin.extend({
433
433
  };
434
434
  });
435
435
 
436
- /**
437
- * Archive or unarchive a team or team conversation.
438
- * @param {TeamObject|ConversationObject} target team or team conversation that should be archived
439
- * @param {Object} activity Reference to the activity that will eventually be
440
- * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
441
- * provisional activity
442
- * @returns {Promise} Resolves with the posted activity
436
+ /**
437
+ * Archive or unarchive a team or team conversation.
438
+ * @param {TeamObject|ConversationObject} target team or team conversation that should be archived
439
+ * @param {Object} activity Reference to the activity that will eventually be
440
+ * posted. Use this to (a) pass in e.g. clientTempId and (b) render a
441
+ * provisional activity
442
+ * @returns {Promise} Resolves with the posted activity
443
443
  */
444
444
  ['archive', 'unarchive'].forEach(function (verb) {
445
445
  Team.prototype[verb] = function submitArchiveStateChangeActivity(target, activity) {
package/dist/team.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_querystring","_interopRequireDefault","require","_uuid","_webexCore","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","Team","WebexPlugin","extend","namespace","addConversation","team","conversation","activity","_this","_ensureGeneralConversation","then","generalConversation","webex","internal","prepare","verb","prepareConversation","id","objectType","kmsMessage","method","uri","resourceUri","kmsResourceObjectUrl","userIds","a","submit","addMember","participant","_this2","add","create","params","_this3","displayName","_promise","reject","Error","participants","all","map","user","asUUID","unshift","device","userId","_uniq2","_prepareTeam","payload","request","service","resource","body","res","createConversation","_this4","options","undefined","url","_prepareTeamConversation","concat","qs","_pick2","get","_ref","_this5","includeTeamConversations","includeTeamMembers","_recordUUIDs","listConversations","_ref2","items","joinConversation","client","clientId","credential","bearer","credentials","supertoken","access_token","requestId","uuid","v4","list","_arguments","_this6","_asyncToGenerator2","_regenerator","mark","_callee","results","_iterator","_step","result","wrap","_callee$","_context","prev","api","sent","additionalUrls","host","abrupt","stop","removeMember","_this7","leave","removeConversation","_this8","properties","querystring","stringify","authId","update","generalConversationUuid","conversations","_find2","resolve","_prepareConversationForCreation","summary","teamConversation","_this9","teamMembers","type","recordUUID","catch","logger","warn","version","submitModerationChangeActivity","member","_this10","submitArchiveStateChangeActivity","_this11","teamUrl","getConvoUrl","_default","exports"],"sources":["team.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport querystring from 'querystring';\n\nimport uuid from 'uuid';\nimport {find, pick, uniq} from 'lodash';\nimport {WebexPlugin} from '@webex/webex-core';\n\nconst Team = WebexPlugin.extend({\n namespace: 'Team',\n\n /**\n * Move an existing group conversation into a team.\n * @param {TeamObject} team\n * @param {ConversationObject} conversation\n * @param {Object} activity Reference to the activity that will eventually be\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\n * provisional activity\n * @returns {Promise} Resolves with the add activity\n */\n addConversation(team, conversation, activity) {\n return this._ensureGeneralConversation(team)\n .then((generalConversation) =>\n this.webex.internal.conversation.prepare(activity, {\n verb: 'add',\n target: this.webex.internal.conversation.prepareConversation(generalConversation),\n object: {\n id: conversation.id,\n objectType: 'conversation',\n },\n kmsMessage: {\n method: 'create',\n uri: '/authorizations',\n resourceUri: conversation.kmsResourceObjectUrl,\n userIds: [generalConversation.kmsResourceObjectUrl],\n },\n })\n )\n .then((a) => this.webex.internal.conversation.submit(a));\n },\n\n /**\n * Add a member to a team\n * @param {TeamObject} team\n * @param {Object} participant\n * @param {Object} activity Reference to the activity that will eventually be\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\n * provisional activity\n * @returns {Promise} Resolves with activity that was posted\n */\n addMember(team, participant, activity) {\n return this._ensureGeneralConversation(team).then((generalConversation) =>\n this.webex.internal.conversation.add(generalConversation, participant, activity)\n );\n },\n\n /**\n * Create a team\n * @param {NewTeamObject} params\n * @param {string} params.displayName\n * @param {string} params.summary\n * @param {Array} params.participants\n * @returns {Promise} Resolves with the created team\n */\n create(params) {\n if (!params.displayName) {\n return Promise.reject(new Error('`params.displayName` is required'));\n }\n\n if (!params.participants || params.participants.length === 0) {\n return Promise.reject(new Error('`params.participants` is required'));\n }\n\n return Promise.all(\n params.participants.map((participant) =>\n this.webex.internal.user.asUUID(participant, {create: true})\n )\n )\n .then((participants) => {\n participants.unshift(this.webex.internal.device.userId);\n params.participants = uniq(participants);\n })\n .then(() => this._prepareTeam(params))\n .then((payload) =>\n this.webex.request({\n method: 'POST',\n service: 'conversation',\n resource: 'teams',\n body: payload,\n })\n )\n .then((res) => res.body);\n },\n\n /**\n * Create a conversation within a team. Currently does not support\n * activities besides add (ie no post or share activities).\n * @param {TeamObject} team\n * @param {NewConversationObject} params\n * @param {string} params.displayName\n * @param {string} params.summary\n * @param {Array} params.participants\n * @param {Object} options\n * @param {boolean} options.includeAllTeamMembers\n * @returns {Promise} Resolves with the newly created conversation\n */\n createConversation(team, params, options = {}) {\n if (!team.url) {\n return Promise.reject(new Error('`team.url` is required'));\n }\n\n if (!params.displayName) {\n return Promise.reject(new Error('`params.displayName` is required'));\n }\n\n return this._ensureGeneralConversation(team)\n .then((generalConversation) =>\n Promise.all(\n params.participants.map((participant) =>\n this.webex.internal.user.asUUID(participant, {create: true})\n )\n )\n .then((participants) => {\n participants.unshift(this.webex.internal.device.userId);\n params.participants = uniq(participants);\n })\n .then(() => this._prepareTeamConversation(generalConversation, params))\n )\n .then((payload) =>\n this.webex.request({\n method: 'POST',\n uri: `${team.url}/conversations`,\n qs: pick(options, 'includeAllTeamMembers'),\n body: payload,\n })\n )\n .then((res) => res.body);\n },\n\n /**\n * Retrieve a single team\n * @param {Object|Team~TeamObject} team\n * @param {string} team.url\n * @param {Object} options\n * @param {boolean} options.includeTeamConversations\n * @param {boolean} options.includeTeamMembers\n * @returns {Promise} Resolves with the requested team\n */\n get({url}, options = {}) {\n if (!url) {\n return Promise.reject(new Error('`team.url` is required'));\n }\n const params = {\n includeTeamConversations: false,\n includeTeamMembers: false,\n ...options,\n };\n\n return this.webex\n .request({\n uri: url,\n qs: params,\n })\n .then((res) => this._recordUUIDs(res.body).then(() => res.body));\n },\n\n /**\n * Get the list of conversations for a particular team\n * @param {TeamObject} team\n * @param {String} team.url\n * @returns {Promise} Resolves with an array of conversations\n */\n listConversations({url}) {\n if (!url) {\n return Promise.reject(new Error('`team.url` is required'));\n }\n\n return this.webex\n .request({\n uri: `${url}/conversations`,\n })\n .then((res) => res.body.items);\n },\n\n /**\n * Join a team conversation\n * @param {TeamObject} team\n * @param {ConversationObject} conversation\n * @param {userId} userId\n * @returns {Promise} Resolves with the conversation\n */\n joinConversation(team, conversation, userId) {\n if (!userId) {\n return Promise.reject(new Error('`userId` is required'));\n }\n\n const body = {\n kmsMessage: {\n client: {\n clientId: this.webex.internal.device.url,\n credential: {\n bearer: this.webex.credentials.supertoken.access_token,\n userId,\n },\n },\n method: 'create',\n requestId: uuid.v4(),\n resourceUri: conversation.kmsResourceObjectUrl,\n uri: '/authorizations',\n userIds: [userId],\n },\n };\n\n return this.webex\n .request({\n method: 'POST',\n uri: `${team.url}/conversations/${conversation.id}/participants`,\n body,\n })\n .then((res) => res.body);\n },\n\n /**\n * Retrieve all teams\n * @param {Object} options\n * @param {boolean} options.includeTeamConversations\n * @param {boolean} options.includeTeamMembers\n * @returns {Promise} Resolves with the requested teams\n */\n async list(options = {}) {\n const params = {\n includeTeamConversations: false,\n includeTeamMembers: false,\n ...options,\n };\n const resource = 'teams';\n\n const res = await this.webex.request({\n api: 'conversation',\n resource,\n qs: params,\n });\n\n let list = res.body.items.slice(0);\n\n if (res.body.additionalUrls) {\n const results = await Promise.all(\n res.body.additionalUrls.map((host) => {\n const uri = `${host}/${resource}`;\n\n return this.webex.request({\n uri,\n qs: params,\n });\n })\n );\n\n for (const result of results) {\n if (result.body && result.body.items && result.body.items.length) {\n list = list.concat(result.body.items);\n }\n }\n }\n\n await Promise.all(res.body.items.map((team) => this._recordUUIDs(team)));\n\n return list;\n },\n\n /**\n * Remove a member from a team\n * @param {TeamObject} team\n * @param {Object} participant\n * @param {Object} activity Reference to the activity that will eventually be\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\n * provisional activity\n * @returns {Promise} Resolves with activity that was posted\n */\n removeMember(team, participant, activity) {\n return this._ensureGeneralConversation(team).then((generalConversation) =>\n this.webex.internal.conversation.leave(generalConversation, participant, activity)\n );\n },\n\n /**\n * Remove a team conversation from a team.\n * @param {TeamObject} team\n * @param {ConversationObject} conversation to be removed\n * @param {Object} activity Reference to the activity that will eventually be\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\n * provisional activity\n * @returns {Promise} Resolves with the leave activity\n */\n removeConversation(team, conversation, activity) {\n return this._ensureGeneralConversation(team)\n .then((generalConversation) => {\n const properties = {\n verb: 'remove',\n object: pick(conversation, 'id', 'url', 'objectType'),\n target: pick(generalConversation, 'id', 'url', 'objectType'),\n kmsMessage: {\n method: 'delete',\n uri: `<KRO>/authorizations?${querystring.stringify({authId: conversation.id})}`,\n },\n };\n\n return this.webex.internal.conversation.prepare(activity, properties);\n })\n .then((a) => this.webex.internal.conversation.submit(a));\n },\n\n /**\n * Update the displayName, summary, or teamColor field for a team.\n * @param {TeamObject} team to be updated\n * @param {Object} object with updated displayName, summary, and/or teamColor\n * @param {Object} activity Reference to the activity that will eventually be\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\n * provisional activity\n * @returns {Promise} Resolves with posted activity\n */\n update(team, object, activity) {\n return this.webex.internal.conversation.update(team, object, activity);\n },\n\n /* eslint-disable require-jsdoc */\n _ensureGeneralConversation(team) {\n if (!team.generalConversationUuid) {\n return Promise.reject(new Error('`team.generalConversationUuid` must be present'));\n }\n\n if (team.conversations.items.length) {\n const generalConversation = find(team.conversations.items, {\n id: team.generalConversationUuid,\n });\n\n if (generalConversation) {\n return Promise.resolve(generalConversation);\n }\n }\n\n return this.webex.internal.conversation.get({id: team.generalConversationUuid});\n },\n\n _prepareTeam: function _prepareTeam(params) {\n const payload = this.webex.internal.conversation._prepareConversationForCreation(params);\n\n payload.objectType = 'team';\n\n if (params.summary) {\n payload.summary = params.summary;\n }\n\n return Promise.resolve(payload);\n },\n\n _prepareTeamConversation(teamConversation, params) {\n if (!teamConversation.kmsResourceObjectUrl) {\n return Promise.reject(new Error('Team general conversation must have a KRO'));\n }\n\n const payload = this.webex.internal.conversation._prepareConversationForCreation(params);\n\n // Push the general conversation KRO on so that team members can\n // decrypt the title of this open room without joining it.\n payload.kmsMessage.userIds.push(teamConversation.kmsResourceObjectUrl);\n\n return Promise.resolve(payload);\n },\n\n _recordUUIDs(team) {\n if (!team.teamMembers || !team.teamMembers.items) {\n return Promise.resolve(team);\n }\n\n return Promise.all(\n team.teamMembers.items.map((participant) => {\n // ROOMs or LYRA_SPACEs do not have email addresses, so there's no point attempting to\n // record their UUIDs.\n if (participant.type === 'ROOM' || participant.type === 'LYRA_SPACE') {\n return Promise.resolve();\n }\n\n return this.webex.internal.user\n .recordUUID(participant)\n .catch((err) => this.logger.warn('Could not record uuid', err));\n })\n );\n },\n /* eslint-enable require-jsdoc */\n});\n\n/**\n * Assign or unassign a team member to be a moderator of a team\n * @param {TeamObject} team\n * @param {Object} participant\n * @param {Object} activity\n * @returns {Promise} Resolves with activity that was posted\n */\n['assignModerator', 'unassignModerator'].forEach((verb) => {\n Team.prototype[verb] = function submitModerationChangeActivity(team, member, activity) {\n return this._ensureGeneralConversation(team).then((teamConversation) =>\n this.webex.internal.conversation[verb](teamConversation, member, activity)\n );\n };\n});\n\n/**\n * Archive or unarchive a team or team conversation.\n * @param {TeamObject|ConversationObject} target team or team conversation that should be archived\n * @param {Object} activity Reference to the activity that will eventually be\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\n * provisional activity\n * @returns {Promise} Resolves with the posted activity\n */\n['archive', 'unarchive'].forEach((verb) => {\n Team.prototype[verb] = function submitArchiveStateChangeActivity(target, activity) {\n if (!target.objectType) {\n return Promise.reject(new Error('`target.objectType` is required'));\n }\n\n const properties = {\n verb,\n object: pick(target, 'id', 'url', 'objectType'),\n target: pick(target, 'id', 'url', 'objectType'),\n };\n\n const teamUrl = this.webex.internal.conversation.getConvoUrl(target);\n\n return this.webex.internal.conversation\n .prepare(activity, properties)\n .then((a) => this.webex.internal.conversation.submit(a, teamUrl));\n };\n});\n\nexport default Team;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_querystring","_interopRequireDefault","require","_uuid","_webexCore","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","Team","WebexPlugin","extend","namespace","addConversation","team","conversation","activity","_this","_ensureGeneralConversation","then","generalConversation","webex","internal","prepare","verb","prepareConversation","id","objectType","kmsMessage","method","uri","resourceUri","kmsResourceObjectUrl","userIds","a","submit","addMember","participant","_this2","add","create","params","_this3","displayName","_promise","reject","Error","participants","all","map","user","asUUID","unshift","device","userId","_uniq2","_prepareTeam","payload","request","service","resource","body","res","createConversation","_this4","options","undefined","url","_prepareTeamConversation","concat","qs","_pick2","get","_ref","_this5","includeTeamConversations","includeTeamMembers","_recordUUIDs","listConversations","_ref2","items","joinConversation","client","clientId","credential","bearer","credentials","supertoken","access_token","requestId","uuid","v4","list","_arguments","_this6","_asyncToGenerator2","_regenerator","mark","_callee","results","_iterator","_step","result","wrap","_callee$","_context","prev","api","sent","additionalUrls","host","abrupt","stop","removeMember","_this7","leave","removeConversation","_this8","properties","querystring","stringify","authId","update","generalConversationUuid","conversations","_find2","resolve","_prepareConversationForCreation","summary","teamConversation","_this9","teamMembers","type","recordUUID","catch","logger","warn","version","submitModerationChangeActivity","member","_this10","submitArchiveStateChangeActivity","_this11","teamUrl","getConvoUrl","_default","exports"],"sources":["team.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport querystring from 'querystring';\r\n\r\nimport uuid from 'uuid';\r\nimport {find, pick, uniq} from 'lodash';\r\nimport {WebexPlugin} from '@webex/webex-core';\r\n\r\nconst Team = WebexPlugin.extend({\r\n namespace: 'Team',\r\n\r\n /**\r\n * Move an existing group conversation into a team.\r\n * @param {TeamObject} team\r\n * @param {ConversationObject} conversation\r\n * @param {Object} activity Reference to the activity that will eventually be\r\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\r\n * provisional activity\r\n * @returns {Promise} Resolves with the add activity\r\n */\r\n addConversation(team, conversation, activity) {\r\n return this._ensureGeneralConversation(team)\r\n .then((generalConversation) =>\r\n this.webex.internal.conversation.prepare(activity, {\r\n verb: 'add',\r\n target: this.webex.internal.conversation.prepareConversation(generalConversation),\r\n object: {\r\n id: conversation.id,\r\n objectType: 'conversation',\r\n },\r\n kmsMessage: {\r\n method: 'create',\r\n uri: '/authorizations',\r\n resourceUri: conversation.kmsResourceObjectUrl,\r\n userIds: [generalConversation.kmsResourceObjectUrl],\r\n },\r\n })\r\n )\r\n .then((a) => this.webex.internal.conversation.submit(a));\r\n },\r\n\r\n /**\r\n * Add a member to a team\r\n * @param {TeamObject} team\r\n * @param {Object} participant\r\n * @param {Object} activity Reference to the activity that will eventually be\r\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\r\n * provisional activity\r\n * @returns {Promise} Resolves with activity that was posted\r\n */\r\n addMember(team, participant, activity) {\r\n return this._ensureGeneralConversation(team).then((generalConversation) =>\r\n this.webex.internal.conversation.add(generalConversation, participant, activity)\r\n );\r\n },\r\n\r\n /**\r\n * Create a team\r\n * @param {NewTeamObject} params\r\n * @param {string} params.displayName\r\n * @param {string} params.summary\r\n * @param {Array} params.participants\r\n * @returns {Promise} Resolves with the created team\r\n */\r\n create(params) {\r\n if (!params.displayName) {\r\n return Promise.reject(new Error('`params.displayName` is required'));\r\n }\r\n\r\n if (!params.participants || params.participants.length === 0) {\r\n return Promise.reject(new Error('`params.participants` is required'));\r\n }\r\n\r\n return Promise.all(\r\n params.participants.map((participant) =>\r\n this.webex.internal.user.asUUID(participant, {create: true})\r\n )\r\n )\r\n .then((participants) => {\r\n participants.unshift(this.webex.internal.device.userId);\r\n params.participants = uniq(participants);\r\n })\r\n .then(() => this._prepareTeam(params))\r\n .then((payload) =>\r\n this.webex.request({\r\n method: 'POST',\r\n service: 'conversation',\r\n resource: 'teams',\r\n body: payload,\r\n })\r\n )\r\n .then((res) => res.body);\r\n },\r\n\r\n /**\r\n * Create a conversation within a team. Currently does not support\r\n * activities besides add (ie no post or share activities).\r\n * @param {TeamObject} team\r\n * @param {NewConversationObject} params\r\n * @param {string} params.displayName\r\n * @param {string} params.summary\r\n * @param {Array} params.participants\r\n * @param {Object} options\r\n * @param {boolean} options.includeAllTeamMembers\r\n * @returns {Promise} Resolves with the newly created conversation\r\n */\r\n createConversation(team, params, options = {}) {\r\n if (!team.url) {\r\n return Promise.reject(new Error('`team.url` is required'));\r\n }\r\n\r\n if (!params.displayName) {\r\n return Promise.reject(new Error('`params.displayName` is required'));\r\n }\r\n\r\n return this._ensureGeneralConversation(team)\r\n .then((generalConversation) =>\r\n Promise.all(\r\n params.participants.map((participant) =>\r\n this.webex.internal.user.asUUID(participant, {create: true})\r\n )\r\n )\r\n .then((participants) => {\r\n participants.unshift(this.webex.internal.device.userId);\r\n params.participants = uniq(participants);\r\n })\r\n .then(() => this._prepareTeamConversation(generalConversation, params))\r\n )\r\n .then((payload) =>\r\n this.webex.request({\r\n method: 'POST',\r\n uri: `${team.url}/conversations`,\r\n qs: pick(options, 'includeAllTeamMembers'),\r\n body: payload,\r\n })\r\n )\r\n .then((res) => res.body);\r\n },\r\n\r\n /**\r\n * Retrieve a single team\r\n * @param {Object|Team~TeamObject} team\r\n * @param {string} team.url\r\n * @param {Object} options\r\n * @param {boolean} options.includeTeamConversations\r\n * @param {boolean} options.includeTeamMembers\r\n * @returns {Promise} Resolves with the requested team\r\n */\r\n get({url}, options = {}) {\r\n if (!url) {\r\n return Promise.reject(new Error('`team.url` is required'));\r\n }\r\n const params = {\r\n includeTeamConversations: false,\r\n includeTeamMembers: false,\r\n ...options,\r\n };\r\n\r\n return this.webex\r\n .request({\r\n uri: url,\r\n qs: params,\r\n })\r\n .then((res) => this._recordUUIDs(res.body).then(() => res.body));\r\n },\r\n\r\n /**\r\n * Get the list of conversations for a particular team\r\n * @param {TeamObject} team\r\n * @param {String} team.url\r\n * @returns {Promise} Resolves with an array of conversations\r\n */\r\n listConversations({url}) {\r\n if (!url) {\r\n return Promise.reject(new Error('`team.url` is required'));\r\n }\r\n\r\n return this.webex\r\n .request({\r\n uri: `${url}/conversations`,\r\n })\r\n .then((res) => res.body.items);\r\n },\r\n\r\n /**\r\n * Join a team conversation\r\n * @param {TeamObject} team\r\n * @param {ConversationObject} conversation\r\n * @param {userId} userId\r\n * @returns {Promise} Resolves with the conversation\r\n */\r\n joinConversation(team, conversation, userId) {\r\n if (!userId) {\r\n return Promise.reject(new Error('`userId` is required'));\r\n }\r\n\r\n const body = {\r\n kmsMessage: {\r\n client: {\r\n clientId: this.webex.internal.device.url,\r\n credential: {\r\n bearer: this.webex.credentials.supertoken.access_token,\r\n userId,\r\n },\r\n },\r\n method: 'create',\r\n requestId: uuid.v4(),\r\n resourceUri: conversation.kmsResourceObjectUrl,\r\n uri: '/authorizations',\r\n userIds: [userId],\r\n },\r\n };\r\n\r\n return this.webex\r\n .request({\r\n method: 'POST',\r\n uri: `${team.url}/conversations/${conversation.id}/participants`,\r\n body,\r\n })\r\n .then((res) => res.body);\r\n },\r\n\r\n /**\r\n * Retrieve all teams\r\n * @param {Object} options\r\n * @param {boolean} options.includeTeamConversations\r\n * @param {boolean} options.includeTeamMembers\r\n * @returns {Promise} Resolves with the requested teams\r\n */\r\n async list(options = {}) {\r\n const params = {\r\n includeTeamConversations: false,\r\n includeTeamMembers: false,\r\n ...options,\r\n };\r\n const resource = 'teams';\r\n\r\n const res = await this.webex.request({\r\n api: 'conversation',\r\n resource,\r\n qs: params,\r\n });\r\n\r\n let list = res.body.items.slice(0);\r\n\r\n if (res.body.additionalUrls) {\r\n const results = await Promise.all(\r\n res.body.additionalUrls.map((host) => {\r\n const uri = `${host}/${resource}`;\r\n\r\n return this.webex.request({\r\n uri,\r\n qs: params,\r\n });\r\n })\r\n );\r\n\r\n for (const result of results) {\r\n if (result.body && result.body.items && result.body.items.length) {\r\n list = list.concat(result.body.items);\r\n }\r\n }\r\n }\r\n\r\n await Promise.all(res.body.items.map((team) => this._recordUUIDs(team)));\r\n\r\n return list;\r\n },\r\n\r\n /**\r\n * Remove a member from a team\r\n * @param {TeamObject} team\r\n * @param {Object} participant\r\n * @param {Object} activity Reference to the activity that will eventually be\r\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\r\n * provisional activity\r\n * @returns {Promise} Resolves with activity that was posted\r\n */\r\n removeMember(team, participant, activity) {\r\n return this._ensureGeneralConversation(team).then((generalConversation) =>\r\n this.webex.internal.conversation.leave(generalConversation, participant, activity)\r\n );\r\n },\r\n\r\n /**\r\n * Remove a team conversation from a team.\r\n * @param {TeamObject} team\r\n * @param {ConversationObject} conversation to be removed\r\n * @param {Object} activity Reference to the activity that will eventually be\r\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\r\n * provisional activity\r\n * @returns {Promise} Resolves with the leave activity\r\n */\r\n removeConversation(team, conversation, activity) {\r\n return this._ensureGeneralConversation(team)\r\n .then((generalConversation) => {\r\n const properties = {\r\n verb: 'remove',\r\n object: pick(conversation, 'id', 'url', 'objectType'),\r\n target: pick(generalConversation, 'id', 'url', 'objectType'),\r\n kmsMessage: {\r\n method: 'delete',\r\n uri: `<KRO>/authorizations?${querystring.stringify({authId: conversation.id})}`,\r\n },\r\n };\r\n\r\n return this.webex.internal.conversation.prepare(activity, properties);\r\n })\r\n .then((a) => this.webex.internal.conversation.submit(a));\r\n },\r\n\r\n /**\r\n * Update the displayName, summary, or teamColor field for a team.\r\n * @param {TeamObject} team to be updated\r\n * @param {Object} object with updated displayName, summary, and/or teamColor\r\n * @param {Object} activity Reference to the activity that will eventually be\r\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\r\n * provisional activity\r\n * @returns {Promise} Resolves with posted activity\r\n */\r\n update(team, object, activity) {\r\n return this.webex.internal.conversation.update(team, object, activity);\r\n },\r\n\r\n /* eslint-disable require-jsdoc */\r\n _ensureGeneralConversation(team) {\r\n if (!team.generalConversationUuid) {\r\n return Promise.reject(new Error('`team.generalConversationUuid` must be present'));\r\n }\r\n\r\n if (team.conversations.items.length) {\r\n const generalConversation = find(team.conversations.items, {\r\n id: team.generalConversationUuid,\r\n });\r\n\r\n if (generalConversation) {\r\n return Promise.resolve(generalConversation);\r\n }\r\n }\r\n\r\n return this.webex.internal.conversation.get({id: team.generalConversationUuid});\r\n },\r\n\r\n _prepareTeam: function _prepareTeam(params) {\r\n const payload = this.webex.internal.conversation._prepareConversationForCreation(params);\r\n\r\n payload.objectType = 'team';\r\n\r\n if (params.summary) {\r\n payload.summary = params.summary;\r\n }\r\n\r\n return Promise.resolve(payload);\r\n },\r\n\r\n _prepareTeamConversation(teamConversation, params) {\r\n if (!teamConversation.kmsResourceObjectUrl) {\r\n return Promise.reject(new Error('Team general conversation must have a KRO'));\r\n }\r\n\r\n const payload = this.webex.internal.conversation._prepareConversationForCreation(params);\r\n\r\n // Push the general conversation KRO on so that team members can\r\n // decrypt the title of this open room without joining it.\r\n payload.kmsMessage.userIds.push(teamConversation.kmsResourceObjectUrl);\r\n\r\n return Promise.resolve(payload);\r\n },\r\n\r\n _recordUUIDs(team) {\r\n if (!team.teamMembers || !team.teamMembers.items) {\r\n return Promise.resolve(team);\r\n }\r\n\r\n return Promise.all(\r\n team.teamMembers.items.map((participant) => {\r\n // ROOMs or LYRA_SPACEs do not have email addresses, so there's no point attempting to\r\n // record their UUIDs.\r\n if (participant.type === 'ROOM' || participant.type === 'LYRA_SPACE') {\r\n return Promise.resolve();\r\n }\r\n\r\n return this.webex.internal.user\r\n .recordUUID(participant)\r\n .catch((err) => this.logger.warn('Could not record uuid', err));\r\n })\r\n );\r\n },\r\n /* eslint-enable require-jsdoc */\r\n});\r\n\r\n/**\r\n * Assign or unassign a team member to be a moderator of a team\r\n * @param {TeamObject} team\r\n * @param {Object} participant\r\n * @param {Object} activity\r\n * @returns {Promise} Resolves with activity that was posted\r\n */\r\n['assignModerator', 'unassignModerator'].forEach((verb) => {\r\n Team.prototype[verb] = function submitModerationChangeActivity(team, member, activity) {\r\n return this._ensureGeneralConversation(team).then((teamConversation) =>\r\n this.webex.internal.conversation[verb](teamConversation, member, activity)\r\n );\r\n };\r\n});\r\n\r\n/**\r\n * Archive or unarchive a team or team conversation.\r\n * @param {TeamObject|ConversationObject} target team or team conversation that should be archived\r\n * @param {Object} activity Reference to the activity that will eventually be\r\n * posted. Use this to (a) pass in e.g. clientTempId and (b) render a\r\n * provisional activity\r\n * @returns {Promise} Resolves with the posted activity\r\n */\r\n['archive', 'unarchive'].forEach((verb) => {\r\n Team.prototype[verb] = function submitArchiveStateChangeActivity(target, activity) {\r\n if (!target.objectType) {\r\n return Promise.reject(new Error('`target.objectType` is required'));\r\n }\r\n\r\n const properties = {\r\n verb,\r\n object: pick(target, 'id', 'url', 'objectType'),\r\n target: pick(target, 'id', 'url', 'objectType'),\r\n };\r\n\r\n const teamUrl = this.webex.internal.conversation.getConvoUrl(target);\r\n\r\n return this.webex.internal.conversation\r\n .prepare(activity, properties)\r\n .then((a) => this.webex.internal.conversation.submit(a, teamUrl));\r\n };\r\n});\r\n\r\nexport default Team;\r\n"],"mappings":"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"}