@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 +0 -3
- package/dist/config.js.map +1 -1
- package/dist/index.js +4 -23
- package/dist/index.js.map +1 -1
- package/dist/team.js +58 -146
- package/dist/team.js.map +1 -1
- package/package.json +11 -11
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
|
*/
|
package/dist/config.js.map
CHANGED
|
@@ -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":"
|
|
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;
|
|
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":"
|
|
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
|
-
|
|
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
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
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
|
-
|
|
319
|
-
resource: resource,
|
|
278
|
+
uri: uri,
|
|
320
279
|
qs: params
|
|
321
280
|
});
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
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
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
return
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
25
|
-
"@webex/test-helper-mocha": "3.0.0-beta.
|
|
26
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
27
|
-
"@webex/test-helper-test-users": "3.0.0-beta.
|
|
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.
|
|
32
|
-
"@webex/internal-plugin-device": "3.0.0-beta.
|
|
33
|
-
"@webex/internal-plugin-encryption": "3.0.0-beta.
|
|
34
|
-
"@webex/internal-plugin-team": "3.0.0-beta.
|
|
35
|
-
"@webex/internal-plugin-user": "3.0.0-beta.
|
|
36
|
-
"@webex/webex-core": "3.0.0-beta.
|
|
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
|
}
|