@webex/internal-plugin-conversation 2.60.0 → 2.60.1-next.2
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/activities.js +26 -48
- package/dist/activities.js.map +1 -1
- package/dist/activity-thread-ordering.js +19 -34
- package/dist/activity-thread-ordering.js.map +1 -1
- package/dist/config.js +1 -2
- package/dist/config.js.map +1 -1
- package/dist/constants.js +3 -6
- package/dist/constants.js.map +1 -1
- package/dist/conversation.js +87 -80
- package/dist/conversation.js.map +1 -1
- package/dist/convo-error.js +5 -5
- package/dist/convo-error.js.map +1 -1
- package/dist/decryption-transforms.js +9 -8
- package/dist/decryption-transforms.js.map +1 -1
- package/dist/encryption-transforms.js +27 -23
- package/dist/encryption-transforms.js.map +1 -1
- package/dist/index.js +11 -13
- package/dist/index.js.map +1 -1
- package/dist/share-activity.js +20 -25
- package/dist/share-activity.js.map +1 -1
- package/dist/to-array.js +7 -5
- package/dist/to-array.js.map +1 -1
- package/package.json +22 -21
- package/src/conversation.js +19 -6
- package/src/encryption-transforms.js +8 -0
- package/test/integration/spec/create.js +2 -3
- package/test/integration/spec/encryption.js +0 -1
- package/test/integration/spec/get.js +4 -2
- package/test/unit/spec/conversation.js +82 -0
- package/test/unit/spec/encryption-transforms.js +23 -0
package/dist/conversation.js
CHANGED
|
@@ -16,35 +16,23 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
16
16
|
});
|
|
17
17
|
exports.default = void 0;
|
|
18
18
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
19
|
-
var
|
|
19
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
20
20
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
21
21
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
22
22
|
var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
|
|
23
23
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
24
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
25
24
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
|
|
26
25
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
27
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
28
27
|
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/awaitAsyncGenerator"));
|
|
29
28
|
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapAsyncGenerator"));
|
|
30
|
-
var _uniq2 = _interopRequireDefault(require("lodash/uniq"));
|
|
31
|
-
var _pick2 = _interopRequireDefault(require("lodash/pick"));
|
|
32
|
-
var _omit2 = _interopRequireDefault(require("lodash/omit"));
|
|
33
|
-
var _merge2 = _interopRequireDefault(require("lodash/merge"));
|
|
34
|
-
var _map3 = _interopRequireDefault(require("lodash/map"));
|
|
35
|
-
var _last2 = _interopRequireDefault(require("lodash/last"));
|
|
36
|
-
var _isString2 = _interopRequireDefault(require("lodash/isString"));
|
|
37
|
-
var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
|
|
38
|
-
var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
|
|
39
|
-
var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
|
|
40
|
-
var _cloneDeepWith2 = _interopRequireDefault(require("lodash/cloneDeepWith"));
|
|
41
|
-
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
42
29
|
var _querystring = _interopRequireDefault(require("querystring"));
|
|
43
30
|
var _events = require("events");
|
|
44
31
|
var _hmacSha = _interopRequireDefault(require("crypto-js/hmac-sha256"));
|
|
45
32
|
var _encHex = _interopRequireDefault(require("crypto-js/enc-hex"));
|
|
46
33
|
var _common = require("@webex/common");
|
|
47
34
|
var _webexCore = require("@webex/webex-core");
|
|
35
|
+
var _lodash = require("lodash");
|
|
48
36
|
var _helperImage = require("@webex/helper-image");
|
|
49
37
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
50
38
|
var _convoError = require("./convo-error");
|
|
@@ -55,9 +43,11 @@ var _constants = require("./constants");
|
|
|
55
43
|
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; } } }; }
|
|
56
44
|
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); }
|
|
57
45
|
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; }
|
|
58
|
-
function ownKeys(
|
|
59
|
-
function _objectSpread(
|
|
60
|
-
|
|
46
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
47
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /*!
|
|
48
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
49
|
+
*/
|
|
50
|
+
var idToUrl = new _map.default();
|
|
61
51
|
var getConvoLimit = function getConvoLimit() {
|
|
62
52
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
63
53
|
var limit;
|
|
@@ -99,7 +89,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
99
89
|
var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
|
|
100
90
|
url: url
|
|
101
91
|
});
|
|
102
|
-
if (!(0,
|
|
92
|
+
if (!(0, _lodash.isObject)(object)) {
|
|
103
93
|
return _promise.default.reject(new Error('`object` must be an object'));
|
|
104
94
|
}
|
|
105
95
|
return this.prepare(activity, {
|
|
@@ -185,7 +175,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
185
175
|
});
|
|
186
176
|
})).then(function (participants) {
|
|
187
177
|
participants.unshift(_this4.webex.internal.device.userId);
|
|
188
|
-
participants = (0,
|
|
178
|
+
participants = (0, _lodash.uniq)(participants);
|
|
189
179
|
var validParticipants = participants.filter(function (participant) {
|
|
190
180
|
return participant;
|
|
191
181
|
});
|
|
@@ -268,12 +258,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
268
258
|
var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
|
|
269
259
|
url: url
|
|
270
260
|
});
|
|
271
|
-
if (!(0,
|
|
261
|
+
if (!(0, _lodash.isObject)(reactionPayload)) {
|
|
272
262
|
return _promise.default.reject(new Error('`object` must be an object'));
|
|
273
263
|
}
|
|
274
264
|
return this.prepare(reactionPayload, {
|
|
275
265
|
target: this.prepareConversation(convoWithUrl),
|
|
276
|
-
object: (0,
|
|
266
|
+
object: (0, _lodash.pick)(reactionPayload, 'id', 'url', 'objectType')
|
|
277
267
|
}).then(function (act) {
|
|
278
268
|
return _this5.submit(act);
|
|
279
269
|
});
|
|
@@ -281,10 +271,11 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
281
271
|
/**
|
|
282
272
|
* delete a reaction
|
|
283
273
|
* @param {Object} conversation
|
|
284
|
-
* @param {Object} reactionId
|
|
274
|
+
* @param {Object} reactionId,
|
|
275
|
+
* @param {String} recipientId,
|
|
285
276
|
* @returns {Promise<Activity>}
|
|
286
277
|
*/
|
|
287
|
-
deleteReaction: function deleteReaction(conversation, reactionId) {
|
|
278
|
+
deleteReaction: function deleteReaction(conversation, reactionId, recipientId) {
|
|
288
279
|
var deleteReactionPayload = {
|
|
289
280
|
actor: {
|
|
290
281
|
objectType: 'person',
|
|
@@ -301,6 +292,16 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
301
292
|
},
|
|
302
293
|
verb: 'delete'
|
|
303
294
|
};
|
|
295
|
+
|
|
296
|
+
// Is not required for the request to be accepted, but follows specification.
|
|
297
|
+
if (recipientId) {
|
|
298
|
+
deleteReactionPayload.recipients = {
|
|
299
|
+
items: [{
|
|
300
|
+
id: recipientId,
|
|
301
|
+
objectType: 'person'
|
|
302
|
+
}]
|
|
303
|
+
};
|
|
304
|
+
}
|
|
304
305
|
return this.sendReaction(conversation, deleteReactionPayload);
|
|
305
306
|
},
|
|
306
307
|
/**
|
|
@@ -308,9 +309,10 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
308
309
|
* @param {Object} conversation
|
|
309
310
|
* @param {Object} displayName must be 'celebrate', 'heart', 'thumbsup', 'smiley', 'haha', 'confused', 'sad'
|
|
310
311
|
* @param {Object} activity activity object from convo we are reacting to
|
|
312
|
+
* @param {String} recipientId,
|
|
311
313
|
* @returns {Promise<Activity>}
|
|
312
314
|
*/
|
|
313
|
-
addReaction: function addReaction(conversation, displayName, activity) {
|
|
315
|
+
addReaction: function addReaction(conversation, displayName, activity, recipientId) {
|
|
314
316
|
var _this6 = this;
|
|
315
317
|
return this.createReactionHmac(displayName, activity).then(function (hmac) {
|
|
316
318
|
var addReactionPayload = {
|
|
@@ -334,6 +336,14 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
334
336
|
hmac: hmac
|
|
335
337
|
}
|
|
336
338
|
};
|
|
339
|
+
if (recipientId) {
|
|
340
|
+
addReactionPayload.recipients = {
|
|
341
|
+
items: [{
|
|
342
|
+
id: recipientId,
|
|
343
|
+
objectType: 'person'
|
|
344
|
+
}]
|
|
345
|
+
};
|
|
346
|
+
}
|
|
337
347
|
return _this6.sendReaction(conversation, addReactionPayload);
|
|
338
348
|
});
|
|
339
349
|
},
|
|
@@ -350,13 +360,13 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
350
360
|
var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
|
|
351
361
|
url: url
|
|
352
362
|
});
|
|
353
|
-
if (!(0,
|
|
363
|
+
if (!(0, _lodash.isObject)(object)) {
|
|
354
364
|
return _promise.default.reject(new Error('`object` must be an object'));
|
|
355
365
|
}
|
|
356
366
|
var request = {
|
|
357
367
|
verb: 'delete',
|
|
358
368
|
target: this.prepareConversation(convoWithUrl),
|
|
359
|
-
object: (0,
|
|
369
|
+
object: (0, _lodash.pick)(object, 'id', 'url', 'objectType')
|
|
360
370
|
};
|
|
361
371
|
|
|
362
372
|
// Deleting meeting container requires KMS message
|
|
@@ -391,9 +401,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
391
401
|
var shunt = new _events.EventEmitter();
|
|
392
402
|
var promise;
|
|
393
403
|
if (isEncrypted) {
|
|
394
|
-
promise = this.webex.internal.encryption.download(item.scr, item.options);
|
|
395
|
-
} else if (item.scr && item.scr.loc) {
|
|
396
|
-
promise = this._downloadUnencryptedFile(item.scr.loc, options);
|
|
404
|
+
promise = this.webex.internal.encryption.download(item.url, item.scr, item.options);
|
|
397
405
|
} else {
|
|
398
406
|
promise = this._downloadUnencryptedFile(item.url, options);
|
|
399
407
|
}
|
|
@@ -456,7 +464,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
456
464
|
if (!actor) {
|
|
457
465
|
actor = this.webex.internal.device.userId;
|
|
458
466
|
}
|
|
459
|
-
if ((0,
|
|
467
|
+
if ((0, _lodash.isString)(actor)) {
|
|
460
468
|
activity.actor = {
|
|
461
469
|
objectType: 'person',
|
|
462
470
|
id: actor
|
|
@@ -551,7 +559,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
551
559
|
activitiesLimit: 0,
|
|
552
560
|
includeConvWithDeletedUserUUID: false,
|
|
553
561
|
includeParticipants: false
|
|
554
|
-
}, (0,
|
|
562
|
+
}, (0, _lodash.omit)(options, 'id', 'user', 'url')),
|
|
555
563
|
disableTransform: options.disableTransform
|
|
556
564
|
};
|
|
557
565
|
|
|
@@ -639,7 +647,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
639
647
|
return this._list({
|
|
640
648
|
service: 'conversation',
|
|
641
649
|
resource: options.summary ? 'conversationsSummary' : 'conversations',
|
|
642
|
-
qs: (0,
|
|
650
|
+
qs: (0, _lodash.omit)(options, ['deferDecrypt', 'summary']),
|
|
643
651
|
deferDecrypt: options.deferDecrypt,
|
|
644
652
|
limit: getConvoLimit(options)
|
|
645
653
|
}).then(function (results) {
|
|
@@ -704,7 +712,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
704
712
|
activitiesLimit: 0,
|
|
705
713
|
participantsLimit: 0,
|
|
706
714
|
paginate: true
|
|
707
|
-
}, (0,
|
|
715
|
+
}, (0, _lodash.omit)(options, ['deferDecrypt', 'url']));
|
|
708
716
|
reqOptions = {
|
|
709
717
|
qs: queryOptions,
|
|
710
718
|
deferDecrypt: options.deferDecrypt,
|
|
@@ -862,7 +870,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
862
870
|
break;
|
|
863
871
|
case 16:
|
|
864
872
|
// reverse list if needed (see _list for precedent)
|
|
865
|
-
if (items.length && (0,
|
|
873
|
+
if (items.length && (0, _lodash.last)(items).published < items[0].published) {
|
|
866
874
|
items.reverse();
|
|
867
875
|
}
|
|
868
876
|
return _context3.abrupt("return", items);
|
|
@@ -950,7 +958,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
950
958
|
return this._list({
|
|
951
959
|
service: 'conversation',
|
|
952
960
|
resource: 'mentions',
|
|
953
|
-
qs: (0,
|
|
961
|
+
qs: (0, _lodash.omit)(options, 'mentions')
|
|
954
962
|
});
|
|
955
963
|
},
|
|
956
964
|
/**
|
|
@@ -1028,7 +1036,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1028
1036
|
var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
|
|
1029
1037
|
url: this.getConvoUrl(conversation)
|
|
1030
1038
|
});
|
|
1031
|
-
if ((0,
|
|
1039
|
+
if ((0, _lodash.isString)(message)) {
|
|
1032
1040
|
message = {
|
|
1033
1041
|
displayName: message
|
|
1034
1042
|
};
|
|
@@ -1044,7 +1052,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1044
1052
|
});
|
|
1045
1053
|
},
|
|
1046
1054
|
prepareConversation: function prepareConversation(conversation) {
|
|
1047
|
-
return (0,
|
|
1055
|
+
return (0, _lodash.defaults)((0, _lodash.pick)(conversation, 'id', 'url', 'objectType', 'defaultActivityEncryptionKeyUrl', 'kmsResourceObjectUrl'), {
|
|
1048
1056
|
objectType: 'conversation'
|
|
1049
1057
|
});
|
|
1050
1058
|
},
|
|
@@ -1053,7 +1061,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1053
1061
|
params = params || {};
|
|
1054
1062
|
activity = activity || {};
|
|
1055
1063
|
return _promise.default.resolve(activity.prepare ? activity.prepare(params) : activity).then(function (act) {
|
|
1056
|
-
(0,
|
|
1064
|
+
(0, _lodash.defaults)(act, {
|
|
1057
1065
|
verb: params.verb,
|
|
1058
1066
|
kmsMessage: params.kmsMessage,
|
|
1059
1067
|
objectType: 'activity',
|
|
@@ -1068,7 +1076,10 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1068
1076
|
type: activity.activityType || activity.parent.type
|
|
1069
1077
|
};
|
|
1070
1078
|
}
|
|
1071
|
-
if (
|
|
1079
|
+
if (activity.recipients) {
|
|
1080
|
+
act.recipients = activity.recipients;
|
|
1081
|
+
}
|
|
1082
|
+
if ((0, _lodash.isString)(act.actor)) {
|
|
1072
1083
|
act.actor = {
|
|
1073
1084
|
objectType: 'person',
|
|
1074
1085
|
id: act.actor
|
|
@@ -1077,12 +1088,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1077
1088
|
['actor', 'object'].forEach(function (key) {
|
|
1078
1089
|
if (params[key]) {
|
|
1079
1090
|
act[key] = act[key] || {};
|
|
1080
|
-
(0,
|
|
1091
|
+
(0, _lodash.defaults)(act[key], params[key]);
|
|
1081
1092
|
}
|
|
1082
1093
|
});
|
|
1083
1094
|
if (params.target) {
|
|
1084
|
-
(0,
|
|
1085
|
-
target: (0,
|
|
1095
|
+
(0, _lodash.merge)(act, {
|
|
1096
|
+
target: (0, _lodash.pick)(params.target, 'id', 'url', 'objectType', 'kmsResourceObjectUrl', 'defaultActivityEncryptionKeyUrl')
|
|
1086
1097
|
});
|
|
1087
1098
|
}
|
|
1088
1099
|
['object', 'target'].forEach(function (key) {
|
|
@@ -1117,7 +1128,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1117
1128
|
return _context6.abrupt("return", _this19._list({
|
|
1118
1129
|
service: 'conversation',
|
|
1119
1130
|
resource: 'threads',
|
|
1120
|
-
qs: (0,
|
|
1131
|
+
qs: (0, _lodash.omit)(options, 'showAllTypes')
|
|
1121
1132
|
}));
|
|
1122
1133
|
case 1:
|
|
1123
1134
|
case "end":
|
|
@@ -1288,7 +1299,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1288
1299
|
*/
|
|
1289
1300
|
share: function share(conversation, activity) {
|
|
1290
1301
|
var _this21 = this;
|
|
1291
|
-
if ((0,
|
|
1302
|
+
if ((0, _lodash.isArray)(activity)) {
|
|
1292
1303
|
activity = {
|
|
1293
1304
|
object: {
|
|
1294
1305
|
files: activity
|
|
@@ -1340,13 +1351,13 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1340
1351
|
var customActivityCopy = function customActivityCopy(value) {
|
|
1341
1352
|
var files = params.body.object.files;
|
|
1342
1353
|
if (files && value && files.items.length > 0 && value.constructor === files.items[0].scr.constructor) {
|
|
1343
|
-
var copySrc = (0,
|
|
1354
|
+
var copySrc = (0, _lodash.cloneDeep)(value);
|
|
1344
1355
|
copySrc.toJWE = value.toJWE;
|
|
1345
1356
|
copySrc.toJSON = value.toJSON;
|
|
1346
1357
|
return copySrc;
|
|
1347
1358
|
}
|
|
1348
1359
|
};
|
|
1349
|
-
var cloneActivity = (0,
|
|
1360
|
+
var cloneActivity = (0, _lodash.cloneDeepWith)(params, customActivityCopy);
|
|
1350
1361
|
|
|
1351
1362
|
// triggers user-activity to reset logout timer
|
|
1352
1363
|
this.webex.trigger('user-activity');
|
|
@@ -1438,7 +1449,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1438
1449
|
*/
|
|
1439
1450
|
update: function update(conversation, object, activity) {
|
|
1440
1451
|
var _this24 = this;
|
|
1441
|
-
if (!(0,
|
|
1452
|
+
if (!(0, _lodash.isObject)(object)) {
|
|
1442
1453
|
return _promise.default.reject(new Error('`object` must be an object'));
|
|
1443
1454
|
}
|
|
1444
1455
|
var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
|
|
@@ -1491,7 +1502,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1491
1502
|
return _promise.default.resolve(key || this.webex.internal.encryption.kms.createUnboundKeys({
|
|
1492
1503
|
count: 1
|
|
1493
1504
|
})).then(function (keys) {
|
|
1494
|
-
var k = (0,
|
|
1505
|
+
var k = (0, _lodash.isArray)(keys) ? keys[0] : keys;
|
|
1495
1506
|
var params = {
|
|
1496
1507
|
verb: 'updateKey',
|
|
1497
1508
|
target: _this26.prepareConversation(convoWithUrl),
|
|
@@ -1514,7 +1525,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1514
1525
|
params.kmsMessage = {
|
|
1515
1526
|
method: 'create',
|
|
1516
1527
|
uri: '/resources',
|
|
1517
|
-
userIds: (0,
|
|
1528
|
+
userIds: (0, _lodash.map)(convoWithUrl.participants.items, 'id'),
|
|
1518
1529
|
keyUris: [k.uri]
|
|
1519
1530
|
};
|
|
1520
1531
|
}
|
|
@@ -1635,7 +1646,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1635
1646
|
});
|
|
1636
1647
|
var resource = options.resource;
|
|
1637
1648
|
return this._list({
|
|
1638
|
-
qs: (0,
|
|
1649
|
+
qs: (0, _lodash.omit)(options, 'resource'),
|
|
1639
1650
|
url: "".concat(url, "/").concat(resource)
|
|
1640
1651
|
});
|
|
1641
1652
|
},
|
|
@@ -1674,7 +1685,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1674
1685
|
url: conversationUrl,
|
|
1675
1686
|
id: conversationId
|
|
1676
1687
|
});
|
|
1677
|
-
var baseOptions = _objectSpread(_objectSpread({}, (0,
|
|
1688
|
+
var baseOptions = _objectSpread(_objectSpread({}, (0, _lodash.omit)(options, ['conversationUrl', 'conversationId'])), {}, {
|
|
1678
1689
|
url: url
|
|
1679
1690
|
});
|
|
1680
1691
|
var olderOptions = _objectSpread(_objectSpread({}, baseOptions), {}, {
|
|
@@ -1862,7 +1873,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1862
1873
|
/* eslint-disable no-await-in-loop */
|
|
1863
1874
|
/* eslint-disable no-loop-func */
|
|
1864
1875
|
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
1865
|
-
var _rootActivityManager, getRootActivityHash, addNewRoot, _noMoreActivitiesMana, getNoMoreActs, checkAndSetNoMoreActs, checkAndSetNoOlderActs, checkAndSetNoNewerActs, getActivityHandlerByType, handleNewActivity, handleNewActivities, handleOlderQuery, handleNewerQuery, handleSearch, getQueryResponseHandler, incrementLoopCounter, _loop2,
|
|
1876
|
+
var _rootActivityManager, getRootActivityHash, addNewRoot, _noMoreActivitiesMana, getNoMoreActs, checkAndSetNoMoreActs, checkAndSetNoOlderActs, checkAndSetNoNewerActs, getActivityHandlerByType, handleNewActivity, handleNewActivities, handleOlderQuery, handleNewerQuery, handleSearch, getQueryResponseHandler, incrementLoopCounter, _loop2, orderedActivities, getRepliesByParentId, orderedRoots, nextOptions, currentOldestPublishedDate, currentNewestPublishedDate;
|
|
1866
1877
|
return _regenerator.default.wrap(function _loop$(_context11) {
|
|
1867
1878
|
while (1) switch (_context11.prev = _context11.next) {
|
|
1868
1879
|
case 0:
|
|
@@ -1875,8 +1886,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1875
1886
|
// must be set per iteration, as querying newer activities is still valid when all end of convo has been reached
|
|
1876
1887
|
_noMoreActivitiesMana = (0, _activityThreadOrdering.noMoreActivitiesManager)(), getNoMoreActs = _noMoreActivitiesMana.getNoMoreActs, checkAndSetNoMoreActs = _noMoreActivitiesMana.checkAndSetNoMoreActs, checkAndSetNoOlderActs = _noMoreActivitiesMana.checkAndSetNoOlderActs, checkAndSetNoNewerActs = _noMoreActivitiesMana.checkAndSetNoNewerActs;
|
|
1877
1888
|
getActivityHandlerByType = function getActivityHandlerByType(type) {
|
|
1878
|
-
|
|
1879
|
-
return (_ACTIVITY_TYPES$ROOT$ = {}, (0, _defineProperty2.default)(_ACTIVITY_TYPES$ROOT$, _activities.ACTIVITY_TYPES.ROOT, addNewRoot), (0, _defineProperty2.default)(_ACTIVITY_TYPES$ROOT$, _activities.ACTIVITY_TYPES.REPLY, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.REPLY)), (0, _defineProperty2.default)(_ACTIVITY_TYPES$ROOT$, _activities.ACTIVITY_TYPES.EDIT, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.EDIT)), (0, _defineProperty2.default)(_ACTIVITY_TYPES$ROOT$, _activities.ACTIVITY_TYPES.REACTION, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.REACTION)), (0, _defineProperty2.default)(_ACTIVITY_TYPES$ROOT$, _activities.ACTIVITY_TYPES.REACTION_SELF, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.REACTION_SELF)), (0, _defineProperty2.default)(_ACTIVITY_TYPES$ROOT$, _activities.ACTIVITY_TYPES.TOMBSTONE, addNewRoot), (0, _defineProperty2.default)(_ACTIVITY_TYPES$ROOT$, _activities.ACTIVITY_TYPES.CREATE, addNewRoot), _ACTIVITY_TYPES$ROOT$)[type];
|
|
1889
|
+
return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _activities.ACTIVITY_TYPES.ROOT, addNewRoot), _activities.ACTIVITY_TYPES.REPLY, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.REPLY)), _activities.ACTIVITY_TYPES.EDIT, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.EDIT)), _activities.ACTIVITY_TYPES.REACTION, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.REACTION)), _activities.ACTIVITY_TYPES.REACTION_SELF, getActivityHandlerByKey(_activities.ACTIVITY_TYPES.REACTION_SELF)), _activities.ACTIVITY_TYPES.TOMBSTONE, addNewRoot), _activities.ACTIVITY_TYPES.CREATE, addNewRoot)[type];
|
|
1880
1890
|
};
|
|
1881
1891
|
handleNewActivity = function handleNewActivity(activity) {
|
|
1882
1892
|
var actType = (0, _activities.getActivityType)(activity);
|
|
@@ -1910,8 +1920,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
1910
1920
|
handleNewActivities(activities);
|
|
1911
1921
|
};
|
|
1912
1922
|
getQueryResponseHandler = function getQueryResponseHandler(type) {
|
|
1913
|
-
|
|
1914
|
-
return (_OLDER$NEWER$MID$INIT = {}, (0, _defineProperty2.default)(_OLDER$NEWER$MID$INIT, _activities.OLDER, handleOlderQuery), (0, _defineProperty2.default)(_OLDER$NEWER$MID$INIT, _activities.NEWER, handleNewerQuery), (0, _defineProperty2.default)(_OLDER$NEWER$MID$INIT, _activities.MID, handleSearch), (0, _defineProperty2.default)(_OLDER$NEWER$MID$INIT, _activities.INITIAL, handleOlderQuery), _OLDER$NEWER$MID$INIT)[type];
|
|
1923
|
+
return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _activities.OLDER, handleOlderQuery), _activities.NEWER, handleNewerQuery), _activities.MID, handleSearch), _activities.INITIAL, handleOlderQuery)[type];
|
|
1915
1924
|
}; // ***********************************************
|
|
1916
1925
|
// INNER LOOP
|
|
1917
1926
|
// responsible for fetching and building our maps of activities
|
|
@@ -2059,7 +2068,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2059
2068
|
_context10.next = 41;
|
|
2060
2069
|
break;
|
|
2061
2070
|
}
|
|
2062
|
-
return _context10.abrupt("return",
|
|
2071
|
+
return _context10.abrupt("return", 1);
|
|
2063
2072
|
case 41:
|
|
2064
2073
|
checkAndSetNoMoreActs(queryType, visibleActivitiesCount, batchSize);
|
|
2065
2074
|
|
|
@@ -2102,21 +2111,20 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2102
2111
|
});
|
|
2103
2112
|
case 11:
|
|
2104
2113
|
if (getNoMoreActs()) {
|
|
2105
|
-
_context11.next =
|
|
2114
|
+
_context11.next = 17;
|
|
2106
2115
|
break;
|
|
2107
2116
|
}
|
|
2108
2117
|
return _context11.delegateYield(_loop2(), "t0", 13);
|
|
2109
2118
|
case 13:
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
_context11.next = 16;
|
|
2119
|
+
if (!_context11.t0) {
|
|
2120
|
+
_context11.next = 15;
|
|
2113
2121
|
break;
|
|
2114
2122
|
}
|
|
2115
|
-
return _context11.abrupt("break",
|
|
2116
|
-
case
|
|
2123
|
+
return _context11.abrupt("break", 17);
|
|
2124
|
+
case 15:
|
|
2117
2125
|
_context11.next = 11;
|
|
2118
2126
|
break;
|
|
2119
|
-
case
|
|
2127
|
+
case 17:
|
|
2120
2128
|
orderedActivities = [];
|
|
2121
2129
|
getRepliesByParentId = function getRepliesByParentId(replyParentId) {
|
|
2122
2130
|
var replies = [];
|
|
@@ -2170,12 +2178,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2170
2178
|
return orderedActivities.push(reply);
|
|
2171
2179
|
});
|
|
2172
2180
|
});
|
|
2173
|
-
_context11.next =
|
|
2181
|
+
_context11.next = 23;
|
|
2174
2182
|
return orderedActivities;
|
|
2175
|
-
case
|
|
2183
|
+
case 23:
|
|
2176
2184
|
nextOptions = _context11.sent;
|
|
2177
2185
|
if (!nextOptions) {
|
|
2178
|
-
_context11.next =
|
|
2186
|
+
_context11.next = 32;
|
|
2179
2187
|
break;
|
|
2180
2188
|
}
|
|
2181
2189
|
minActivities = nextOptions.minActivities || minActivities;
|
|
@@ -2188,13 +2196,13 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2188
2196
|
newestPublishedDate: currentNewestPublishedDate,
|
|
2189
2197
|
batchSize: batchSize
|
|
2190
2198
|
});
|
|
2191
|
-
_context11.next =
|
|
2199
|
+
_context11.next = 33;
|
|
2192
2200
|
break;
|
|
2193
|
-
case
|
|
2201
|
+
case 32:
|
|
2194
2202
|
return _context11.abrupt("return", {
|
|
2195
2203
|
v: void 0
|
|
2196
2204
|
});
|
|
2197
|
-
case
|
|
2205
|
+
case 33:
|
|
2198
2206
|
case "end":
|
|
2199
2207
|
return _context11.stop();
|
|
2200
2208
|
}
|
|
@@ -2208,7 +2216,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2208
2216
|
return _context12.delegateYield(_loop(), "t0", 11);
|
|
2209
2217
|
case 11:
|
|
2210
2218
|
_ret = _context12.t0;
|
|
2211
|
-
if (!
|
|
2219
|
+
if (!_ret) {
|
|
2212
2220
|
_context12.next = 14;
|
|
2213
2221
|
break;
|
|
2214
2222
|
}
|
|
@@ -2305,7 +2313,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2305
2313
|
list = [];
|
|
2306
2314
|
} else {
|
|
2307
2315
|
list = res.body.items.slice(0);
|
|
2308
|
-
if ((0,
|
|
2316
|
+
if ((0, _lodash.last)(list).published < list[0].published) {
|
|
2309
2317
|
list.reverse();
|
|
2310
2318
|
}
|
|
2311
2319
|
}
|
|
@@ -2352,7 +2360,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2352
2360
|
result = _step6.value;
|
|
2353
2361
|
if (result.body && result.body.items && result.body.items.length) {
|
|
2354
2362
|
items = result.body.items;
|
|
2355
|
-
if ((0,
|
|
2363
|
+
if ((0, _lodash.last)(items).published < items[0].published) {
|
|
2356
2364
|
items.reverse();
|
|
2357
2365
|
}
|
|
2358
2366
|
list = list.concat(items);
|
|
@@ -2385,7 +2393,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2385
2393
|
*/
|
|
2386
2394
|
_maybeCreateOneOnOneThenPost: function _maybeCreateOneOnOneThenPost(params, options) {
|
|
2387
2395
|
var _this31 = this;
|
|
2388
|
-
return this.get((0,
|
|
2396
|
+
return this.get((0, _lodash.defaults)({
|
|
2389
2397
|
// the use of uniq in Conversation#create guarantees participant[1] will
|
|
2390
2398
|
// always be the other user
|
|
2391
2399
|
user: params.participants[1]
|
|
@@ -2425,7 +2433,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2425
2433
|
kmsMessage: {
|
|
2426
2434
|
method: 'create',
|
|
2427
2435
|
uri: '/resources',
|
|
2428
|
-
userIds: (0,
|
|
2436
|
+
userIds: (0, _lodash.cloneDeep)(params.participants),
|
|
2429
2437
|
keyUris: []
|
|
2430
2438
|
}
|
|
2431
2439
|
};
|
|
@@ -2483,7 +2491,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2483
2491
|
});
|
|
2484
2492
|
}));
|
|
2485
2493
|
},
|
|
2486
|
-
version: "2.60.
|
|
2494
|
+
version: "2.60.1-next.2"
|
|
2487
2495
|
});
|
|
2488
2496
|
['favorite', 'hide', 'lock', 'mute', 'unfavorite', 'unhide', 'unlock', 'unmute'].forEach(function (verb) {
|
|
2489
2497
|
Conversation.prototype[verb] = function submitSimpleActivity(conversation, activity) {
|
|
@@ -2535,7 +2543,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2535
2543
|
var verb = fnName.startsWith('set') ? 'set' : 'unset';
|
|
2536
2544
|
Conversation.prototype[fnName] = function submitSpacePropertyActivity(conversation, tag, activity) {
|
|
2537
2545
|
var _this36 = this;
|
|
2538
|
-
if (!(0,
|
|
2546
|
+
if (!(0, _lodash.isString)(tag)) {
|
|
2539
2547
|
return _promise.default.reject(new Error('`tag` must be a string'));
|
|
2540
2548
|
}
|
|
2541
2549
|
var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
|
|
@@ -2556,7 +2564,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2556
2564
|
['tag', 'untag'].forEach(function (verb) {
|
|
2557
2565
|
Conversation.prototype[verb] = function submitObjectActivity(conversation, object, activity) {
|
|
2558
2566
|
var _this37 = this;
|
|
2559
|
-
if (!(0,
|
|
2567
|
+
if (!(0, _lodash.isObject)(object)) {
|
|
2560
2568
|
return _promise.default.reject(new Error('`object` must be an object'));
|
|
2561
2569
|
}
|
|
2562
2570
|
var c = this.prepareConversation(_objectSpread(_objectSpread({}, conversation), {}, {
|
|
@@ -2571,6 +2579,5 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2571
2579
|
});
|
|
2572
2580
|
};
|
|
2573
2581
|
});
|
|
2574
|
-
var _default = Conversation;
|
|
2575
|
-
exports.default = _default;
|
|
2582
|
+
var _default = exports.default = Conversation;
|
|
2576
2583
|
//# sourceMappingURL=conversation.js.map
|