@webex/internal-plugin-conversation 3.0.0-beta.9 → 3.0.0-bnr.0
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/activities.js +8 -69
- package/dist/activities.js.map +1 -1
- package/dist/activity-thread-ordering.js +19 -79
- package/dist/activity-thread-ordering.js.map +1 -1
- package/dist/config.js +1 -7
- package/dist/config.js.map +1 -1
- package/dist/constants.js +4 -5
- package/dist/constants.js.map +1 -1
- package/dist/conversation.js +790 -1199
- package/dist/conversation.js.map +1 -1
- package/dist/convo-error.js +0 -23
- package/dist/convo-error.js.map +1 -1
- package/dist/decryption-transforms.js +35 -98
- package/dist/decryption-transforms.js.map +1 -1
- package/dist/encryption-transforms.js +11 -48
- package/dist/encryption-transforms.js.map +1 -1
- package/dist/index.js +7 -50
- package/dist/index.js.map +1 -1
- package/dist/internal-plugin-conversation.d.ts +21 -0
- package/dist/share-activity.js +40 -106
- package/dist/share-activity.js.map +1 -1
- package/dist/to-array.js +9 -11
- package/dist/to-array.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/types/activities.d.ts +32 -0
- package/dist/types/activity-thread-ordering.d.ts +18 -0
- package/dist/types/config.d.ts +19 -0
- package/dist/types/constants.d.ts +5 -0
- package/dist/types/conversation.d.ts +2 -0
- package/dist/types/convo-error.d.ts +10 -0
- package/dist/types/decryption-transforms.d.ts +1 -0
- package/dist/types/encryption-transforms.d.ts +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/share-activity.d.ts +7 -0
- package/dist/types/to-array.d.ts +9 -0
- package/package.json +15 -15
- package/src/activities.js +10 -7
- package/src/activity-thread-ordering.js +27 -30
- package/src/activity-threading.md +68 -49
- package/src/config.js +5 -5
- package/src/conversation.js +621 -589
- package/src/decryption-transforms.js +103 -62
- package/src/encryption-transforms.js +103 -83
- package/src/index.js +82 -66
- package/src/share-activity.js +64 -55
- package/src/to-array.js +2 -2
- package/test/integration/spec/create.js +184 -118
- package/test/integration/spec/encryption.js +250 -186
- package/test/integration/spec/get.js +761 -513
- package/test/integration/spec/mercury.js +37 -27
- package/test/integration/spec/share.js +292 -229
- package/test/integration/spec/verbs.js +628 -441
- package/test/unit/spec/conversation.js +265 -163
- package/test/unit/spec/decrypt-transforms.js +112 -131
- package/test/unit/spec/encryption-transforms.js +24 -18
- package/test/unit/spec/share-activity.js +37 -40
package/dist/index.js
CHANGED
|
@@ -1,76 +1,54 @@
|
|
|
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, "ConversationError", {
|
|
12
9
|
enumerable: true,
|
|
13
10
|
get: function get() {
|
|
14
11
|
return _convoError.ConversationError;
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
|
-
|
|
18
14
|
_Object$defineProperty(exports, "InvalidUserCreation", {
|
|
19
15
|
enumerable: true,
|
|
20
16
|
get: function get() {
|
|
21
17
|
return _convoError.InvalidUserCreation;
|
|
22
18
|
}
|
|
23
19
|
});
|
|
24
|
-
|
|
25
20
|
_Object$defineProperty(exports, "ShareActivity", {
|
|
26
21
|
enumerable: true,
|
|
27
22
|
get: function get() {
|
|
28
23
|
return _shareActivity.default;
|
|
29
24
|
}
|
|
30
25
|
});
|
|
31
|
-
|
|
32
26
|
_Object$defineProperty(exports, "default", {
|
|
33
27
|
enumerable: true,
|
|
34
28
|
get: function get() {
|
|
35
29
|
return _conversation.default;
|
|
36
30
|
}
|
|
37
31
|
});
|
|
38
|
-
|
|
39
32
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
40
|
-
|
|
41
33
|
var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
|
|
42
|
-
|
|
43
34
|
var _has2 = _interopRequireDefault(require("lodash/has"));
|
|
44
|
-
|
|
45
35
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
46
|
-
|
|
47
36
|
var _capitalize2 = _interopRequireDefault(require("lodash/capitalize"));
|
|
48
|
-
|
|
49
37
|
require("@webex/internal-plugin-encryption");
|
|
50
|
-
|
|
51
38
|
require("@webex/internal-plugin-user");
|
|
52
|
-
|
|
53
39
|
var _common = require("@webex/common");
|
|
54
|
-
|
|
55
40
|
var _helperHtml = require("@webex/helper-html");
|
|
56
|
-
|
|
57
41
|
var _webexCore = require("@webex/webex-core");
|
|
58
|
-
|
|
59
42
|
var _conversation = _interopRequireDefault(require("./conversation"));
|
|
60
|
-
|
|
61
43
|
var _config = _interopRequireDefault(require("./config"));
|
|
62
|
-
|
|
63
44
|
var _encryptionTransforms = require("./encryption-transforms");
|
|
64
|
-
|
|
65
45
|
var _decryptionTransforms = require("./decryption-transforms");
|
|
66
|
-
|
|
67
46
|
var _shareActivity = _interopRequireDefault(require("./share-activity"));
|
|
68
|
-
|
|
69
47
|
var _convoError = require("./convo-error");
|
|
70
|
-
|
|
71
48
|
/*!
|
|
72
49
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
73
50
|
*/
|
|
51
|
+
|
|
74
52
|
(0, _webexCore.registerInternalPlugin)('conversation', _conversation.default, {
|
|
75
53
|
payloadTransformer: {
|
|
76
54
|
predicates: [{
|
|
@@ -108,11 +86,9 @@ var _convoError = require("./convo-error");
|
|
|
108
86
|
if (!(0, _has2.default)(options, 'body.items[0].objectType')) {
|
|
109
87
|
return _promise.default.resolve(false);
|
|
110
88
|
}
|
|
111
|
-
|
|
112
89
|
if ((0, _get2.default)(options, 'options.deferDecrypt')) {
|
|
113
90
|
return _promise.default.resolve(true);
|
|
114
91
|
}
|
|
115
|
-
|
|
116
92
|
return _promise.default.resolve(false);
|
|
117
93
|
},
|
|
118
94
|
extract: function extract(options) {
|
|
@@ -125,11 +101,9 @@ var _convoError = require("./convo-error");
|
|
|
125
101
|
if (!(0, _has2.default)(options, 'body.items[0].objectType')) {
|
|
126
102
|
return _promise.default.resolve(false);
|
|
127
103
|
}
|
|
128
|
-
|
|
129
104
|
if ((0, _get2.default)(options, 'options.deferDecrypt')) {
|
|
130
105
|
return _promise.default.resolve(false);
|
|
131
106
|
}
|
|
132
|
-
|
|
133
107
|
return _promise.default.resolve(true);
|
|
134
108
|
},
|
|
135
109
|
extract: function extract(options) {
|
|
@@ -142,11 +116,9 @@ var _convoError = require("./convo-error");
|
|
|
142
116
|
if (!(0, _has2.default)(options, 'body.items[0].childType') || !(0, _has2.default)(options, 'body.items[0].actorId')) {
|
|
143
117
|
return _promise.default.resolve(false);
|
|
144
118
|
}
|
|
145
|
-
|
|
146
119
|
if ((0, _get2.default)(options, 'options.deferDecrypt')) {
|
|
147
120
|
return _promise.default.resolve(false);
|
|
148
121
|
}
|
|
149
|
-
|
|
150
122
|
return _promise.default.resolve(true);
|
|
151
123
|
},
|
|
152
124
|
extract: function extract(options) {
|
|
@@ -162,7 +134,6 @@ var _convoError = require("./convo-error");
|
|
|
162
134
|
(0, _deleteProperty.default)(item, 'decrypt');
|
|
163
135
|
return ctx.transform('decryptObject', item);
|
|
164
136
|
};
|
|
165
|
-
|
|
166
137
|
return item;
|
|
167
138
|
});
|
|
168
139
|
}));
|
|
@@ -188,11 +159,9 @@ var _convoError = require("./convo-error");
|
|
|
188
159
|
if (!object) {
|
|
189
160
|
return _promise.default.resolve();
|
|
190
161
|
}
|
|
191
|
-
|
|
192
162
|
if (!object.objectType) {
|
|
193
163
|
return _promise.default.resolve();
|
|
194
164
|
}
|
|
195
|
-
|
|
196
165
|
return ctx.transform('normalizeObject', object).then(function () {
|
|
197
166
|
return ctx.transform('encryptObject', object);
|
|
198
167
|
}).then(function () {
|
|
@@ -206,11 +175,9 @@ var _convoError = require("./convo-error");
|
|
|
206
175
|
if (!object) {
|
|
207
176
|
return _promise.default.resolve();
|
|
208
177
|
}
|
|
209
|
-
|
|
210
178
|
if (!object.objectType) {
|
|
211
179
|
return _promise.default.resolve();
|
|
212
180
|
}
|
|
213
|
-
|
|
214
181
|
return ctx.transform('decryptObject', object).then(function () {
|
|
215
182
|
return ctx.transform('normalizeObject', object);
|
|
216
183
|
});
|
|
@@ -221,11 +188,9 @@ var _convoError = require("./convo-error");
|
|
|
221
188
|
if (!object) {
|
|
222
189
|
return _promise.default.resolve();
|
|
223
190
|
}
|
|
224
|
-
|
|
225
191
|
if (!object.objectType) {
|
|
226
192
|
return _promise.default.resolve();
|
|
227
193
|
}
|
|
228
|
-
|
|
229
194
|
return _promise.default.all([ctx.transform("normalize".concat((0, _capitalize2.default)(object.objectType)), object), ctx.transform('normalizePropContent', object)]);
|
|
230
195
|
}
|
|
231
196
|
}, {
|
|
@@ -235,7 +200,6 @@ var _convoError = require("./convo-error");
|
|
|
235
200
|
if (!object) {
|
|
236
201
|
return _promise.default.resolve();
|
|
237
202
|
}
|
|
238
|
-
|
|
239
203
|
return ctx.transform('decryptThread', object).then(function () {
|
|
240
204
|
return ctx.transform('normalizeThread', object);
|
|
241
205
|
});
|
|
@@ -247,11 +211,10 @@ var _convoError = require("./convo-error");
|
|
|
247
211
|
if (!object.content) {
|
|
248
212
|
return _promise.default.resolve();
|
|
249
213
|
}
|
|
250
|
-
|
|
251
214
|
var _ctx$webex$config$con = ctx.webex.config.conversation,
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
215
|
+
inboundProcessFunc = _ctx$webex$config$con.inboundProcessFunc,
|
|
216
|
+
allowedInboundTags = _ctx$webex$config$con.allowedInboundTags,
|
|
217
|
+
allowedInboundStyles = _ctx$webex$config$con.allowedInboundStyles;
|
|
255
218
|
return (0, _helperHtml.filter)(inboundProcessFunc, allowedInboundTags || {}, allowedInboundStyles, object.content).then(function (c) {
|
|
256
219
|
object.content = c;
|
|
257
220
|
});
|
|
@@ -263,11 +226,10 @@ var _convoError = require("./convo-error");
|
|
|
263
226
|
if (!object.content) {
|
|
264
227
|
return _promise.default.resolve();
|
|
265
228
|
}
|
|
266
|
-
|
|
267
229
|
var _ctx$webex$config$con2 = ctx.webex.config.conversation,
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
230
|
+
outboundProcessFunc = _ctx$webex$config$con2.outboundProcessFunc,
|
|
231
|
+
allowedOutboundTags = _ctx$webex$config$con2.allowedOutboundTags,
|
|
232
|
+
allowedOutboundStyles = _ctx$webex$config$con2.allowedOutboundStyles;
|
|
271
233
|
return (0, _helperHtml.filterEscape)(outboundProcessFunc, allowedOutboundTags || {}, allowedOutboundStyles, object.content).then(function (c) {
|
|
272
234
|
object.content = c;
|
|
273
235
|
});
|
|
@@ -304,27 +266,22 @@ var _convoError = require("./convo-error");
|
|
|
304
266
|
fn: function fn(ctx, person) {
|
|
305
267
|
var email = person.entryEmail || person.emailAddress || person.id;
|
|
306
268
|
var id = person.entryUUID || person.id;
|
|
307
|
-
|
|
308
269
|
if (_common.patterns.email.test(email)) {
|
|
309
270
|
person.entryEmail = person.emailAddress = email.toLowerCase();
|
|
310
271
|
} else {
|
|
311
272
|
(0, _deleteProperty.default)(person, 'entryEmail');
|
|
312
273
|
(0, _deleteProperty.default)(person, 'emailAddress');
|
|
313
274
|
}
|
|
314
|
-
|
|
315
275
|
if (person.roomProperties) {
|
|
316
276
|
person.roomProperties.isModerator = Boolean(person.roomProperties.isModerator);
|
|
317
277
|
}
|
|
318
|
-
|
|
319
278
|
if (_common.patterns.uuid.test(id)) {
|
|
320
279
|
person.entryUUID = person.id = id.toLowerCase();
|
|
321
280
|
return _promise.default.resolve(person);
|
|
322
281
|
}
|
|
323
|
-
|
|
324
282
|
if (!email) {
|
|
325
283
|
return _promise.default.reject(new Error('cannot determine id without an `emailAddress` or `entryUUID` property'));
|
|
326
284
|
}
|
|
327
|
-
|
|
328
285
|
return ctx.webex.internal.user.asUUID(email).then(function (uuid) {
|
|
329
286
|
person.entryUUID = person.id = uuid;
|
|
330
287
|
return person;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["registerInternalPlugin","Conversation","payloadTransformer","predicates","name","test","ctx","optionsOrResponse","resolve","extract","body","direction","event","activity","response","multistatus","map","item","data","options","items","transforms","fn","array","all","transform","then","decrypt","object","objectType","content","webex","config","conversation","inboundProcessFunc","allowedInboundTags","allowedInboundStyles","htmlFilter","c","outboundProcessFunc","allowedOutboundTags","allowedOutboundStyles","htmlFilterEscape","activities","participants","actor","target","threadActivity","childActivities","person","email","entryEmail","emailAddress","id","entryUUID","patterns","toLowerCase","roomProperties","isModerator","Boolean","uuid","reject","Error","internal","user","asUUID","concat","decryptionTransforms","encryptionTransforms"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-user';\n\nimport {patterns} from '@webex/common';\nimport {filter as htmlFilter, filterEscape as htmlFilterEscape} from '@webex/helper-html';\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {capitalize, get, has} from 'lodash';\n\nimport Conversation from './conversation';\nimport config from './config';\nimport {transforms as encryptionTransforms} from './encryption-transforms';\nimport {transforms as decryptionTransforms} from './decryption-transforms';\n\nregisterInternalPlugin('conversation', Conversation, {\n payloadTransformer: {\n predicates: [\n {\n name: 'transformObject',\n test(ctx, optionsOrResponse) {\n return Promise.resolve(has(optionsOrResponse, 'body.objectType'));\n },\n extract(optionsOrResponse) {\n return Promise.resolve(optionsOrResponse.body);\n }\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n test(ctx, event) {\n return Promise.resolve(has(event, 'activity'));\n },\n extract(event) {\n return Promise.resolve(event.activity);\n }\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.multistatus'));\n },\n extract(response) {\n return Promise.resolve(response.body.multistatus.map((item) => item && item.data && item.data.activity));\n }\n },\n {\n name: 'normalizeConversationListAndBindDecrypters',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n }\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n }\n },\n {\n name: 'transformThreadArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].childType') || !has(options, 'body.items[0].actorId')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n }\n }\n ],\n transforms: [\n {\n name: 'normalizeConversationListAndBindDecrypters',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('normalizeObject', item)\n .then(() => {\n item.decrypt = function decrypt() {\n Reflect.deleteProperty(item, 'decrypt');\n\n return ctx.transform('decryptObject', item);\n };\n\n return item;\n })));\n }\n },\n {\n name: 'transformObjectArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformObject', item)));\n }\n },\n {\n name: 'transformThreadArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformThread', item)));\n }\n },\n {\n name: 'transformObject',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx.transform('normalizeObject', object)\n .then(() => ctx.transform('encryptObject', object))\n .then(() => ctx.transform('encryptKmsMessage', object));\n }\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx.transform('decryptObject', object)\n .then(() => ctx.transform('normalizeObject', object));\n }\n },\n {\n name: 'normalizeObject',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform(`normalize${capitalize(object.objectType)}`, object),\n ctx.transform('normalizePropContent', object)\n ]);\n }\n },\n {\n name: 'transformThread',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n return ctx.transform('decryptThread', object)\n .then(() => ctx.transform('normalizeThread', object));\n }\n },\n {\n name: 'normalizePropContent',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n const {\n inboundProcessFunc,\n allowedInboundTags,\n allowedInboundStyles\n } = ctx.webex.config.conversation;\n\n return htmlFilter(inboundProcessFunc, allowedInboundTags || {}, allowedInboundStyles, object.content)\n .then((c) => {\n object.content = c;\n });\n }\n },\n {\n name: 'normalizePropContent',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n\n const {\n outboundProcessFunc,\n allowedOutboundTags,\n allowedOutboundStyles\n } = ctx.webex.config.conversation;\n\n return htmlFilterEscape(outboundProcessFunc, allowedOutboundTags || {}, allowedOutboundStyles, object.content)\n .then((c) => {\n object.content = c;\n });\n }\n },\n {\n name: 'normalizeConversation',\n fn(ctx, conversation) {\n conversation.activities = conversation.activities || {};\n conversation.activities.items = conversation.activities.items || [];\n conversation.participants = conversation.participants || {};\n conversation.participants.items = conversation.participants.items || [];\n\n return Promise.all([\n Promise.all(conversation.activities.items.map((item) => ctx.transform('normalizeObject', item))),\n Promise.all(conversation.participants.items.map((item) => ctx.transform('normalizeObject', item)))\n ]);\n }\n },\n {\n name: 'normalizeActivity',\n fn(ctx, activity) {\n return Promise.all([\n ctx.transform('normalizeObject', activity.actor),\n ctx.transform('normalizeObject', activity.object),\n ctx.transform('normalizeObject', activity.target)\n ]);\n }\n },\n {\n name: 'normalizeThread',\n fn(ctx, threadActivity) {\n // childActivities are of type Activity\n return Promise.all(threadActivity.childActivities.map((item) => ctx.transform('normalizeObject', item)));\n }\n },\n {\n name: 'normalizePerson',\n // eslint-disable-next-line complexity\n fn(ctx, person) {\n const email = person.entryEmail || person.emailAddress || person.id;\n const id = person.entryUUID || person.id;\n\n if (patterns.email.test(email)) {\n person.entryEmail = person.emailAddress = email.toLowerCase();\n }\n else {\n Reflect.deleteProperty(person, 'entryEmail');\n Reflect.deleteProperty(person, 'emailAddress');\n }\n\n if (person.roomProperties) {\n person.roomProperties.isModerator = Boolean(person.roomProperties.isModerator);\n }\n\n if (patterns.uuid.test(id)) {\n person.entryUUID = person.id = id.toLowerCase();\n\n return Promise.resolve(person);\n }\n\n if (!email) {\n return Promise.reject(new Error('cannot determine id without an `emailAddress` or `entryUUID` property'));\n }\n\n return ctx.webex.internal.user.asUUID(email)\n .then((uuid) => {\n person.entryUUID = person.id = uuid;\n\n return person;\n });\n }\n }\n ]\n .concat(decryptionTransforms)\n .concat(encryptionTransforms)\n },\n config\n});\n\nexport {default} from './conversation';\nexport {default as ShareActivity} from './share-activity';\nexport {ConversationError, InvalidUserCreation} from './convo-error';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["registerInternalPlugin","Conversation","payloadTransformer","predicates","name","test","ctx","optionsOrResponse","resolve","extract","body","direction","event","activity","response","multistatus","map","item","data","options","items","transforms","fn","array","all","transform","then","decrypt","object","objectType","content","webex","config","conversation","inboundProcessFunc","allowedInboundTags","allowedInboundStyles","htmlFilter","c","outboundProcessFunc","allowedOutboundTags","allowedOutboundStyles","htmlFilterEscape","activities","participants","actor","target","threadActivity","childActivities","person","email","entryEmail","emailAddress","id","entryUUID","patterns","toLowerCase","roomProperties","isModerator","Boolean","uuid","reject","Error","internal","user","asUUID","concat","decryptionTransforms","encryptionTransforms"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-user';\n\nimport {patterns} from '@webex/common';\nimport {filter as htmlFilter, filterEscape as htmlFilterEscape} from '@webex/helper-html';\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {capitalize, get, has} from 'lodash';\n\nimport Conversation from './conversation';\nimport config from './config';\nimport {transforms as encryptionTransforms} from './encryption-transforms';\nimport {transforms as decryptionTransforms} from './decryption-transforms';\n\nregisterInternalPlugin('conversation', Conversation, {\n payloadTransformer: {\n predicates: [\n {\n name: 'transformObject',\n test(ctx, optionsOrResponse) {\n return Promise.resolve(has(optionsOrResponse, 'body.objectType'));\n },\n extract(optionsOrResponse) {\n return Promise.resolve(optionsOrResponse.body);\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n test(ctx, event) {\n return Promise.resolve(has(event, 'activity'));\n },\n extract(event) {\n return Promise.resolve(event.activity);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.multistatus'));\n },\n extract(response) {\n return Promise.resolve(\n response.body.multistatus.map((item) => item && item.data && item.data.activity)\n );\n },\n },\n {\n name: 'normalizeConversationListAndBindDecrypters',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformThreadArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].childType') || !has(options, 'body.items[0].actorId')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n ],\n transforms: [\n {\n name: 'normalizeConversationListAndBindDecrypters',\n fn(ctx, array) {\n return Promise.all(\n array.map((item) =>\n ctx.transform('normalizeObject', item).then(() => {\n item.decrypt = function decrypt() {\n Reflect.deleteProperty(item, 'decrypt');\n\n return ctx.transform('decryptObject', item);\n };\n\n return item;\n })\n )\n );\n },\n },\n {\n name: 'transformObjectArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformObject', item)));\n },\n },\n {\n name: 'transformThreadArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformThread', item)));\n },\n },\n {\n name: 'transformObject',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('normalizeObject', object)\n .then(() => ctx.transform('encryptObject', object))\n .then(() => ctx.transform('encryptKmsMessage', object));\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptObject', object)\n .then(() => ctx.transform('normalizeObject', object));\n },\n },\n {\n name: 'normalizeObject',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform(`normalize${capitalize(object.objectType)}`, object),\n ctx.transform('normalizePropContent', object),\n ]);\n },\n },\n {\n name: 'transformThread',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptThread', object)\n .then(() => ctx.transform('normalizeThread', object));\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n const {inboundProcessFunc, allowedInboundTags, allowedInboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilter(\n inboundProcessFunc,\n allowedInboundTags || {},\n allowedInboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n\n const {outboundProcessFunc, allowedOutboundTags, allowedOutboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilterEscape(\n outboundProcessFunc,\n allowedOutboundTags || {},\n allowedOutboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizeConversation',\n fn(ctx, conversation) {\n conversation.activities = conversation.activities || {};\n conversation.activities.items = conversation.activities.items || [];\n conversation.participants = conversation.participants || {};\n conversation.participants.items = conversation.participants.items || [];\n\n return Promise.all([\n Promise.all(\n conversation.activities.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n Promise.all(\n conversation.participants.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n ]);\n },\n },\n {\n name: 'normalizeActivity',\n fn(ctx, activity) {\n return Promise.all([\n ctx.transform('normalizeObject', activity.actor),\n ctx.transform('normalizeObject', activity.object),\n ctx.transform('normalizeObject', activity.target),\n ]);\n },\n },\n {\n name: 'normalizeThread',\n fn(ctx, threadActivity) {\n // childActivities are of type Activity\n return Promise.all(\n threadActivity.childActivities.map((item) => ctx.transform('normalizeObject', item))\n );\n },\n },\n {\n name: 'normalizePerson',\n // eslint-disable-next-line complexity\n fn(ctx, person) {\n const email = person.entryEmail || person.emailAddress || person.id;\n const id = person.entryUUID || person.id;\n\n if (patterns.email.test(email)) {\n person.entryEmail = person.emailAddress = email.toLowerCase();\n } else {\n Reflect.deleteProperty(person, 'entryEmail');\n Reflect.deleteProperty(person, 'emailAddress');\n }\n\n if (person.roomProperties) {\n person.roomProperties.isModerator = Boolean(person.roomProperties.isModerator);\n }\n\n if (patterns.uuid.test(id)) {\n person.entryUUID = person.id = id.toLowerCase();\n\n return Promise.resolve(person);\n }\n\n if (!email) {\n return Promise.reject(\n new Error('cannot determine id without an `emailAddress` or `entryUUID` property')\n );\n }\n\n return ctx.webex.internal.user.asUUID(email).then((uuid) => {\n person.entryUUID = person.id = uuid;\n\n return person;\n });\n },\n },\n ]\n .concat(decryptionTransforms)\n .concat(encryptionTransforms),\n },\n config,\n});\n\nexport {default} from './conversation';\nexport {default as ShareActivity} from './share-activity';\nexport {ConversationError, InvalidUserCreation} from './convo-error';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA;AAEA;AACA;AACA;AAGA;AACA;AACA;AACA;AAsTA;AACA;AAtUA;AACA;AACA;;AAeA,IAAAA,iCAAsB,EAAC,cAAc,EAAEC,qBAAY,EAAE;EACnDC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,CACV;MACEC,IAAI,EAAE,iBAAiB;MACvBC,IAAI,gBAACC,GAAG,EAAEC,iBAAiB,EAAE;QAC3B,OAAO,iBAAQC,OAAO,CAAC,mBAAID,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;MACnE,CAAC;MACDE,OAAO,mBAACF,iBAAiB,EAAE;QACzB,OAAO,iBAAQC,OAAO,CAACD,iBAAiB,CAACG,IAAI,CAAC;MAChD;IACF,CAAC,EACD;MACEN,IAAI,EAAE,iBAAiB;MACvBO,SAAS,EAAE,SAAS;MACpBN,IAAI,gBAACC,GAAG,EAAEM,KAAK,EAAE;QACf,OAAO,iBAAQJ,OAAO,CAAC,mBAAII,KAAK,EAAE,UAAU,CAAC,CAAC;MAChD,CAAC;MACDH,OAAO,mBAACG,KAAK,EAAE;QACb,OAAO,iBAAQJ,OAAO,CAACI,KAAK,CAACC,QAAQ,CAAC;MACxC;IACF,CAAC,EACD;MACET,IAAI,EAAE,sBAAsB;MAC5BO,SAAS,EAAE,SAAS;MACpBN,IAAI,gBAACC,GAAG,EAAEQ,QAAQ,EAAE;QAClB,OAAO,iBAAQN,OAAO,CAAC,mBAAIM,QAAQ,EAAE,kBAAkB,CAAC,CAAC;MAC3D,CAAC;MACDL,OAAO,mBAACK,QAAQ,EAAE;QAChB,OAAO,iBAAQN,OAAO,CACpBM,QAAQ,CAACJ,IAAI,CAACK,WAAW,CAACC,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKA,IAAI,IAAIA,IAAI,CAACC,IAAI,IAAID,IAAI,CAACC,IAAI,CAACL,QAAQ;QAAA,EAAC,CACjF;MACH;IACF,CAAC,EACD;MACET,IAAI,EAAE,4CAA4C;MAClDO,SAAS,EAAE,SAAS;MACpBN,IAAI,gBAACC,GAAG,EAAEa,OAAO,EAAE;QACjB,IAAI,CAAC,mBAAIA,OAAO,EAAE,0BAA0B,CAAC,EAAE;UAC7C,OAAO,iBAAQX,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,mBAAIW,OAAO,EAAE,sBAAsB,CAAC,EAAE;UACxC,OAAO,iBAAQX,OAAO,CAAC,IAAI,CAAC;QAC9B;QAEA,OAAO,iBAAQA,OAAO,CAAC,KAAK,CAAC;MAC/B,CAAC;MACDC,OAAO,mBAACU,OAAO,EAAE;QACf,OAAO,iBAAQX,OAAO,CAACW,OAAO,CAACT,IAAI,CAACU,KAAK,CAAC;MAC5C;IACF,CAAC,EACD;MACEhB,IAAI,EAAE,sBAAsB;MAC5BO,SAAS,EAAE,SAAS;MACpBN,IAAI,gBAACC,GAAG,EAAEa,OAAO,EAAE;QACjB,IAAI,CAAC,mBAAIA,OAAO,EAAE,0BAA0B,CAAC,EAAE;UAC7C,OAAO,iBAAQX,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,mBAAIW,OAAO,EAAE,sBAAsB,CAAC,EAAE;UACxC,OAAO,iBAAQX,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,OAAO,iBAAQA,OAAO,CAAC,IAAI,CAAC;MAC9B,CAAC;MACDC,OAAO,mBAACU,OAAO,EAAE;QACf,OAAO,iBAAQX,OAAO,CAACW,OAAO,CAACT,IAAI,CAACU,KAAK,CAAC;MAC5C;IACF,CAAC,EACD;MACEhB,IAAI,EAAE,sBAAsB;MAC5BO,SAAS,EAAE,SAAS;MACpBN,IAAI,gBAACC,GAAG,EAAEa,OAAO,EAAE;QACjB,IAAI,CAAC,mBAAIA,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC,mBAAIA,OAAO,EAAE,uBAAuB,CAAC,EAAE;UACtF,OAAO,iBAAQX,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,mBAAIW,OAAO,EAAE,sBAAsB,CAAC,EAAE;UACxC,OAAO,iBAAQX,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,OAAO,iBAAQA,OAAO,CAAC,IAAI,CAAC;MAC9B,CAAC;MACDC,OAAO,mBAACU,OAAO,EAAE;QACf,OAAO,iBAAQX,OAAO,CAACW,OAAO,CAACT,IAAI,CAACU,KAAK,CAAC;MAC5C;IACF,CAAC,CACF;IACDC,UAAU,EAAE,CACV;MACEjB,IAAI,EAAE,4CAA4C;MAClDkB,EAAE,cAAChB,GAAG,EAAEiB,KAAK,EAAE;QACb,OAAO,iBAAQC,GAAG,CAChBD,KAAK,CAACP,GAAG,CAAC,UAACC,IAAI;UAAA,OACbX,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAER,IAAI,CAAC,CAACS,IAAI,CAAC,YAAM;YAChDT,IAAI,CAACU,OAAO,GAAG,SAASA,OAAO,GAAG;cAChC,6BAAuBV,IAAI,EAAE,SAAS,CAAC;cAEvC,OAAOX,GAAG,CAACmB,SAAS,CAAC,eAAe,EAAER,IAAI,CAAC;YAC7C,CAAC;YAED,OAAOA,IAAI;UACb,CAAC,CAAC;QAAA,EACH,CACF;MACH;IACF,CAAC,EACD;MACEb,IAAI,EAAE,sBAAsB;MAC5BkB,EAAE,cAAChB,GAAG,EAAEiB,KAAK,EAAE;QACb,OAAO,iBAAQC,GAAG,CAACD,KAAK,CAACP,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKX,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAER,IAAI,CAAC;QAAA,EAAC,CAAC;MACjF;IACF,CAAC,EACD;MACEb,IAAI,EAAE,sBAAsB;MAC5BkB,EAAE,cAAChB,GAAG,EAAEiB,KAAK,EAAE;QACb,OAAO,iBAAQC,GAAG,CAACD,KAAK,CAACP,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKX,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAER,IAAI,CAAC;QAAA,EAAC,CAAC;MACjF;IACF,CAAC,EACD;MACEb,IAAI,EAAE,iBAAiB;MACvBO,SAAS,EAAE,UAAU;MACrBW,EAAE,cAAChB,GAAG,EAAEsB,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAO,iBAAQpB,OAAO,EAAE;QAC1B;QAEA,IAAI,CAACoB,MAAM,CAACC,UAAU,EAAE;UACtB,OAAO,iBAAQrB,OAAO,EAAE;QAC1B;QAEA,OAAOF,GAAG,CACPmB,SAAS,CAAC,iBAAiB,EAAEG,MAAM,CAAC,CACpCF,IAAI,CAAC;UAAA,OAAMpB,GAAG,CAACmB,SAAS,CAAC,eAAe,EAAEG,MAAM,CAAC;QAAA,EAAC,CAClDF,IAAI,CAAC;UAAA,OAAMpB,GAAG,CAACmB,SAAS,CAAC,mBAAmB,EAAEG,MAAM,CAAC;QAAA,EAAC;MAC3D;IACF,CAAC,EACD;MACExB,IAAI,EAAE,iBAAiB;MACvBO,SAAS,EAAE,SAAS;MACpBW,EAAE,cAAChB,GAAG,EAAEsB,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAO,iBAAQpB,OAAO,EAAE;QAC1B;QAEA,IAAI,CAACoB,MAAM,CAACC,UAAU,EAAE;UACtB,OAAO,iBAAQrB,OAAO,EAAE;QAC1B;QAEA,OAAOF,GAAG,CACPmB,SAAS,CAAC,eAAe,EAAEG,MAAM,CAAC,CAClCF,IAAI,CAAC;UAAA,OAAMpB,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAEG,MAAM,CAAC;QAAA,EAAC;MACzD;IACF,CAAC,EACD;MACExB,IAAI,EAAE,iBAAiB;MACvBkB,EAAE,cAAChB,GAAG,EAAEsB,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAO,iBAAQpB,OAAO,EAAE;QAC1B;QAEA,IAAI,CAACoB,MAAM,CAACC,UAAU,EAAE;UACtB,OAAO,iBAAQrB,OAAO,EAAE;QAC1B;QAEA,OAAO,iBAAQgB,GAAG,CAAC,CACjBlB,GAAG,CAACmB,SAAS,oBAAa,0BAAWG,MAAM,CAACC,UAAU,CAAC,GAAID,MAAM,CAAC,EAClEtB,GAAG,CAACmB,SAAS,CAAC,sBAAsB,EAAEG,MAAM,CAAC,CAC9C,CAAC;MACJ;IACF,CAAC,EACD;MACExB,IAAI,EAAE,iBAAiB;MACvBO,SAAS,EAAE,SAAS;MACpBW,EAAE,cAAChB,GAAG,EAAEsB,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAO,iBAAQpB,OAAO,EAAE;QAC1B;QAEA,OAAOF,GAAG,CACPmB,SAAS,CAAC,eAAe,EAAEG,MAAM,CAAC,CAClCF,IAAI,CAAC;UAAA,OAAMpB,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAEG,MAAM,CAAC;QAAA,EAAC;MACzD;IACF,CAAC,EACD;MACExB,IAAI,EAAE,sBAAsB;MAC5BO,SAAS,EAAE,SAAS;MACpBW,EAAE,cAAChB,GAAG,EAAEsB,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,CAACE,OAAO,EAAE;UACnB,OAAO,iBAAQtB,OAAO,EAAE;QAC1B;QACA,4BACEF,GAAG,CAACyB,KAAK,CAACC,MAAM,CAACC,YAAY;UADxBC,kBAAkB,yBAAlBA,kBAAkB;UAAEC,kBAAkB,yBAAlBA,kBAAkB;UAAEC,oBAAoB,yBAApBA,oBAAoB;QAGnE,OAAO,IAAAC,kBAAU,EACfH,kBAAkB,EAClBC,kBAAkB,IAAI,CAAC,CAAC,EACxBC,oBAAoB,EACpBR,MAAM,CAACE,OAAO,CACf,CAACJ,IAAI,CAAC,UAACY,CAAC,EAAK;UACZV,MAAM,CAACE,OAAO,GAAGQ,CAAC;QACpB,CAAC,CAAC;MACJ;IACF,CAAC,EACD;MACElC,IAAI,EAAE,sBAAsB;MAC5BO,SAAS,EAAE,UAAU;MACrBW,EAAE,cAAChB,GAAG,EAAEsB,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,CAACE,OAAO,EAAE;UACnB,OAAO,iBAAQtB,OAAO,EAAE;QAC1B;QAEA,6BACEF,GAAG,CAACyB,KAAK,CAACC,MAAM,CAACC,YAAY;UADxBM,mBAAmB,0BAAnBA,mBAAmB;UAAEC,mBAAmB,0BAAnBA,mBAAmB;UAAEC,qBAAqB,0BAArBA,qBAAqB;QAGtE,OAAO,IAAAC,wBAAgB,EACrBH,mBAAmB,EACnBC,mBAAmB,IAAI,CAAC,CAAC,EACzBC,qBAAqB,EACrBb,MAAM,CAACE,OAAO,CACf,CAACJ,IAAI,CAAC,UAACY,CAAC,EAAK;UACZV,MAAM,CAACE,OAAO,GAAGQ,CAAC;QACpB,CAAC,CAAC;MACJ;IACF,CAAC,EACD;MACElC,IAAI,EAAE,uBAAuB;MAC7BkB,EAAE,cAAChB,GAAG,EAAE2B,YAAY,EAAE;QACpBA,YAAY,CAACU,UAAU,GAAGV,YAAY,CAACU,UAAU,IAAI,CAAC,CAAC;QACvDV,YAAY,CAACU,UAAU,CAACvB,KAAK,GAAGa,YAAY,CAACU,UAAU,CAACvB,KAAK,IAAI,EAAE;QACnEa,YAAY,CAACW,YAAY,GAAGX,YAAY,CAACW,YAAY,IAAI,CAAC,CAAC;QAC3DX,YAAY,CAACW,YAAY,CAACxB,KAAK,GAAGa,YAAY,CAACW,YAAY,CAACxB,KAAK,IAAI,EAAE;QAEvE,OAAO,iBAAQI,GAAG,CAAC,CACjB,iBAAQA,GAAG,CACTS,YAAY,CAACU,UAAU,CAACvB,KAAK,CAACJ,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKX,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAER,IAAI,CAAC;QAAA,EAAC,CACpF,EACD,iBAAQO,GAAG,CACTS,YAAY,CAACW,YAAY,CAACxB,KAAK,CAACJ,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKX,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAER,IAAI,CAAC;QAAA,EAAC,CACtF,CACF,CAAC;MACJ;IACF,CAAC,EACD;MACEb,IAAI,EAAE,mBAAmB;MACzBkB,EAAE,cAAChB,GAAG,EAAEO,QAAQ,EAAE;QAChB,OAAO,iBAAQW,GAAG,CAAC,CACjBlB,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAEZ,QAAQ,CAACgC,KAAK,CAAC,EAChDvC,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAEZ,QAAQ,CAACe,MAAM,CAAC,EACjDtB,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAEZ,QAAQ,CAACiC,MAAM,CAAC,CAClD,CAAC;MACJ;IACF,CAAC,EACD;MACE1C,IAAI,EAAE,iBAAiB;MACvBkB,EAAE,cAAChB,GAAG,EAAEyC,cAAc,EAAE;QACtB;QACA,OAAO,iBAAQvB,GAAG,CAChBuB,cAAc,CAACC,eAAe,CAAChC,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKX,GAAG,CAACmB,SAAS,CAAC,iBAAiB,EAAER,IAAI,CAAC;QAAA,EAAC,CACrF;MACH;IACF,CAAC,EACD;MACEb,IAAI,EAAE,iBAAiB;MACvB;MACAkB,EAAE,cAAChB,GAAG,EAAE2C,MAAM,EAAE;QACd,IAAMC,KAAK,GAAGD,MAAM,CAACE,UAAU,IAAIF,MAAM,CAACG,YAAY,IAAIH,MAAM,CAACI,EAAE;QACnE,IAAMA,EAAE,GAAGJ,MAAM,CAACK,SAAS,IAAIL,MAAM,CAACI,EAAE;QAExC,IAAIE,gBAAQ,CAACL,KAAK,CAAC7C,IAAI,CAAC6C,KAAK,CAAC,EAAE;UAC9BD,MAAM,CAACE,UAAU,GAAGF,MAAM,CAACG,YAAY,GAAGF,KAAK,CAACM,WAAW,EAAE;QAC/D,CAAC,MAAM;UACL,6BAAuBP,MAAM,EAAE,YAAY,CAAC;UAC5C,6BAAuBA,MAAM,EAAE,cAAc,CAAC;QAChD;QAEA,IAAIA,MAAM,CAACQ,cAAc,EAAE;UACzBR,MAAM,CAACQ,cAAc,CAACC,WAAW,GAAGC,OAAO,CAACV,MAAM,CAACQ,cAAc,CAACC,WAAW,CAAC;QAChF;QAEA,IAAIH,gBAAQ,CAACK,IAAI,CAACvD,IAAI,CAACgD,EAAE,CAAC,EAAE;UAC1BJ,MAAM,CAACK,SAAS,GAAGL,MAAM,CAACI,EAAE,GAAGA,EAAE,CAACG,WAAW,EAAE;UAE/C,OAAO,iBAAQhD,OAAO,CAACyC,MAAM,CAAC;QAChC;QAEA,IAAI,CAACC,KAAK,EAAE;UACV,OAAO,iBAAQW,MAAM,CACnB,IAAIC,KAAK,CAAC,uEAAuE,CAAC,CACnF;QACH;QAEA,OAAOxD,GAAG,CAACyB,KAAK,CAACgC,QAAQ,CAACC,IAAI,CAACC,MAAM,CAACf,KAAK,CAAC,CAACxB,IAAI,CAAC,UAACkC,IAAI,EAAK;UAC1DX,MAAM,CAACK,SAAS,GAAGL,MAAM,CAACI,EAAE,GAAGO,IAAI;UAEnC,OAAOX,MAAM;QACf,CAAC,CAAC;MACJ;IACF,CAAC,CACF,CACEiB,MAAM,CAACC,gCAAoB,CAAC,CAC5BD,MAAM,CAACE,gCAAoB;EAChC,CAAC;EACDpC,MAAM,EAANA;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare const Conversation: any;
|
|
2
|
+
export default Conversation;
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* General conversation error
|
|
6
|
+
*/
|
|
7
|
+
export declare class ConversationError {
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* InvalidUserCreation thrown when failed to create conversation with invalid user
|
|
12
|
+
*/
|
|
13
|
+
export declare class InvalidUserCreation extends ConversationError {
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @class
|
|
18
|
+
*/
|
|
19
|
+
export declare const ShareActivity: any;
|
|
20
|
+
|
|
21
|
+
export { }
|