@webex/internal-plugin-team 3.0.0-beta.15 → 3.0.0-beta.17

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/dist/config.js CHANGED
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  _Object$defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
-
9
7
  exports.default = void 0;
10
-
11
8
  /*!
12
9
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
13
10
  */
@@ -1 +1 @@
1
- {"version":3,"names":["team"],"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;eAEe;EACbA,IAAI,EAAE;AADO,C"}
1
+ {"version":3,"names":["team"],"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,eAIe;EACbA,IAAI,EAAE,CAAC;AACT,CAAC;AAAA"}
package/dist/index.js CHANGED
@@ -1,43 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  _Object$defineProperty(exports, "default", {
12
9
  enumerable: true,
13
10
  get: function get() {
14
11
  return _team.default;
15
12
  }
16
13
  });
17
-
18
14
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
19
-
20
15
  var _get2 = _interopRequireDefault(require("lodash/get"));
21
-
22
16
  var _has2 = _interopRequireDefault(require("lodash/has"));
23
-
24
17
  var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
25
-
26
18
  require("@webex/internal-plugin-conversation");
27
-
28
19
  require("@webex/internal-plugin-user");
29
-
30
20
  require("@webex/internal-plugin-encryption");
31
-
32
21
  var _webexCore = require("@webex/webex-core");
33
-
34
22
  var _team = _interopRequireDefault(require("./team"));
35
-
36
23
  var _config = _interopRequireDefault(require("./config"));
37
-
38
24
  /*!
39
25
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
40
26
  */
27
+
41
28
  (0, _webexCore.registerInternalPlugin)('team', _team.default, {
42
29
  payloadTransformer: {
43
30
  predicates: [{
@@ -55,20 +42,16 @@ var _config = _interopRequireDefault(require("./config"));
55
42
  direction: 'inbound',
56
43
  fn: function fn(ctx, key, team) {
57
44
  var promises = [];
58
-
59
45
  if (team.conversations.items) {
60
46
  promises.push(_promise.default.all(team.conversations.items.map(function (item) {
61
47
  return ctx.transform('decryptObject', null, item);
62
48
  })));
63
49
  }
64
-
65
50
  var usableKey = team.encryptionKeyUrl || key;
66
-
67
51
  if (usableKey) {
68
52
  promises.push(ctx.transform('decryptPropDisplayName', usableKey, team));
69
53
  promises.push(ctx.transform('decryptPropSummary', usableKey, team));
70
54
  }
71
-
72
55
  return _promise.default.all(promises);
73
56
  }
74
57
  }, {
@@ -91,20 +74,18 @@ var _config = _interopRequireDefault(require("./config"));
91
74
  if (key === false) {
92
75
  return _promise.default.resolve();
93
76
  }
94
-
95
77
  return _promise.default.resolve(key || ctx.webex.internal.encryption.kms.createUnboundKeys({
96
78
  count: 1
97
79
  })).then(function (keys) {
98
80
  var k = (0, _isArray2.default)(keys) ? keys[0] : keys;
99
-
100
81
  if (team.kmsMessage && team.kmsMessage.keyUris && !team.kmsMessage.keyUris.includes(k.uri)) {
101
82
  team.kmsMessage.keyUris.push(k.uri);
102
83
  }
103
-
104
84
  return _promise.default.all([ctx.transform('encryptPropDisplayName', k, team), ctx.transform('encryptPropSummary', k, team)]).then(function () {
105
- team.encryptionKeyUrl = k.uri || k; // we only want to set the defaultActivityEncryptionKeyUrl if we've
106
- // bound a new key
85
+ team.encryptionKeyUrl = k.uri || k;
107
86
 
87
+ // we only want to set the defaultActivityEncryptionKeyUrl if we've
88
+ // bound a new key
108
89
  if (!key) {
109
90
  team.defaultActivityEncryptionKeyUrl = team.defaultActivityEncryptionKeyUrl || k.uri || k;
110
91
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Team","payloadTransformer","predicates","name","direction","test","ctx","optionsOrResponse","resolve","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","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":["registerInternalPlugin","Team","payloadTransformer","predicates","name","direction","test","ctx","optionsOrResponse","resolve","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","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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"}
package/dist/team.js CHANGED
@@ -1,66 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _Array$from = require("@babel/runtime-corejs2/core-js/array/from");
16
-
17
10
  var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");
18
-
19
11
  var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");
20
-
21
12
  var _Array$isArray = require("@babel/runtime-corejs2/core-js/array/is-array");
22
-
23
13
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
24
-
25
14
  _Object$defineProperty(exports, "__esModule", {
26
15
  value: true
27
16
  });
28
-
29
17
  exports.default = void 0;
30
-
31
18
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
32
-
33
19
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
34
-
35
20
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
36
-
37
21
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
38
-
39
22
  var _uniq2 = _interopRequireDefault(require("lodash/uniq"));
40
-
41
23
  var _pick2 = _interopRequireDefault(require("lodash/pick"));
42
-
43
24
  var _find2 = _interopRequireDefault(require("lodash/find"));
44
-
45
25
  var _querystring = _interopRequireDefault(require("querystring"));
46
-
47
26
  var _uuid = _interopRequireDefault(require("uuid"));
48
-
49
27
  var _webexCore = require("@webex/webex-core");
50
-
51
28
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
52
-
53
29
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
54
-
55
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
56
-
30
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
57
31
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
58
-
59
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; }
60
-
61
33
  var Team = _webexCore.WebexPlugin.extend({
62
34
  namespace: 'Team',
63
-
64
35
  /**
65
36
  * Move an existing group conversation into a team.
66
37
  * @param {TeamObject} team
@@ -72,7 +43,6 @@ var Team = _webexCore.WebexPlugin.extend({
72
43
  */
73
44
  addConversation: function addConversation(team, conversation, activity) {
74
45
  var _this = this;
75
-
76
46
  return this._ensureGeneralConversation(team).then(function (generalConversation) {
77
47
  return _this.webex.internal.conversation.prepare(activity, {
78
48
  verb: 'add',
@@ -92,7 +62,6 @@ var Team = _webexCore.WebexPlugin.extend({
92
62
  return _this.webex.internal.conversation.submit(a);
93
63
  });
94
64
  },
95
-
96
65
  /**
97
66
  * Add a member to a team
98
67
  * @param {TeamObject} team
@@ -104,12 +73,10 @@ var Team = _webexCore.WebexPlugin.extend({
104
73
  */
105
74
  addMember: function addMember(team, participant, activity) {
106
75
  var _this2 = this;
107
-
108
76
  return this._ensureGeneralConversation(team).then(function (generalConversation) {
109
77
  return _this2.webex.internal.conversation.add(generalConversation, participant, activity);
110
78
  });
111
79
  },
112
-
113
80
  /**
114
81
  * Create a team
115
82
  * @param {NewTeamObject} params
@@ -120,15 +87,12 @@ var Team = _webexCore.WebexPlugin.extend({
120
87
  */
121
88
  create: function create(params) {
122
89
  var _this3 = this;
123
-
124
90
  if (!params.displayName) {
125
91
  return _promise.default.reject(new Error('`params.displayName` is required'));
126
92
  }
127
-
128
93
  if (!params.participants || params.participants.length === 0) {
129
94
  return _promise.default.reject(new Error('`params.participants` is required'));
130
95
  }
131
-
132
96
  return _promise.default.all(params.participants.map(function (participant) {
133
97
  return _this3.webex.internal.user.asUUID(participant, {
134
98
  create: true
@@ -149,7 +113,6 @@ var Team = _webexCore.WebexPlugin.extend({
149
113
  return res.body;
150
114
  });
151
115
  },
152
-
153
116
  /**
154
117
  * Create a conversation within a team. Currently does not support
155
118
  * activities besides add (ie no post or share activities).
@@ -164,17 +127,13 @@ var Team = _webexCore.WebexPlugin.extend({
164
127
  */
165
128
  createConversation: function createConversation(team, params) {
166
129
  var _this4 = this;
167
-
168
130
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
169
-
170
131
  if (!team.url) {
171
132
  return _promise.default.reject(new Error('`team.url` is required'));
172
133
  }
173
-
174
134
  if (!params.displayName) {
175
135
  return _promise.default.reject(new Error('`params.displayName` is required'));
176
136
  }
177
-
178
137
  return this._ensureGeneralConversation(team).then(function (generalConversation) {
179
138
  return _promise.default.all(params.participants.map(function (participant) {
180
139
  return _this4.webex.internal.user.asUUID(participant, {
@@ -197,7 +156,6 @@ var Team = _webexCore.WebexPlugin.extend({
197
156
  return res.body;
198
157
  });
199
158
  },
200
-
201
159
  /**
202
160
  * Retrieve a single team
203
161
  * @param {Object|Team~TeamObject} team
@@ -209,19 +167,15 @@ var Team = _webexCore.WebexPlugin.extend({
209
167
  */
210
168
  get: function get(_ref) {
211
169
  var _this5 = this;
212
-
213
170
  var url = _ref.url;
214
171
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
215
-
216
172
  if (!url) {
217
173
  return _promise.default.reject(new Error('`team.url` is required'));
218
174
  }
219
-
220
175
  var params = _objectSpread({
221
176
  includeTeamConversations: false,
222
177
  includeTeamMembers: false
223
178
  }, options);
224
-
225
179
  return this.webex.request({
226
180
  uri: url,
227
181
  qs: params
@@ -231,7 +185,6 @@ var Team = _webexCore.WebexPlugin.extend({
231
185
  });
232
186
  });
233
187
  },
234
-
235
188
  /**
236
189
  * Get the list of conversations for a particular team
237
190
  * @param {TeamObject} team
@@ -240,18 +193,15 @@ var Team = _webexCore.WebexPlugin.extend({
240
193
  */
241
194
  listConversations: function listConversations(_ref2) {
242
195
  var url = _ref2.url;
243
-
244
196
  if (!url) {
245
197
  return _promise.default.reject(new Error('`team.url` is required'));
246
198
  }
247
-
248
199
  return this.webex.request({
249
200
  uri: "".concat(url, "/conversations")
250
201
  }).then(function (res) {
251
202
  return res.body.items;
252
203
  });
253
204
  },
254
-
255
205
  /**
256
206
  * Join a team conversation
257
207
  * @param {TeamObject} team
@@ -263,7 +213,6 @@ var Team = _webexCore.WebexPlugin.extend({
263
213
  if (!userId) {
264
214
  return _promise.default.reject(new Error('`userId` is required'));
265
215
  }
266
-
267
216
  var body = {
268
217
  kmsMessage: {
269
218
  client: {
@@ -288,7 +237,6 @@ var Team = _webexCore.WebexPlugin.extend({
288
237
  return res.body;
289
238
  });
290
239
  },
291
-
292
240
  /**
293
241
  * Retrieve all teams
294
242
  * @param {Object} options
@@ -298,82 +246,68 @@ var Team = _webexCore.WebexPlugin.extend({
298
246
  */
299
247
  list: function list() {
300
248
  var _arguments = arguments,
301
- _this6 = this;
302
-
249
+ _this6 = this;
303
250
  return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
304
251
  var options, params, resource, res, list, results, _iterator, _step, result;
305
-
306
252
  return _regenerator.default.wrap(function _callee$(_context) {
307
- while (1) {
308
- switch (_context.prev = _context.next) {
309
- case 0:
310
- options = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {};
311
- params = _objectSpread({
312
- includeTeamConversations: false,
313
- includeTeamMembers: false
314
- }, options);
315
- resource = 'teams';
316
- _context.next = 5;
253
+ while (1) switch (_context.prev = _context.next) {
254
+ case 0:
255
+ options = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {};
256
+ params = _objectSpread({
257
+ includeTeamConversations: false,
258
+ includeTeamMembers: false
259
+ }, options);
260
+ resource = 'teams';
261
+ _context.next = 5;
262
+ return _this6.webex.request({
263
+ api: 'conversation',
264
+ resource: resource,
265
+ qs: params
266
+ });
267
+ case 5:
268
+ res = _context.sent;
269
+ list = res.body.items.slice(0);
270
+ if (!res.body.additionalUrls) {
271
+ _context.next = 13;
272
+ break;
273
+ }
274
+ _context.next = 10;
275
+ return _promise.default.all(res.body.additionalUrls.map(function (host) {
276
+ var uri = "".concat(host, "/").concat(resource);
317
277
  return _this6.webex.request({
318
- api: 'conversation',
319
- resource: resource,
278
+ uri: uri,
320
279
  qs: params
321
280
  });
322
-
323
- case 5:
324
- res = _context.sent;
325
- list = res.body.items.slice(0);
326
-
327
- if (!res.body.additionalUrls) {
328
- _context.next = 13;
329
- break;
330
- }
331
-
332
- _context.next = 10;
333
- return _promise.default.all(res.body.additionalUrls.map(function (host) {
334
- var uri = "".concat(host, "/").concat(resource);
335
- return _this6.webex.request({
336
- uri: uri,
337
- qs: params
338
- });
339
- }));
340
-
341
- case 10:
342
- results = _context.sent;
343
- _iterator = _createForOfIteratorHelper(results);
344
-
345
- try {
346
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
347
- result = _step.value;
348
-
349
- if (result.body && result.body.items && result.body.items.length) {
350
- list = list.concat(result.body.items);
351
- }
281
+ }));
282
+ case 10:
283
+ results = _context.sent;
284
+ _iterator = _createForOfIteratorHelper(results);
285
+ try {
286
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
287
+ result = _step.value;
288
+ if (result.body && result.body.items && result.body.items.length) {
289
+ list = list.concat(result.body.items);
352
290
  }
353
- } catch (err) {
354
- _iterator.e(err);
355
- } finally {
356
- _iterator.f();
357
291
  }
358
-
359
- case 13:
360
- _context.next = 15;
361
- return _promise.default.all(res.body.items.map(function (team) {
362
- return _this6._recordUUIDs(team);
363
- }));
364
-
365
- case 15:
366
- return _context.abrupt("return", list);
367
-
368
- case 16:
369
- case "end":
370
- return _context.stop();
371
- }
292
+ } catch (err) {
293
+ _iterator.e(err);
294
+ } finally {
295
+ _iterator.f();
296
+ }
297
+ case 13:
298
+ _context.next = 15;
299
+ return _promise.default.all(res.body.items.map(function (team) {
300
+ return _this6._recordUUIDs(team);
301
+ }));
302
+ case 15:
303
+ return _context.abrupt("return", list);
304
+ case 16:
305
+ case "end":
306
+ return _context.stop();
372
307
  }
373
308
  }, _callee);
374
309
  }))();
375
310
  },
376
-
377
311
  /**
378
312
  * Remove a member from a team
379
313
  * @param {TeamObject} team
@@ -385,12 +319,10 @@ var Team = _webexCore.WebexPlugin.extend({
385
319
  */
386
320
  removeMember: function removeMember(team, participant, activity) {
387
321
  var _this7 = this;
388
-
389
322
  return this._ensureGeneralConversation(team).then(function (generalConversation) {
390
323
  return _this7.webex.internal.conversation.leave(generalConversation, participant, activity);
391
324
  });
392
325
  },
393
-
394
326
  /**
395
327
  * Remove a team conversation from a team.
396
328
  * @param {TeamObject} team
@@ -402,7 +334,6 @@ var Team = _webexCore.WebexPlugin.extend({
402
334
  */
403
335
  removeConversation: function removeConversation(team, conversation, activity) {
404
336
  var _this8 = this;
405
-
406
337
  return this._ensureGeneralConversation(team).then(function (generalConversation) {
407
338
  var properties = {
408
339
  verb: 'remove',
@@ -420,7 +351,6 @@ var Team = _webexCore.WebexPlugin.extend({
420
351
  return _this8.webex.internal.conversation.submit(a);
421
352
  });
422
353
  },
423
-
424
354
  /**
425
355
  * Update the displayName, summary, or teamColor field for a team.
426
356
  * @param {TeamObject} team to be updated
@@ -433,73 +363,60 @@ var Team = _webexCore.WebexPlugin.extend({
433
363
  update: function update(team, object, activity) {
434
364
  return this.webex.internal.conversation.update(team, object, activity);
435
365
  },
436
-
437
- /* eslint-disable require-jsdoc */
438
- _ensureGeneralConversation: function _ensureGeneralConversation(team) {
366
+ /* eslint-disable require-jsdoc */_ensureGeneralConversation: function _ensureGeneralConversation(team) {
439
367
  if (!team.generalConversationUuid) {
440
368
  return _promise.default.reject(new Error('`team.generalConversationUuid` must be present'));
441
369
  }
442
-
443
370
  if (team.conversations.items.length) {
444
371
  var generalConversation = (0, _find2.default)(team.conversations.items, {
445
372
  id: team.generalConversationUuid
446
373
  });
447
-
448
374
  if (generalConversation) {
449
375
  return _promise.default.resolve(generalConversation);
450
376
  }
451
377
  }
452
-
453
378
  return this.webex.internal.conversation.get({
454
379
  id: team.generalConversationUuid
455
380
  });
456
381
  },
457
382
  _prepareTeam: function _prepareTeam(params) {
458
383
  var payload = this.webex.internal.conversation._prepareConversationForCreation(params);
459
-
460
384
  payload.objectType = 'team';
461
-
462
385
  if (params.summary) {
463
386
  payload.summary = params.summary;
464
387
  }
465
-
466
388
  return _promise.default.resolve(payload);
467
389
  },
468
390
  _prepareTeamConversation: function _prepareTeamConversation(teamConversation, params) {
469
391
  if (!teamConversation.kmsResourceObjectUrl) {
470
392
  return _promise.default.reject(new Error('Team general conversation must have a KRO'));
471
393
  }
394
+ var payload = this.webex.internal.conversation._prepareConversationForCreation(params);
472
395
 
473
- var payload = this.webex.internal.conversation._prepareConversationForCreation(params); // Push the general conversation KRO on so that team members can
396
+ // Push the general conversation KRO on so that team members can
474
397
  // decrypt the title of this open room without joining it.
475
-
476
-
477
398
  payload.kmsMessage.userIds.push(teamConversation.kmsResourceObjectUrl);
478
399
  return _promise.default.resolve(payload);
479
400
  },
480
401
  _recordUUIDs: function _recordUUIDs(team) {
481
402
  var _this9 = this;
482
-
483
403
  if (!team.teamMembers || !team.teamMembers.items) {
484
404
  return _promise.default.resolve(team);
485
405
  }
486
-
487
406
  return _promise.default.all(team.teamMembers.items.map(function (participant) {
488
407
  // ROOMs or LYRA_SPACEs do not have email addresses, so there's no point attempting to
489
408
  // record their UUIDs.
490
409
  if (participant.type === 'ROOM' || participant.type === 'LYRA_SPACE') {
491
410
  return _promise.default.resolve();
492
411
  }
493
-
494
412
  return _this9.webex.internal.user.recordUUID(participant).catch(function (err) {
495
413
  return _this9.logger.warn('Could not record uuid', err);
496
414
  });
497
415
  }));
498
- }
499
- /* eslint-enable require-jsdoc */
500
- ,
501
- version: "3.0.0-beta.15"
416
+ } /* eslint-enable require-jsdoc */,
417
+ version: "3.0.0-beta.17"
502
418
  });
419
+
503
420
  /**
504
421
  * Assign or unassign a team member to be a moderator of a team
505
422
  * @param {TeamObject} team
@@ -507,17 +424,15 @@ var Team = _webexCore.WebexPlugin.extend({
507
424
  * @param {Object} activity
508
425
  * @returns {Promise} Resolves with activity that was posted
509
426
  */
510
-
511
-
512
427
  ['assignModerator', 'unassignModerator'].forEach(function (verb) {
513
428
  Team.prototype[verb] = function submitModerationChangeActivity(team, member, activity) {
514
429
  var _this10 = this;
515
-
516
430
  return this._ensureGeneralConversation(team).then(function (teamConversation) {
517
431
  return _this10.webex.internal.conversation[verb](teamConversation, member, activity);
518
432
  });
519
433
  };
520
434
  });
435
+
521
436
  /**
522
437
  * Archive or unarchive a team or team conversation.
523
438
  * @param {TeamObject|ConversationObject} target team or team conversation that should be archived
@@ -526,15 +441,12 @@ var Team = _webexCore.WebexPlugin.extend({
526
441
  * provisional activity
527
442
  * @returns {Promise} Resolves with the posted activity
528
443
  */
529
-
530
444
  ['archive', 'unarchive'].forEach(function (verb) {
531
445
  Team.prototype[verb] = function submitArchiveStateChangeActivity(target, activity) {
532
446
  var _this11 = this;
533
-
534
447
  if (!target.objectType) {
535
448
  return _promise.default.reject(new Error('`target.objectType` is required'));
536
449
  }
537
-
538
450
  var properties = {
539
451
  verb: verb,
540
452
  object: (0, _pick2.default)(target, 'id', 'url', 'objectType'),
package/dist/team.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Team","WebexPlugin","extend","namespace","addConversation","team","conversation","activity","_ensureGeneralConversation","then","generalConversation","webex","internal","prepare","verb","target","prepareConversation","object","id","objectType","kmsMessage","method","uri","resourceUri","kmsResourceObjectUrl","userIds","a","submit","addMember","participant","add","create","params","displayName","reject","Error","participants","length","all","map","user","asUUID","unshift","device","userId","_prepareTeam","payload","request","service","resource","body","res","createConversation","options","url","_prepareTeamConversation","qs","get","includeTeamConversations","includeTeamMembers","_recordUUIDs","listConversations","items","joinConversation","client","clientId","credential","bearer","credentials","supertoken","access_token","requestId","uuid","v4","list","api","slice","additionalUrls","host","results","result","concat","removeMember","leave","removeConversation","properties","querystring","stringify","authId","update","generalConversationUuid","conversations","resolve","_prepareConversationForCreation","summary","teamConversation","push","teamMembers","type","recordUUID","catch","err","logger","warn","forEach","prototype","submitModerationChangeActivity","member","submitArchiveStateChangeActivity","teamUrl","getConvoUrl"],"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":["Team","WebexPlugin","extend","namespace","addConversation","team","conversation","activity","_ensureGeneralConversation","then","generalConversation","webex","internal","prepare","verb","target","prepareConversation","object","id","objectType","kmsMessage","method","uri","resourceUri","kmsResourceObjectUrl","userIds","a","submit","addMember","participant","add","create","params","displayName","reject","Error","participants","length","all","map","user","asUUID","unshift","device","userId","_prepareTeam","payload","request","service","resource","body","res","createConversation","options","url","_prepareTeamConversation","qs","get","includeTeamConversations","includeTeamMembers","_recordUUIDs","listConversations","items","joinConversation","client","clientId","credential","bearer","credentials","supertoken","access_token","requestId","uuid","v4","list","api","slice","additionalUrls","host","results","result","concat","removeMember","leave","removeConversation","properties","querystring","stringify","authId","update","generalConversationUuid","conversations","resolve","_prepareConversationForCreation","summary","teamConversation","push","teamMembers","type","recordUUID","catch","err","logger","warn","forEach","prototype","submitModerationChangeActivity","member","submitArchiveStateChangeActivity","teamUrl","getConvoUrl"],"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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-team",
3
- "version": "3.0.0-beta.15",
3
+ "version": "3.0.0-beta.17",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Josh Dykstra <jodykstr@cisco.com>",
@@ -21,19 +21,19 @@
21
21
  ]
22
22
  },
23
23
  "devDependencies": {
24
- "@webex/test-helper-chai": "3.0.0-beta.15",
25
- "@webex/test-helper-mocha": "3.0.0-beta.15",
26
- "@webex/test-helper-mock-webex": "3.0.0-beta.15",
27
- "@webex/test-helper-test-users": "3.0.0-beta.15",
24
+ "@webex/test-helper-chai": "3.0.0-beta.17",
25
+ "@webex/test-helper-mocha": "3.0.0-beta.17",
26
+ "@webex/test-helper-mock-webex": "3.0.0-beta.17",
27
+ "@webex/test-helper-test-users": "3.0.0-beta.17",
28
28
  "sinon": "^9.2.4"
29
29
  },
30
30
  "dependencies": {
31
- "@webex/internal-plugin-conversation": "3.0.0-beta.15",
32
- "@webex/internal-plugin-device": "3.0.0-beta.15",
33
- "@webex/internal-plugin-encryption": "3.0.0-beta.15",
34
- "@webex/internal-plugin-team": "3.0.0-beta.15",
35
- "@webex/internal-plugin-user": "3.0.0-beta.15",
36
- "@webex/webex-core": "3.0.0-beta.15",
31
+ "@webex/internal-plugin-conversation": "3.0.0-beta.17",
32
+ "@webex/internal-plugin-device": "3.0.0-beta.17",
33
+ "@webex/internal-plugin-encryption": "3.0.0-beta.17",
34
+ "@webex/internal-plugin-team": "3.0.0-beta.17",
35
+ "@webex/internal-plugin-user": "3.0.0-beta.17",
36
+ "@webex/webex-core": "3.0.0-beta.17",
37
37
  "lodash": "^4.17.21",
38
38
  "uuid": "^3.3.2"
39
39
  }