@webex/internal-plugin-team 3.0.0-beta.4 → 3.0.0-beta.41
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/README.md +1 -3
- 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 +92 -141
- package/dist/team.js.map +1 -1
- package/package.json +11 -11
- package/src/config.js +1 -1
- package/src/index.js +49 -33
- package/src/team.js +129 -84
- package/test/integration/spec/actions.js +326 -295
- package/test/integration/spec/create.js +81 -51
- package/test/integration/spec/get.js +47 -45
- package/test/integration/spec/mercury.js +53 -43
- package/test/unit/spec/team.js +79 -26
package/README.md
CHANGED
|
@@ -21,14 +21,12 @@ npm install --save @webex/internal-plugin-team
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
23
|
```js
|
|
24
|
-
|
|
25
24
|
import '@webex/internal-plugin-team';
|
|
26
25
|
|
|
27
26
|
import WebexCore from '@webex/webex-core';
|
|
28
27
|
|
|
29
28
|
const webex = new WebexCore();
|
|
30
|
-
webex.internal.team.WHATEVER
|
|
31
|
-
|
|
29
|
+
webex.internal.team.WHATEVER;
|
|
32
30
|
```
|
|
33
31
|
|
|
34
32
|
## Maintainers
|
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: {}
|
|
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(has(optionsOrResponse, 'activity.object.activityEvent')
|
|
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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"}
|