@webex/internal-plugin-conversation 3.10.0-next.1 → 3.10.0-next.11

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.
@@ -43,9 +43,9 @@ var _shareActivity = _interopRequireDefault(require("./share-activity"));
43
43
  var _activityThreadOrdering = require("./activity-thread-ordering");
44
44
  var _activities = require("./activities");
45
45
  var _constants = require("./constants");
46
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray2(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; } } }; }
47
- 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); }
48
- 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; }
46
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && r[_Symbol$iterator] || r["@@iterator"]; if (!t) { if (_Array$isArray2(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
47
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
48
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
49
49
  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; }
50
50
  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; } /*!
51
51
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
@@ -329,20 +329,20 @@ var Conversation = _webexCore.WebexPlugin.extend({
329
329
  */
330
330
  addReaction: function addReaction(conversation, displayName, parentActivity, actorId, recipientId) {
331
331
  var _this7 = this;
332
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
332
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
333
333
  var hmac, addReactionPayload;
334
- return _regenerator.default.wrap(function _callee$(_context) {
334
+ return _regenerator.default.wrap(function (_context) {
335
335
  while (1) switch (_context.prev = _context.next) {
336
336
  case 0:
337
337
  if (!_this7.config.includeEncryptionTransforms) {
338
- _context.next = 4;
338
+ _context.next = 2;
339
339
  break;
340
340
  }
341
- _context.next = 3;
341
+ _context.next = 1;
342
342
  return _this7.createReactionHmac(displayName, parentActivity);
343
- case 3:
343
+ case 1:
344
344
  hmac = _context.sent;
345
- case 4:
345
+ case 2:
346
346
  addReactionPayload = {
347
347
  actor: {
348
348
  objectType: 'person',
@@ -373,7 +373,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
373
373
  };
374
374
  }
375
375
  return _context.abrupt("return", _this7.sendReaction(conversation, addReactionPayload));
376
- case 7:
376
+ case 3:
377
377
  case "end":
378
378
  return _context.stop();
379
379
  }
@@ -576,7 +576,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
576
576
  * @returns {Promise<Conversation>}
577
577
  */
578
578
  get: function get(conversation) {
579
- var _this10 = this;
579
+ var _this0 = this;
580
580
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
581
581
  var user = conversation.user;
582
582
  var uri;
@@ -612,12 +612,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
612
612
  } else {
613
613
  params.uri = uri;
614
614
  }
615
- return _this10.request(params);
615
+ return _this0.request(params);
616
616
  }).then((0, _common.tap)(function (_ref2) {
617
617
  var body = _ref2.body;
618
618
  var id = body.id,
619
619
  url = body.url;
620
- _this10._recordUUIDs(body);
620
+ _this0._recordUUIDs(body);
621
621
  idToUrl.set(id, url);
622
622
  })).then(function (res) {
623
623
  return res.body;
@@ -635,18 +635,18 @@ var Conversation = _webexCore.WebexPlugin.extend({
635
635
  * @returns {Promise<Activity>}
636
636
  */
637
637
  leave: function leave(conversation, participant, activity) {
638
- var _this11 = this;
638
+ var _this1 = this;
639
639
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
640
640
  url: this.getConvoUrl(conversation)
641
641
  });
642
642
  return _promise.default.resolve().then(function () {
643
643
  if (!participant) {
644
- participant = _this11.webex.internal.device.userId;
644
+ participant = _this1.webex.internal.device.userId;
645
645
  }
646
- return _this11.webex.internal.user.asUUID(participant).then(function (id) {
647
- return _this11.prepare(activity, {
646
+ return _this1.webex.internal.user.asUUID(participant).then(function (id) {
647
+ return _this1.prepare(activity, {
648
648
  verb: 'leave',
649
- target: _this11.prepareConversation(convoWithUrl),
649
+ target: _this1.prepareConversation(convoWithUrl),
650
650
  object: {
651
651
  id: id,
652
652
  objectType: 'person'
@@ -660,7 +660,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
660
660
  });
661
661
  });
662
662
  }).then(function (a) {
663
- return _this11.submit(a);
663
+ return _this1.submit(a);
664
664
  });
665
665
  },
666
666
  /**
@@ -713,31 +713,31 @@ var Conversation = _webexCore.WebexPlugin.extend({
713
713
  */
714
714
  paginate: function paginate() {
715
715
  var _arguments = arguments,
716
- _this12 = this;
717
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
716
+ _this10 = this;
717
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
718
718
  var options, queryOptions, reqOptions;
719
- return _regenerator.default.wrap(function _callee2$(_context2) {
719
+ return _regenerator.default.wrap(function (_context2) {
720
720
  while (1) switch (_context2.prev = _context2.next) {
721
721
  case 0:
722
722
  options = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {};
723
723
  if (!options.page) {
724
- _context2.next = 5;
724
+ _context2.next = 2;
725
725
  break;
726
726
  }
727
727
  if (!(!options.page.links || !options.page.links.next)) {
728
- _context2.next = 4;
728
+ _context2.next = 1;
729
729
  break;
730
730
  }
731
731
  throw new Error('No link to follow for the provided page');
732
- case 4:
733
- return _context2.abrupt("return", _this12.request({
732
+ case 1:
733
+ return _context2.abrupt("return", _this10.request({
734
734
  url: options.page.links.next
735
735
  }).then(function (res) {
736
736
  return {
737
- page: new _webexCore.Page(res, _this12.webex)
737
+ page: new _webexCore.Page(res, _this10.webex)
738
738
  };
739
739
  }));
740
- case 5:
740
+ case 2:
741
741
  // No page - so this is the first request to kick off the pagination process
742
742
  queryOptions = _objectSpread({
743
743
  personRefresh: true,
@@ -758,16 +758,16 @@ var Conversation = _webexCore.WebexPlugin.extend({
758
758
  reqOptions.service = 'conversation';
759
759
  reqOptions.resource = 'conversations';
760
760
  }
761
- return _context2.abrupt("return", _this12.request(reqOptions).then(function (res) {
761
+ return _context2.abrupt("return", _this10.request(reqOptions).then(function (res) {
762
762
  var response = {
763
- page: new _webexCore.Page(res, _this12.webex)
763
+ page: new _webexCore.Page(res, _this10.webex)
764
764
  };
765
765
  if (res.body && res.body.additionalUrls) {
766
766
  response.additionalUrls = res.body.additionalUrls;
767
767
  }
768
768
  return response;
769
769
  }));
770
- case 9:
770
+ case 3:
771
771
  case "end":
772
772
  return _context2.stop();
773
773
  }
@@ -831,10 +831,10 @@ var Conversation = _webexCore.WebexPlugin.extend({
831
831
  * @returns {Promise<Array<String>>}
832
832
  */
833
833
  listParentActivityIds: function listParentActivityIds(conversationUrl, query) {
834
- var _this13 = this;
835
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
834
+ var _this11 = this;
835
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
836
836
  var params, response;
837
- return _regenerator.default.wrap(function _callee3$(_context3) {
837
+ return _regenerator.default.wrap(function (_context3) {
838
838
  while (1) switch (_context3.prev = _context3.next) {
839
839
  case 0:
840
840
  params = {
@@ -842,12 +842,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
842
842
  url: "".concat(conversationUrl, "/parents"),
843
843
  qs: query
844
844
  };
845
- _context3.next = 3;
846
- return _this13.request(params);
847
- case 3:
845
+ _context3.next = 1;
846
+ return _this11.request(params);
847
+ case 1:
848
848
  response = _context3.sent;
849
849
  return _context3.abrupt("return", response.body);
850
- case 5:
850
+ case 2:
851
851
  case "end":
852
852
  return _context3.stop();
853
853
  }
@@ -864,29 +864,29 @@ var Conversation = _webexCore.WebexPlugin.extend({
864
864
  */
865
865
  listAllChildActivitiesByParentId: function listAllChildActivitiesByParentId() {
866
866
  var _arguments2 = arguments,
867
- _this14 = this;
868
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
867
+ _this12 = this;
868
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
869
869
  var options, conversationUrl, activityParentId, query, activityType, initialResponse, page, items, _iterator3, _step3, activity;
870
- return _regenerator.default.wrap(function _callee4$(_context4) {
870
+ return _regenerator.default.wrap(function (_context4) {
871
871
  while (1) switch (_context4.prev = _context4.next) {
872
872
  case 0:
873
873
  options = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {};
874
874
  conversationUrl = options.conversationUrl, activityParentId = options.activityParentId, query = options.query;
875
875
  activityType = query.activityType;
876
- _context4.next = 5;
877
- return _this14.listChildActivitiesByParentId(conversationUrl, activityParentId, activityType, query);
878
- case 5:
876
+ _context4.next = 1;
877
+ return _this12.listChildActivitiesByParentId(conversationUrl, activityParentId, activityType, query);
878
+ case 1:
879
879
  initialResponse = _context4.sent;
880
- page = new _webexCore.Page(initialResponse, _this14.webex);
880
+ page = new _webexCore.Page(initialResponse, _this12.webex);
881
881
  items = (0, _toConsumableArray2.default)(page.items);
882
- case 8:
882
+ case 2:
883
883
  if (!page.hasNext()) {
884
- _context4.next = 16;
884
+ _context4.next = 4;
885
885
  break;
886
886
  }
887
- _context4.next = 11;
887
+ _context4.next = 3;
888
888
  return page.next();
889
- case 11:
889
+ case 3:
890
890
  page = _context4.sent;
891
891
  _iterator3 = _createForOfIteratorHelper(page);
892
892
  try {
@@ -899,15 +899,15 @@ var Conversation = _webexCore.WebexPlugin.extend({
899
899
  } finally {
900
900
  _iterator3.f();
901
901
  }
902
- _context4.next = 8;
902
+ _context4.next = 2;
903
903
  break;
904
- case 16:
904
+ case 4:
905
905
  // reverse list if needed (see _list for precedent)
906
906
  if (items.length && (0, _lodash.last)(items).published < items[0].published) {
907
907
  items.reverse();
908
908
  }
909
909
  return _context4.abrupt("return", items);
910
- case 18:
910
+ case 5:
911
911
  case "end":
912
912
  return _context4.stop();
913
913
  }
@@ -925,10 +925,10 @@ var Conversation = _webexCore.WebexPlugin.extend({
925
925
  */
926
926
  listChildActivitiesByParentId: function listChildActivitiesByParentId(conversationUrl, activityParentId, activityType) {
927
927
  var _arguments3 = arguments,
928
- _this15 = this;
929
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
928
+ _this13 = this;
929
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
930
930
  var query, finalQuery, params;
931
- return _regenerator.default.wrap(function _callee5$(_context5) {
931
+ return _regenerator.default.wrap(function (_context5) {
932
932
  while (1) switch (_context5.prev = _context5.next) {
933
933
  case 0:
934
934
  query = _arguments3.length > 3 && _arguments3[3] !== undefined ? _arguments3[3] : {};
@@ -940,8 +940,8 @@ var Conversation = _webexCore.WebexPlugin.extend({
940
940
  url: "".concat(conversationUrl, "/parents/").concat(activityParentId),
941
941
  qs: finalQuery
942
942
  };
943
- return _context5.abrupt("return", _this15.request(params));
944
- case 4:
943
+ return _context5.abrupt("return", _this13.request(params));
944
+ case 1:
945
945
  case "end":
946
946
  return _context5.stop();
947
947
  }
@@ -956,26 +956,26 @@ var Conversation = _webexCore.WebexPlugin.extend({
956
956
  * @returns {Promise<Array>}
957
957
  */
958
958
  getReactionSummaryByParentId: function getReactionSummaryByParentId(conversationUrl, activityParentId, query) {
959
- var _this16 = this;
960
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
961
- var _yield$_this16$reques, body, reactionObjects;
962
- return _regenerator.default.wrap(function _callee6$(_context6) {
959
+ var _this14 = this;
960
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
961
+ var _yield$_this14$reques, body, reactionObjects;
962
+ return _regenerator.default.wrap(function (_context6) {
963
963
  while (1) switch (_context6.prev = _context6.next) {
964
964
  case 0:
965
- _context6.next = 2;
966
- return _this16.request({
965
+ _context6.next = 1;
966
+ return _this14.request({
967
967
  method: 'GET',
968
968
  url: "".concat(conversationUrl, "/activities/").concat(activityParentId),
969
969
  qs: query
970
970
  });
971
- case 2:
972
- _yield$_this16$reques = _context6.sent;
973
- body = _yield$_this16$reques.body;
971
+ case 1:
972
+ _yield$_this14$reques = _context6.sent;
973
+ body = _yield$_this14$reques.body;
974
974
  reactionObjects = body.children ? body.children.filter(function (child) {
975
975
  return child.type === 'reactionSelfSummary' || child.type === 'reactionSummary';
976
976
  }) : [];
977
977
  return _context6.abrupt("return", reactionObjects);
978
- case 6:
978
+ case 2:
979
979
  case "end":
980
980
  return _context6.stop();
981
981
  }
@@ -1035,7 +1035,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1035
1035
  * @returns {Promise}
1036
1036
  */
1037
1037
  cardAction: function cardAction(conversation, inputs, parentActivity) {
1038
- var _this17 = this;
1038
+ var _this15 = this;
1039
1039
  var activity = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
1040
1040
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
1041
1041
  url: this.getConvoUrl(conversation)
@@ -1051,7 +1051,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1051
1051
  objectType: 'submit'
1052
1052
  }, inputs)
1053
1053
  }).then(function (a) {
1054
- return _this17.submit(a);
1054
+ return _this15.submit(a);
1055
1055
  });
1056
1056
  },
1057
1057
  /**
@@ -1065,7 +1065,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1065
1065
  * @returns {Promise<Activity>}
1066
1066
  */
1067
1067
  post: function post(conversation, message, activity) {
1068
- var _this18 = this;
1068
+ var _this16 = this;
1069
1069
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
1070
1070
  url: this.getConvoUrl(conversation)
1071
1071
  });
@@ -1081,7 +1081,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1081
1081
  objectType: 'comment'
1082
1082
  }, message)
1083
1083
  }).then(function (a) {
1084
- return _this18.submit(a);
1084
+ return _this16.submit(a);
1085
1085
  });
1086
1086
  },
1087
1087
  prepareConversation: function prepareConversation(conversation) {
@@ -1090,7 +1090,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1090
1090
  });
1091
1091
  },
1092
1092
  prepare: function prepare(activity, params) {
1093
- var _this19 = this;
1093
+ var _this17 = this;
1094
1094
  params = params || {};
1095
1095
  activity = activity || {};
1096
1096
  return _promise.default.resolve(activity.prepare ? activity.prepare(params) : activity).then(function (act) {
@@ -1099,7 +1099,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1099
1099
  kmsMessage: params.kmsMessage,
1100
1100
  objectType: 'activity',
1101
1101
  clientTempId: _uuid.default.v4(),
1102
- actor: _this19.webex.internal.device.userId
1102
+ actor: _this17.webex.internal.device.userId
1103
1103
  });
1104
1104
 
1105
1105
  // Workaround because parent is a reserved props in Ampersand
@@ -1153,12 +1153,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
1153
1153
  * @returns {Promise<Array<Activity>>}
1154
1154
  */
1155
1155
  listThreads: function listThreads(options) {
1156
- var _this20 = this;
1157
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
1158
- return _regenerator.default.wrap(function _callee7$(_context7) {
1156
+ var _this18 = this;
1157
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
1158
+ return _regenerator.default.wrap(function (_context7) {
1159
1159
  while (1) switch (_context7.prev = _context7.next) {
1160
1160
  case 0:
1161
- return _context7.abrupt("return", _this20._list({
1161
+ return _context7.abrupt("return", _this18._list({
1162
1162
  service: 'conversation',
1163
1163
  resource: 'threads',
1164
1164
  qs: (0, _lodash.omit)(options, 'showAllTypes')
@@ -1222,7 +1222,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1222
1222
  * @returns {Promise<Activity>}
1223
1223
  */
1224
1224
  assign: function assign(conversation, avatar) {
1225
- var _this21 = this;
1225
+ var _this19 = this;
1226
1226
  var uploadOptions = {
1227
1227
  role: 'spaceAvatar'
1228
1228
  };
@@ -1233,17 +1233,17 @@ var Conversation = _webexCore.WebexPlugin.extend({
1233
1233
  url: this.getConvoUrl(conversation)
1234
1234
  });
1235
1235
  return _promise.default.resolve().then(function () {
1236
- var activity = _shareActivity.default.create(conversation, null, _this21.webex);
1236
+ var activity = _shareActivity.default.create(conversation, null, _this19.webex);
1237
1237
  activity.enableThumbnails = false;
1238
1238
  activity.add(avatar, uploadOptions);
1239
- return _this21.prepare(activity, {
1240
- target: _this21.prepareConversation(convoWithUrl)
1239
+ return _this19.prepare(activity, {
1240
+ target: _this19.prepareConversation(convoWithUrl)
1241
1241
  });
1242
1242
  }).then(function (a) {
1243
1243
  // yes, this seems a little hacky; will likely be resolved as a result
1244
1244
  // of #213
1245
1245
  a.verb = 'assign';
1246
- return _this21.submit(a);
1246
+ return _this19.submit(a);
1247
1247
  });
1248
1248
  },
1249
1249
  /**
@@ -1331,7 +1331,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1331
1331
  * @returns {Promise<Activity>}
1332
1332
  */
1333
1333
  share: function share(conversation, activity) {
1334
- var _this22 = this;
1334
+ var _this20 = this;
1335
1335
  if ((0, _lodash.isArray)(activity)) {
1336
1336
  activity = {
1337
1337
  object: {
@@ -1348,7 +1348,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1348
1348
  return this.prepare(activity, {
1349
1349
  target: this.prepareConversation(convoWithUrl)
1350
1350
  }).then(function (a) {
1351
- return _this22.submit(a);
1351
+ return _this20.submit(a);
1352
1352
  });
1353
1353
  },
1354
1354
  /**
@@ -1358,7 +1358,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1358
1358
  * @returns {Promise<Activity>}
1359
1359
  */
1360
1360
  submit: function submit(activity, endpoint) {
1361
- var _this23 = this;
1361
+ var _this21 = this;
1362
1362
  var url = endpoint || this.getConvoUrl(activity.target);
1363
1363
  var resource = activity.verb === 'share' ? 'content' : 'activities';
1364
1364
  var params = {
@@ -1400,16 +1400,16 @@ var Conversation = _webexCore.WebexPlugin.extend({
1400
1400
  // handle when key need to rotate
1401
1401
  if (error.body && error.body.errorCode === _constants.KEY_ROTATION_REQUIRED) {
1402
1402
  cloneActivity.body.target.defaultActivityEncryptionKeyUrl = null;
1403
- _this23.request(cloneActivity);
1403
+ _this21.request(cloneActivity);
1404
1404
  } else if (error.body && (error.body.errorCode === _constants.KEY_ALREADY_ROTATED || error.body.errorCode === _constants.ENCRYPTION_KEY_URL_MISMATCH)) {
1405
1405
  // handle when key need to update
1406
- _this23.webex.request({
1406
+ _this21.webex.request({
1407
1407
  method: 'GET',
1408
1408
  api: 'conversation',
1409
1409
  resource: "conversations/".concat(params.body.target.id)
1410
1410
  }).then(function (res) {
1411
1411
  cloneActivity.body.target.defaultActivityEncryptionKeyUrl = res.body.defaultActivityEncryptionkeyUrl;
1412
- _this23.request(cloneActivity);
1412
+ _this21.request(cloneActivity);
1413
1413
  });
1414
1414
  } else {
1415
1415
  throw error;
@@ -1423,7 +1423,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1423
1423
  * @returns {Promise}
1424
1424
  */
1425
1425
  unassign: function unassign(conversation, activity) {
1426
- var _this24 = this;
1426
+ var _this22 = this;
1427
1427
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
1428
1428
  url: this.getConvoUrl(conversation)
1429
1429
  });
@@ -1437,7 +1437,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1437
1437
  }
1438
1438
  }
1439
1439
  }).then(function (a) {
1440
- return _this24.submit(a);
1440
+ return _this22.submit(a);
1441
1441
  });
1442
1442
  },
1443
1443
  /**
@@ -1481,7 +1481,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1481
1481
  * @returns {Promise}
1482
1482
  */
1483
1483
  update: function update(conversation, object, activity) {
1484
- var _this25 = this;
1484
+ var _this23 = this;
1485
1485
  if (!(0, _lodash.isObject)(object)) {
1486
1486
  return _promise.default.reject(new Error('`object` must be an object'));
1487
1487
  }
@@ -1493,7 +1493,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1493
1493
  target: this.prepareConversation(convoWithUrl),
1494
1494
  object: object
1495
1495
  }).then(function (a) {
1496
- return _this25.submit(a);
1496
+ return _this23.submit(a);
1497
1497
  });
1498
1498
  },
1499
1499
  /**
@@ -1506,7 +1506,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1506
1506
  * @returns {Promise<Activity>}
1507
1507
  */
1508
1508
  updateKey: function updateKey(conversation, key, activity) {
1509
- var _this26 = this;
1509
+ var _this24 = this;
1510
1510
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
1511
1511
  url: this.getConvoUrl(conversation)
1512
1512
  });
@@ -1514,7 +1514,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1514
1514
  activitiesLimit: 0,
1515
1515
  includeParticipants: true
1516
1516
  }).then(function (c) {
1517
- return _this26._updateKey(c, key, activity);
1517
+ return _this24._updateKey(c, key, activity);
1518
1518
  });
1519
1519
  },
1520
1520
  /**
@@ -1528,7 +1528,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1528
1528
  * @returns {Promise<Activity>}
1529
1529
  */
1530
1530
  _updateKey: function _updateKey(conversation, key, activity) {
1531
- var _this27 = this;
1531
+ var _this25 = this;
1532
1532
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
1533
1533
  url: this.getConvoUrl(conversation)
1534
1534
  });
@@ -1538,7 +1538,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1538
1538
  var k = (0, _lodash.isArray)(keys) ? keys[0] : keys;
1539
1539
  var params = {
1540
1540
  verb: 'updateKey',
1541
- target: _this27.prepareConversation(convoWithUrl),
1541
+ target: _this25.prepareConversation(convoWithUrl),
1542
1542
  object: {
1543
1543
  defaultActivityEncryptionKeyUrl: k.uri,
1544
1544
  objectType: 'conversation'
@@ -1562,8 +1562,8 @@ var Conversation = _webexCore.WebexPlugin.extend({
1562
1562
  keyUris: [k.uri]
1563
1563
  };
1564
1564
  }
1565
- return _this27.prepare(activity, params).then(function (a) {
1566
- return _this27.submit(a);
1565
+ return _this25.prepare(activity, params).then(function (a) {
1566
+ return _this25.submit(a);
1567
1567
  });
1568
1568
  });
1569
1569
  },
@@ -1613,7 +1613,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1613
1613
  * @returns {Promise<string>} - conversation url
1614
1614
  */
1615
1615
  getConversationUrl: function getConversationUrl() {
1616
- var _this28 = this;
1616
+ var _this26 = this;
1617
1617
  this.logger.info('conversation: getting the conversation service url');
1618
1618
  var convoUrl = this.webex.internal.services.get('conversation');
1619
1619
 
@@ -1626,9 +1626,9 @@ var Conversation = _webexCore.WebexPlugin.extend({
1626
1626
  // Wait for the postauth catalog to update and then try to retrieve the
1627
1627
  // conversation service url again.
1628
1628
  return this.webex.internal.waitForCatalog('postauth').then(function () {
1629
- return _this28.webex.internal.services.get('conversation');
1629
+ return _this26.webex.internal.services.get('conversation');
1630
1630
  }).catch(function (error) {
1631
- _this28.logger.warn('conversation: unable to get conversation url', error.message);
1631
+ _this26.logger.warn('conversation: unable to get conversation url', error.message);
1632
1632
  return _promise.default.reject(error);
1633
1633
  });
1634
1634
  },
@@ -1638,23 +1638,23 @@ var Conversation = _webexCore.WebexPlugin.extend({
1638
1638
  * @returns {Promise}
1639
1639
  */
1640
1640
  _inferConversationUrl: function _inferConversationUrl(conversation) {
1641
- var _this29 = this;
1641
+ var _this27 = this;
1642
1642
  if (conversation.id) {
1643
1643
  return this.webex.internal.feature.getFeature('developer', 'web-high-availability').then(function (haMessagingEnabled) {
1644
1644
  if (haMessagingEnabled) {
1645
1645
  // recompute conversation URL each time as the host may have changed
1646
1646
  // since last usage
1647
- return _this29.getConversationUrl().then(function (url) {
1647
+ return _this27.getConversationUrl().then(function (url) {
1648
1648
  conversation.url = "".concat(url, "/conversations/").concat(conversation.id);
1649
1649
  return conversation;
1650
1650
  });
1651
1651
  }
1652
1652
  if (!conversation.url) {
1653
- return _this29.getConversationUrl().then(function (url) {
1653
+ return _this27.getConversationUrl().then(function (url) {
1654
1654
  conversation.url = "".concat(url, "/conversations/").concat(conversation.id);
1655
1655
  /* istanbul ignore else */
1656
1656
  if (process.env.NODE_ENV !== 'production') {
1657
- _this29.logger.warn('conversation: inferred conversation url from conversation id; please pass whole conversation objects to Conversation methods');
1657
+ _this27.logger.warn('conversation: inferred conversation url from conversation id; please pass whole conversation objects to Conversation methods');
1658
1658
  }
1659
1659
  return conversation;
1660
1660
  });
@@ -1708,7 +1708,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1708
1708
  * jumpToActivity - gets searched-for activity and surrounding activities
1709
1709
  */
1710
1710
  listActivitiesThreadOrdered: function listActivitiesThreadOrdered(options) {
1711
- var _this30 = this;
1711
+ var _this28 = this;
1712
1712
  var conversationUrl = options.conversationUrl,
1713
1713
  conversationId = options.conversationId;
1714
1714
  if (!conversationUrl && !conversationId) {
@@ -1734,40 +1734,40 @@ var Conversation = _webexCore.WebexPlugin.extend({
1734
1734
  * @returns {IGeneratorResponse}
1735
1735
  */
1736
1736
  var jumpToActivity = /*#__PURE__*/function () {
1737
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(searchObject) {
1737
+ var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(searchObject) {
1738
1738
  var newUrl, searchOptions, _yield$threadOrderer$, searchResults;
1739
- return _regenerator.default.wrap(function _callee8$(_context8) {
1739
+ return _regenerator.default.wrap(function (_context8) {
1740
1740
  while (1) switch (_context8.prev = _context8.next) {
1741
1741
  case 0:
1742
1742
  if (searchObject) {
1743
- _context8.next = 2;
1743
+ _context8.next = 1;
1744
1744
  break;
1745
1745
  }
1746
1746
  throw new Error('Search must be an activity object from conversation service');
1747
- case 2:
1747
+ case 1:
1748
1748
  newUrl = searchObject.target && searchObject.target.url;
1749
1749
  if (newUrl) {
1750
- _context8.next = 5;
1750
+ _context8.next = 2;
1751
1751
  break;
1752
1752
  }
1753
1753
  throw new Error('Search object must have a target url!');
1754
- case 5:
1754
+ case 2:
1755
1755
  searchOptions = _objectSpread(_objectSpread({}, baseOptions), {}, {
1756
1756
  url: newUrl,
1757
1757
  queryType: _activities.MID,
1758
1758
  search: searchObject
1759
1759
  });
1760
- threadOrderer = _this30._listActivitiesThreadOrdered(searchOptions);
1761
- _context8.next = 9;
1760
+ threadOrderer = _this28._listActivitiesThreadOrdered(searchOptions);
1761
+ _context8.next = 3;
1762
1762
  return threadOrderer.next(searchOptions);
1763
- case 9:
1763
+ case 3:
1764
1764
  _yield$threadOrderer$ = _context8.sent;
1765
1765
  searchResults = _yield$threadOrderer$.value;
1766
1766
  return _context8.abrupt("return", {
1767
1767
  done: true,
1768
1768
  value: searchResults
1769
1769
  });
1770
- case 12:
1770
+ case 4:
1771
1771
  case "end":
1772
1772
  return _context8.stop();
1773
1773
  }
@@ -1783,14 +1783,14 @@ var Conversation = _webexCore.WebexPlugin.extend({
1783
1783
  * @returns {IGeneratorResponse}
1784
1784
  */
1785
1785
  var getOlder = /*#__PURE__*/function () {
1786
- var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
1786
+ var _ref5 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
1787
1787
  var _yield$threadOrderer$2, _yield$threadOrderer$3, value, oldestInBatch, moreActivitiesExist;
1788
- return _regenerator.default.wrap(function _callee9$(_context9) {
1788
+ return _regenerator.default.wrap(function (_context9) {
1789
1789
  while (1) switch (_context9.prev = _context9.next) {
1790
1790
  case 0:
1791
- _context9.next = 2;
1791
+ _context9.next = 1;
1792
1792
  return threadOrderer.next(olderOptions);
1793
- case 2:
1793
+ case 1:
1794
1794
  _yield$threadOrderer$2 = _context9.sent;
1795
1795
  _yield$threadOrderer$3 = _yield$threadOrderer$2.value;
1796
1796
  value = _yield$threadOrderer$3 === void 0 ? [] : _yield$threadOrderer$3;
@@ -1800,7 +1800,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1800
1800
  done: !moreActivitiesExist,
1801
1801
  value: value
1802
1802
  });
1803
- case 8:
1803
+ case 2:
1804
1804
  case "end":
1805
1805
  return _context9.stop();
1806
1806
  }
@@ -1816,28 +1816,28 @@ var Conversation = _webexCore.WebexPlugin.extend({
1816
1816
  * @returns {IGeneratorResponse}
1817
1817
  */
1818
1818
  var getNewer = /*#__PURE__*/function () {
1819
- var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
1819
+ var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
1820
1820
  var newerOptions, _yield$threadOrderer$4, value;
1821
- return _regenerator.default.wrap(function _callee10$(_context10) {
1822
- while (1) switch (_context10.prev = _context10.next) {
1821
+ return _regenerator.default.wrap(function (_context0) {
1822
+ while (1) switch (_context0.prev = _context0.next) {
1823
1823
  case 0:
1824
1824
  newerOptions = _objectSpread(_objectSpread({}, baseOptions), {}, {
1825
1825
  queryType: _activities.NEWER
1826
1826
  });
1827
- _context10.next = 3;
1827
+ _context0.next = 1;
1828
1828
  return threadOrderer.next(newerOptions);
1829
- case 3:
1830
- _yield$threadOrderer$4 = _context10.sent;
1829
+ case 1:
1830
+ _yield$threadOrderer$4 = _context0.sent;
1831
1831
  value = _yield$threadOrderer$4.value;
1832
- return _context10.abrupt("return", {
1832
+ return _context0.abrupt("return", {
1833
1833
  done: !value.length,
1834
1834
  value: value
1835
1835
  });
1836
- case 6:
1836
+ case 2:
1837
1837
  case "end":
1838
- return _context10.stop();
1838
+ return _context0.stop();
1839
1839
  }
1840
- }, _callee10);
1840
+ }, _callee0);
1841
1841
  }));
1842
1842
  return function getNewer() {
1843
1843
  return _ref6.apply(this, arguments);
@@ -1879,390 +1879,392 @@ var Conversation = _webexCore.WebexPlugin.extend({
1879
1879
  */
1880
1880
  _listActivitiesThreadOrdered: function _listActivitiesThreadOrdered() {
1881
1881
  var _this = this;
1882
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1883
- return (0, _wrapAsyncGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
1884
- var _options$minActivitie, minActivities, _options$queryType, queryType, convoUrl, _options$search, search, includeChildren, _bookendManager, setBookends, getNewestAct, getOldestAct, defaultBatchSize, batchSize, _activityManager, getActivityHandlerByKey, getActivityByTypeAndParentId, query, _loop, _ret;
1885
- return _regenerator.default.wrap(function _callee11$(_context13) {
1886
- while (1) switch (_context13.prev = _context13.next) {
1887
- case 0:
1888
- // ***********************************************
1889
- // INSTANCE STATE VARIABLES
1890
- // variables that will be used for the life of the generator
1891
- // ***********************************************
1892
- _options$minActivitie = options.minActivities, minActivities = _options$minActivitie === void 0 ? _activityThreadOrdering.defaultMinDisplayableActivities : _options$minActivitie, _options$queryType = options.queryType, queryType = _options$queryType === void 0 ? _activities.INITIAL : _options$queryType; // must fetch initially before getting newer activities!
1893
- if (queryType === _activities.NEWER) {
1894
- queryType = _activities.INITIAL;
1895
- }
1896
- convoUrl = options.url, _options$search = options.search, search = _options$search === void 0 ? {} : _options$search, includeChildren = options.includeChildren; // manage oldest, newest activities (ie bookends)
1897
- _bookendManager = (0, _activityThreadOrdering.bookendManager)(), setBookends = _bookendManager.setBookends, getNewestAct = _bookendManager.getNewestAct, getOldestAct = _bookendManager.getOldestAct; // default batch should be equal to minActivities when fetching back in time, but halved when fetching newer due to subsequent child fetches filling up the minActivities count
1898
- // reduces server RTs when fetching older activities
1899
- defaultBatchSize = queryType === _activities.INITIAL || queryType === _activities.OLDER ? minActivities : Math.max(_activityThreadOrdering.minBatchSize, Math.ceil(minActivities / 2));
1900
- batchSize = defaultBatchSize; // exposes activity states and handlers with simple getters
1901
- _activityManager = (0, _activityThreadOrdering.activityManager)(), getActivityHandlerByKey = _activityManager.getActivityHandlerByKey, getActivityByTypeAndParentId = _activityManager.getActivityByTypeAndParentId; // set initial query
1902
- query = (0, _activityThreadOrdering.getQuery)(queryType, {
1903
- activityToSearch: search,
1904
- batchSize: batchSize
1905
- });
1906
- /* eslint-disable no-await-in-loop */
1907
- /* eslint-disable no-loop-func */
1908
- _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
1909
- var _rootActivityManager, getRootActivityHash, addNewRoot, _noMoreActivitiesMana, getNoMoreActs, checkAndSetNoMoreActs, checkAndSetNoOlderActs, checkAndSetNoNewerActs, getActivityHandlerByType, handleNewActivity, handleNewActivities, handleOlderQuery, handleNewerQuery, handleSearch, getQueryResponseHandler, incrementLoopCounter, _loop2, orderedActivities, getRepliesByParentId, orderedRoots, nextOptions, currentOldestPublishedDate, currentNewestPublishedDate;
1910
- return _regenerator.default.wrap(function _loop$(_context12) {
1911
- while (1) switch (_context12.prev = _context12.next) {
1912
- case 0:
1913
- // ***********************************************
1914
- // EXECUTION STATE VARIABLES
1915
- // variables that will be used for each "batch" of activities asked for
1916
- // ***********************************************
1917
- // stores all "root" activities (activities that are, or could be, thread parents)
1918
- _rootActivityManager = (0, _activityThreadOrdering.rootActivityManager)(), getRootActivityHash = _rootActivityManager.getRootActivityHash, addNewRoot = _rootActivityManager.addNewRoot; // used to determine if we should continue to fetch older activities
1919
- // must be set per iteration, as querying newer activities is still valid when all end of convo has been reached
1920
- _noMoreActivitiesMana = (0, _activityThreadOrdering.noMoreActivitiesManager)(), getNoMoreActs = _noMoreActivitiesMana.getNoMoreActs, checkAndSetNoMoreActs = _noMoreActivitiesMana.checkAndSetNoMoreActs, checkAndSetNoOlderActs = _noMoreActivitiesMana.checkAndSetNoOlderActs, checkAndSetNoNewerActs = _noMoreActivitiesMana.checkAndSetNoNewerActs;
1921
- getActivityHandlerByType = function getActivityHandlerByType(type) {
1922
- 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];
1923
- };
1924
- handleNewActivity = function handleNewActivity(activity) {
1925
- var actType = (0, _activities.getActivityType)(activity);
1882
+ return (0, _wrapAsyncGenerator2.default)(function () {
1883
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1884
+ return /*#__PURE__*/_regenerator.default.mark(function _callee1() {
1885
+ var _options$minActivitie, minActivities, _options$queryType, queryType, convoUrl, _options$search, search, includeChildren, _bookendManager, setBookends, getNewestAct, getOldestAct, defaultBatchSize, batchSize, _activityManager, getActivityHandlerByKey, getActivityByTypeAndParentId, query, _loop, _ret;
1886
+ return _regenerator.default.wrap(function (_context11) {
1887
+ while (1) switch (_context11.prev = _context11.next) {
1888
+ case 0:
1889
+ // ***********************************************
1890
+ // INSTANCE STATE VARIABLES
1891
+ // variables that will be used for the life of the generator
1892
+ // ***********************************************
1893
+ _options$minActivitie = options.minActivities, minActivities = _options$minActivitie === void 0 ? _activityThreadOrdering.defaultMinDisplayableActivities : _options$minActivitie, _options$queryType = options.queryType, queryType = _options$queryType === void 0 ? _activities.INITIAL : _options$queryType; // must fetch initially before getting newer activities!
1894
+ if (queryType === _activities.NEWER) {
1895
+ queryType = _activities.INITIAL;
1896
+ }
1897
+ convoUrl = options.url, _options$search = options.search, search = _options$search === void 0 ? {} : _options$search, includeChildren = options.includeChildren; // manage oldest, newest activities (ie bookends)
1898
+ _bookendManager = (0, _activityThreadOrdering.bookendManager)(), setBookends = _bookendManager.setBookends, getNewestAct = _bookendManager.getNewestAct, getOldestAct = _bookendManager.getOldestAct; // default batch should be equal to minActivities when fetching back in time, but halved when fetching newer due to subsequent child fetches filling up the minActivities count
1899
+ // reduces server RTs when fetching older activities
1900
+ defaultBatchSize = queryType === _activities.INITIAL || queryType === _activities.OLDER ? minActivities : Math.max(_activityThreadOrdering.minBatchSize, Math.ceil(minActivities / 2));
1901
+ batchSize = defaultBatchSize; // exposes activity states and handlers with simple getters
1902
+ _activityManager = (0, _activityThreadOrdering.activityManager)(), getActivityHandlerByKey = _activityManager.getActivityHandlerByKey, getActivityByTypeAndParentId = _activityManager.getActivityByTypeAndParentId; // set initial query
1903
+ query = (0, _activityThreadOrdering.getQuery)(queryType, {
1904
+ activityToSearch: search,
1905
+ batchSize: batchSize
1906
+ });
1907
+ /* eslint-disable no-await-in-loop */
1908
+ /* eslint-disable no-loop-func */
1909
+ _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
1910
+ var _rootActivityManager, getRootActivityHash, addNewRoot, _noMoreActivitiesMana, getNoMoreActs, checkAndSetNoMoreActs, checkAndSetNoOlderActs, checkAndSetNoNewerActs, getActivityHandlerByType, handleNewActivity, handleNewActivities, handleOlderQuery, handleNewerQuery, handleSearch, getQueryResponseHandler, incrementLoopCounter, _loop2, orderedActivities, getRepliesByParentId, orderedRoots, nextOptions, currentOldestPublishedDate, currentNewestPublishedDate;
1911
+ return _regenerator.default.wrap(function (_context10) {
1912
+ while (1) switch (_context10.prev = _context10.next) {
1913
+ case 0:
1914
+ // ***********************************************
1915
+ // EXECUTION STATE VARIABLES
1916
+ // variables that will be used for each "batch" of activities asked for
1917
+ // ***********************************************
1918
+ // stores all "root" activities (activities that are, or could be, thread parents)
1919
+ _rootActivityManager = (0, _activityThreadOrdering.rootActivityManager)(), getRootActivityHash = _rootActivityManager.getRootActivityHash, addNewRoot = _rootActivityManager.addNewRoot; // used to determine if we should continue to fetch older activities
1920
+ // must be set per iteration, as querying newer activities is still valid when all end of convo has been reached
1921
+ _noMoreActivitiesMana = (0, _activityThreadOrdering.noMoreActivitiesManager)(), getNoMoreActs = _noMoreActivitiesMana.getNoMoreActs, checkAndSetNoMoreActs = _noMoreActivitiesMana.checkAndSetNoMoreActs, checkAndSetNoOlderActs = _noMoreActivitiesMana.checkAndSetNoOlderActs, checkAndSetNoNewerActs = _noMoreActivitiesMana.checkAndSetNoNewerActs;
1922
+ getActivityHandlerByType = function getActivityHandlerByType(type) {
1923
+ 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];
1924
+ };
1925
+ handleNewActivity = function handleNewActivity(activity) {
1926
+ var actType = (0, _activities.getActivityType)(activity);
1926
1927
 
1927
- // ignore deletes
1928
- if ((0, _activities.isDeleteActivity)(activity)) {
1929
- return;
1930
- }
1931
- var activityHandler = getActivityHandlerByType(actType);
1932
- activityHandler(activity);
1933
- };
1934
- handleNewActivities = function handleNewActivities(activities) {
1935
- activities.forEach(function (act) {
1936
- handleNewActivity(act);
1937
- checkAndSetNoOlderActs(act);
1938
- });
1939
- };
1940
- handleOlderQuery = function handleOlderQuery(activities) {
1941
- setBookends(activities, _activities.OLDER);
1942
- handleNewActivities(activities);
1943
- };
1944
- handleNewerQuery = function handleNewerQuery(activities) {
1945
- checkAndSetNoNewerActs(activities);
1946
- if (activities.length) {
1947
- setBookends(activities, _activities.NEWER);
1928
+ // ignore deletes
1929
+ if ((0, _activities.isDeleteActivity)(activity)) {
1930
+ return;
1931
+ }
1932
+ var activityHandler = getActivityHandlerByType(actType);
1933
+ activityHandler(activity);
1934
+ };
1935
+ handleNewActivities = function handleNewActivities(activities) {
1936
+ activities.forEach(function (act) {
1937
+ handleNewActivity(act);
1938
+ checkAndSetNoOlderActs(act);
1939
+ });
1940
+ };
1941
+ handleOlderQuery = function handleOlderQuery(activities) {
1942
+ setBookends(activities, _activities.OLDER);
1948
1943
  handleNewActivities(activities);
1949
- }
1950
- };
1951
- handleSearch = function handleSearch(activities) {
1952
- setBookends(activities, _activities.MID);
1953
- handleNewActivities(activities);
1954
- };
1955
- getQueryResponseHandler = function getQueryResponseHandler(type) {
1956
- 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];
1957
- }; // ***********************************************
1958
- // INNER LOOP
1959
- // responsible for fetching and building our maps of activities
1960
- // fetch until minActivities is reached, or no more acts to fetch, or we hit our max fetch count
1961
- // ***********************************************
1962
- incrementLoopCounter = (0, _activityThreadOrdering.getLoopCounterFailsafe)();
1963
- _loop2 = /*#__PURE__*/_regenerator.default.mark(function _loop2() {
1964
- var allBatchActivitiesConfig, $allBatchActivitiesFetch, $fetchRequests, params, $parentsFetch, _yield$_awaitAsyncGen, _yield$_awaitAsyncGen2, allBatchActivities, _yield$_awaitAsyncGen3, parents, handler, _parents$reply, replyIds, _parents$edit, editIds, _parents$reaction, reactionIds, $reactionFetches, $replyFetches, $editFetches, _iterator4, _step4, activity, actId, childFetchOptions, _yield$_awaitAsyncGen4, _yield$_awaitAsyncGen5, reactions, replies, edits, newReplyReactions, allReactions, rootActivityHash, visibleActivitiesCount, _iterator5, _step5, rootActivity, rootId, repliesByRootId, currentOldestPublishedDate, currentNewestPublishedDate;
1965
- return _regenerator.default.wrap(function _loop2$(_context11) {
1966
- while (1) switch (_context11.prev = _context11.next) {
1967
- case 0:
1968
- // count loops and throw if we detect infinite loop
1969
- incrementLoopCounter();
1944
+ };
1945
+ handleNewerQuery = function handleNewerQuery(activities) {
1946
+ checkAndSetNoNewerActs(activities);
1947
+ if (activities.length) {
1948
+ setBookends(activities, _activities.NEWER);
1949
+ handleNewActivities(activities);
1950
+ }
1951
+ };
1952
+ handleSearch = function handleSearch(activities) {
1953
+ setBookends(activities, _activities.MID);
1954
+ handleNewActivities(activities);
1955
+ };
1956
+ getQueryResponseHandler = function getQueryResponseHandler(type) {
1957
+ 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];
1958
+ }; // ***********************************************
1959
+ // INNER LOOP
1960
+ // responsible for fetching and building our maps of activities
1961
+ // fetch until minActivities is reached, or no more acts to fetch, or we hit our max fetch count
1962
+ // ***********************************************
1963
+ incrementLoopCounter = (0, _activityThreadOrdering.getLoopCounterFailsafe)();
1964
+ _loop2 = /*#__PURE__*/_regenerator.default.mark(function _loop2() {
1965
+ var allBatchActivitiesConfig, $allBatchActivitiesFetch, $fetchRequests, params, $parentsFetch, _yield$_awaitAsyncGen, _yield$_awaitAsyncGen2, allBatchActivities, _yield$_awaitAsyncGen3, parents, handler, _parents$reply, replyIds, _parents$edit, editIds, _parents$reaction, reactionIds, $reactionFetches, $replyFetches, $editFetches, _iterator4, _step4, activity, actId, childFetchOptions, _yield$_awaitAsyncGen4, _yield$_awaitAsyncGen5, reactions, replies, edits, newReplyReactions, allReactions, rootActivityHash, visibleActivitiesCount, _iterator5, _step5, rootActivity, rootId, repliesByRootId, currentOldestPublishedDate, currentNewestPublishedDate;
1966
+ return _regenerator.default.wrap(function (_context1) {
1967
+ while (1) switch (_context1.prev = _context1.next) {
1968
+ case 0:
1969
+ // count loops and throw if we detect infinite loop
1970
+ incrementLoopCounter();
1970
1971
 
1971
- // configure fetch request. Use a smaller limit when fetching newer or mids to account for potential children fetches
1972
- allBatchActivitiesConfig = _objectSpread({
1973
- conversationUrl: convoUrl,
1974
- limit: batchSize,
1975
- includeChildren: includeChildren
1976
- }, query); // request activities in batches
1977
- $allBatchActivitiesFetch = _this.listActivities(allBatchActivitiesConfig); // contain fetches in array to parallelize fetching as needed
1978
- $fetchRequests = [$allBatchActivitiesFetch]; // if query requires recursive fetches for children acts, add the additional fetch
1979
- if (queryType === _activities.MID || queryType === _activities.NEWER) {
1980
- params = {
1981
- activityType: null
1982
- };
1983
- if (query.sinceDate) {
1984
- params.sinceDate = query.sinceDate;
1972
+ // configure fetch request. Use a smaller limit when fetching newer or mids to account for potential children fetches
1973
+ allBatchActivitiesConfig = _objectSpread({
1974
+ conversationUrl: convoUrl,
1975
+ limit: batchSize,
1976
+ includeChildren: includeChildren
1977
+ }, query); // request activities in batches
1978
+ $allBatchActivitiesFetch = _this.listActivities(allBatchActivitiesConfig); // contain fetches in array to parallelize fetching as needed
1979
+ $fetchRequests = [$allBatchActivitiesFetch]; // if query requires recursive fetches for children acts, add the additional fetch
1980
+ if (queryType === _activities.MID || queryType === _activities.NEWER) {
1981
+ params = {
1982
+ activityType: null
1983
+ };
1984
+ if (query.sinceDate) {
1985
+ params.sinceDate = query.sinceDate;
1986
+ }
1987
+ $parentsFetch = _this.listParentActivityIds(convoUrl, params);
1988
+ $fetchRequests.push($parentsFetch);
1985
1989
  }
1986
- $parentsFetch = _this.listParentActivityIds(convoUrl, params);
1987
- $fetchRequests.push($parentsFetch);
1988
- }
1989
1990
 
1990
- // we dont always need to fetch for parents
1991
- _context11.next = 7;
1992
- return (0, _awaitAsyncGenerator2.default)(_promise.default.all($fetchRequests));
1993
- case 7:
1994
- _yield$_awaitAsyncGen = _context11.sent;
1995
- _yield$_awaitAsyncGen2 = (0, _slicedToArray2.default)(_yield$_awaitAsyncGen, 2);
1996
- allBatchActivities = _yield$_awaitAsyncGen2[0];
1997
- _yield$_awaitAsyncGen3 = _yield$_awaitAsyncGen2[1];
1998
- parents = _yield$_awaitAsyncGen3 === void 0 ? {} : _yield$_awaitAsyncGen3;
1999
- // use query type to decide how to handle response
2000
- handler = getQueryResponseHandler(queryType);
2001
- handler(allBatchActivities);
1991
+ // we dont always need to fetch for parents
1992
+ _context1.next = 1;
1993
+ return (0, _awaitAsyncGenerator2.default)(_promise.default.all($fetchRequests));
1994
+ case 1:
1995
+ _yield$_awaitAsyncGen = _context1.sent;
1996
+ _yield$_awaitAsyncGen2 = (0, _slicedToArray2.default)(_yield$_awaitAsyncGen, 2);
1997
+ allBatchActivities = _yield$_awaitAsyncGen2[0];
1998
+ _yield$_awaitAsyncGen3 = _yield$_awaitAsyncGen2[1];
1999
+ parents = _yield$_awaitAsyncGen3 === void 0 ? {} : _yield$_awaitAsyncGen3;
2000
+ // use query type to decide how to handle response
2001
+ handler = getQueryResponseHandler(queryType);
2002
+ handler(allBatchActivities);
2002
2003
 
2003
- /*
2004
- next we must selectively fetch the children of each of the parents to ensure completeness
2005
- do this by checking the hash for each of the above parent IDs
2006
- fetch children when we have a parent whose ID is represented in the parent ID lists
2007
- */
2008
- _parents$reply = parents.reply, replyIds = _parents$reply === void 0 ? [] : _parents$reply, _parents$edit = parents.edit, editIds = _parents$edit === void 0 ? [] : _parents$edit, _parents$reaction = parents.reaction, reactionIds = _parents$reaction === void 0 ? [] : _parents$reaction; // if no parent IDs returned, do nothing
2009
- if (!(replyIds.length || editIds.length || reactionIds.length)) {
2010
- _context11.next = 35;
2011
- break;
2012
- }
2013
- $reactionFetches = [];
2014
- $replyFetches = [];
2015
- $editFetches = [];
2016
- _iterator4 = _createForOfIteratorHelper(allBatchActivities);
2017
- try {
2018
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
2019
- activity = _step4.value;
2020
- actId = activity.id;
2021
- childFetchOptions = {
2022
- conversationUrl: convoUrl,
2023
- activityParentId: actId
2024
- };
2025
- if (reactionIds.includes(actId)) {
2026
- $reactionFetches.push(_this.getReactionSummaryByParentId(convoUrl, actId, {
2027
- activityType: 'reactionSummary',
2028
- includeChildren: true
2029
- }));
2030
- }
2031
- if (replyIds.includes(actId)) {
2032
- childFetchOptions.query = {
2033
- activityType: 'reply'
2034
- };
2035
- $replyFetches.push(_this.listAllChildActivitiesByParentId(childFetchOptions));
2036
- }
2037
- if (editIds.includes(actId)) {
2038
- childFetchOptions.query = {
2039
- activityType: 'edit'
2004
+ /*
2005
+ next we must selectively fetch the children of each of the parents to ensure completeness
2006
+ do this by checking the hash for each of the above parent IDs
2007
+ fetch children when we have a parent whose ID is represented in the parent ID lists
2008
+ */
2009
+ _parents$reply = parents.reply, replyIds = _parents$reply === void 0 ? [] : _parents$reply, _parents$edit = parents.edit, editIds = _parents$edit === void 0 ? [] : _parents$edit, _parents$reaction = parents.reaction, reactionIds = _parents$reaction === void 0 ? [] : _parents$reaction; // if no parent IDs returned, do nothing
2010
+ if (!(replyIds.length || editIds.length || reactionIds.length)) {
2011
+ _context1.next = 4;
2012
+ break;
2013
+ }
2014
+ $reactionFetches = [];
2015
+ $replyFetches = [];
2016
+ $editFetches = [];
2017
+ _iterator4 = _createForOfIteratorHelper(allBatchActivities);
2018
+ try {
2019
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
2020
+ activity = _step4.value;
2021
+ actId = activity.id;
2022
+ childFetchOptions = {
2023
+ conversationUrl: convoUrl,
2024
+ activityParentId: actId
2040
2025
  };
2041
- $editFetches.push(_this.listAllChildActivitiesByParentId(childFetchOptions));
2026
+ if (reactionIds.includes(actId)) {
2027
+ $reactionFetches.push(_this.getReactionSummaryByParentId(convoUrl, actId, {
2028
+ activityType: 'reactionSummary',
2029
+ includeChildren: true
2030
+ }));
2031
+ }
2032
+ if (replyIds.includes(actId)) {
2033
+ childFetchOptions.query = {
2034
+ activityType: 'reply'
2035
+ };
2036
+ $replyFetches.push(_this.listAllChildActivitiesByParentId(childFetchOptions));
2037
+ }
2038
+ if (editIds.includes(actId)) {
2039
+ childFetchOptions.query = {
2040
+ activityType: 'edit'
2041
+ };
2042
+ $editFetches.push(_this.listAllChildActivitiesByParentId(childFetchOptions));
2043
+ }
2042
2044
  }
2043
- }
2044
2045
 
2045
- // parallelize fetch for speeedz
2046
- } catch (err) {
2047
- _iterator4.e(err);
2048
- } finally {
2049
- _iterator4.f();
2050
- }
2051
- _context11.next = 23;
2052
- return (0, _awaitAsyncGenerator2.default)(_promise.default.all([_promise.default.all($reactionFetches), _promise.default.all($replyFetches), _promise.default.all($editFetches)]));
2053
- case 23:
2054
- _yield$_awaitAsyncGen4 = _context11.sent;
2055
- _yield$_awaitAsyncGen5 = (0, _slicedToArray2.default)(_yield$_awaitAsyncGen4, 3);
2056
- reactions = _yield$_awaitAsyncGen5[0];
2057
- replies = _yield$_awaitAsyncGen5[1];
2058
- edits = _yield$_awaitAsyncGen5[2];
2059
- _context11.next = 30;
2060
- return (0, _awaitAsyncGenerator2.default)(_promise.default.all(replies.filter(function (reply) {
2061
- return replyIds.includes(reply.id);
2062
- }).map(function (reply) {
2063
- return _this.getReactionSummaryByParentId(convoUrl, reply.id, {
2064
- activityType: 'reactionSummary',
2065
- includeChildren: true
2046
+ // parallelize fetch for speeedz
2047
+ } catch (err) {
2048
+ _iterator4.e(err);
2049
+ } finally {
2050
+ _iterator4.f();
2051
+ }
2052
+ _context1.next = 2;
2053
+ return (0, _awaitAsyncGenerator2.default)(_promise.default.all([_promise.default.all($reactionFetches), _promise.default.all($replyFetches), _promise.default.all($editFetches)]));
2054
+ case 2:
2055
+ _yield$_awaitAsyncGen4 = _context1.sent;
2056
+ _yield$_awaitAsyncGen5 = (0, _slicedToArray2.default)(_yield$_awaitAsyncGen4, 3);
2057
+ reactions = _yield$_awaitAsyncGen5[0];
2058
+ replies = _yield$_awaitAsyncGen5[1];
2059
+ edits = _yield$_awaitAsyncGen5[2];
2060
+ _context1.next = 3;
2061
+ return (0, _awaitAsyncGenerator2.default)(_promise.default.all(replies.filter(function (reply) {
2062
+ return replyIds.includes(reply.id);
2063
+ }).map(function (reply) {
2064
+ return _this.getReactionSummaryByParentId(convoUrl, reply.id, {
2065
+ activityType: 'reactionSummary',
2066
+ includeChildren: true
2067
+ });
2068
+ })));
2069
+ case 3:
2070
+ newReplyReactions = _context1.sent;
2071
+ allReactions = [].concat((0, _toConsumableArray2.default)(reactions), (0, _toConsumableArray2.default)(newReplyReactions)); // stick them into activity hashes
2072
+ replies.forEach(function (replyArr) {
2073
+ return handleNewActivities(replyArr);
2066
2074
  });
2067
- })));
2068
- case 30:
2069
- newReplyReactions = _context11.sent;
2070
- allReactions = [].concat((0, _toConsumableArray2.default)(reactions), (0, _toConsumableArray2.default)(newReplyReactions)); // stick them into activity hashes
2071
- replies.forEach(function (replyArr) {
2072
- return handleNewActivities(replyArr);
2073
- });
2074
- edits.forEach(function (editArr) {
2075
- return handleNewActivities(editArr);
2076
- });
2077
- allReactions.forEach(function (reactionArr) {
2078
- return handleNewActivities(reactionArr);
2079
- });
2080
- case 35:
2081
- rootActivityHash = getRootActivityHash();
2082
- visibleActivitiesCount = rootActivityHash.size;
2083
- _iterator5 = _createForOfIteratorHelper(rootActivityHash.values());
2084
- try {
2085
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
2086
- rootActivity = _step5.value;
2087
- rootId = rootActivity.id;
2088
- repliesByRootId = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REPLY, rootId);
2089
- if (repliesByRootId && repliesByRootId.size) {
2090
- visibleActivitiesCount += repliesByRootId.size || 0;
2075
+ edits.forEach(function (editArr) {
2076
+ return handleNewActivities(editArr);
2077
+ });
2078
+ allReactions.forEach(function (reactionArr) {
2079
+ return handleNewActivities(reactionArr);
2080
+ });
2081
+ case 4:
2082
+ rootActivityHash = getRootActivityHash();
2083
+ visibleActivitiesCount = rootActivityHash.size;
2084
+ _iterator5 = _createForOfIteratorHelper(rootActivityHash.values());
2085
+ try {
2086
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
2087
+ rootActivity = _step5.value;
2088
+ rootId = rootActivity.id;
2089
+ repliesByRootId = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REPLY, rootId);
2090
+ if (repliesByRootId && repliesByRootId.size) {
2091
+ visibleActivitiesCount += repliesByRootId.size || 0;
2092
+ }
2091
2093
  }
2092
- }
2093
2094
 
2094
- // stop fetching if we've reached desired count of visible activities
2095
- } catch (err) {
2096
- _iterator5.e(err);
2097
- } finally {
2098
- _iterator5.f();
2099
- }
2100
- if (!(visibleActivitiesCount >= minActivities)) {
2101
- _context11.next = 41;
2102
- break;
2103
- }
2104
- return _context11.abrupt("return", 1);
2105
- case 41:
2106
- checkAndSetNoMoreActs(queryType, visibleActivitiesCount, batchSize);
2095
+ // stop fetching if we've reached desired count of visible activities
2096
+ } catch (err) {
2097
+ _iterator5.e(err);
2098
+ } finally {
2099
+ _iterator5.f();
2100
+ }
2101
+ if (!(visibleActivitiesCount >= minActivities)) {
2102
+ _context1.next = 5;
2103
+ break;
2104
+ }
2105
+ return _context1.abrupt("return", 1);
2106
+ case 5:
2107
+ checkAndSetNoMoreActs(queryType, visibleActivitiesCount, batchSize);
2107
2108
 
2108
- // batchSize should be equal to minimum activities when fetching older activities
2109
- // covers "best case" when we reach minActivities on the first fetch
2110
- if (queryType === _activities.OLDER) {
2111
- batchSize = minActivities;
2112
- }
2109
+ // batchSize should be equal to minimum activities when fetching older activities
2110
+ // covers "best case" when we reach minActivities on the first fetch
2111
+ if (queryType === _activities.OLDER) {
2112
+ batchSize = minActivities;
2113
+ }
2113
2114
 
2114
- // since a MID query can bump the batchSize, we need to reset it _after_ a potential MID query
2115
- // reset batchSize in case of MID queries bumping it up
2116
- if (queryType === _activities.NEWER) {
2117
- batchSize = defaultBatchSize;
2118
- }
2119
- currentOldestPublishedDate = (0, _activities.getPublishedDate)(getOldestAct());
2120
- currentNewestPublishedDate = (0, _activities.getPublishedDate)(getNewestAct()); // we're still building our activity list - derive new query from prior query and start loop again
2121
- if (queryType === _activities.INITIAL) {
2122
- query = (0, _activityThreadOrdering.getQuery)(_activities.OLDER, {
2123
- oldestPublishedDate: currentOldestPublishedDate,
2124
- batchSize: batchSize
2125
- });
2126
- } else {
2127
- query = (0, _activityThreadOrdering.getQuery)(queryType, {
2128
- batchSize: batchSize,
2129
- activityToSearch: search,
2130
- oldestPublishedDate: currentOldestPublishedDate,
2131
- newestPublishedDate: currentNewestPublishedDate
2132
- });
2133
- }
2115
+ // since a MID query can bump the batchSize, we need to reset it _after_ a potential MID query
2116
+ // reset batchSize in case of MID queries bumping it up
2117
+ if (queryType === _activities.NEWER) {
2118
+ batchSize = defaultBatchSize;
2119
+ }
2120
+ currentOldestPublishedDate = (0, _activities.getPublishedDate)(getOldestAct());
2121
+ currentNewestPublishedDate = (0, _activities.getPublishedDate)(getNewestAct()); // we're still building our activity list - derive new query from prior query and start loop again
2122
+ if (queryType === _activities.INITIAL) {
2123
+ query = (0, _activityThreadOrdering.getQuery)(_activities.OLDER, {
2124
+ oldestPublishedDate: currentOldestPublishedDate,
2125
+ batchSize: batchSize
2126
+ });
2127
+ } else {
2128
+ query = (0, _activityThreadOrdering.getQuery)(queryType, {
2129
+ batchSize: batchSize,
2130
+ activityToSearch: search,
2131
+ oldestPublishedDate: currentOldestPublishedDate,
2132
+ newestPublishedDate: currentNewestPublishedDate
2133
+ });
2134
+ }
2134
2135
 
2135
- // if we're still building out the midDate search, bump the search limit to include activities on both sides
2136
- if (queryType === _activities.MID) {
2137
- batchSize += _activityThreadOrdering.batchSizeIncrementCount;
2138
- }
2139
- case 48:
2140
- case "end":
2141
- return _context11.stop();
2142
- }
2143
- }, _loop2);
2144
- });
2145
- case 11:
2146
- if (getNoMoreActs()) {
2147
- _context12.next = 17;
2148
- break;
2149
- }
2150
- return _context12.delegateYield(_loop2(), "t0", 13);
2151
- case 13:
2152
- if (!_context12.t0) {
2153
- _context12.next = 15;
2136
+ // if we're still building out the midDate search, bump the search limit to include activities on both sides
2137
+ if (queryType === _activities.MID) {
2138
+ batchSize += _activityThreadOrdering.batchSizeIncrementCount;
2139
+ }
2140
+ case 6:
2141
+ case "end":
2142
+ return _context1.stop();
2143
+ }
2144
+ }, _loop2);
2145
+ });
2146
+ case 1:
2147
+ if (getNoMoreActs()) {
2148
+ _context10.next = 4;
2149
+ break;
2150
+ }
2151
+ return _context10.delegateYield(_loop2(), "t0", 2);
2152
+ case 2:
2153
+ if (!_context10.t0) {
2154
+ _context10.next = 3;
2155
+ break;
2156
+ }
2157
+ return _context10.abrupt("continue", 4);
2158
+ case 3:
2159
+ _context10.next = 1;
2154
2160
  break;
2155
- }
2156
- return _context12.abrupt("break", 17);
2157
- case 15:
2158
- _context12.next = 11;
2159
- break;
2160
- case 17:
2161
- orderedActivities = [];
2162
- getRepliesByParentId = function getRepliesByParentId(replyParentId) {
2163
- var replies = [];
2164
- var repliesByParentId = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REPLY, replyParentId);
2165
- if (!repliesByParentId) {
2161
+ case 4:
2162
+ orderedActivities = [];
2163
+ getRepliesByParentId = function getRepliesByParentId(replyParentId) {
2164
+ var replies = [];
2165
+ var repliesByParentId = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REPLY, replyParentId);
2166
+ if (!repliesByParentId) {
2167
+ return replies;
2168
+ }
2169
+ var sortedReplies = (0, _activities.sortActivitiesByPublishedDate)((0, _activityThreadOrdering.getActivityObjectsFromMap)(repliesByParentId));
2170
+ sortedReplies.forEach(function (replyActivity) {
2171
+ var replyId = replyActivity.id;
2172
+ var edit = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.EDIT, replyId);
2173
+ var reaction = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION, replyId);
2174
+ var reactionSelf = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION_SELF, replyId);
2175
+ var latestActivity = edit || replyActivity;
2176
+ // hash of root activities (in case of plain reply) and the reply activity (in case of edit)
2177
+ var allRelevantActivitiesArr = [].concat((0, _toConsumableArray2.default)((0, _activityThreadOrdering.getActivityObjectsFromMap)(getRootActivityHash())), (0, _toConsumableArray2.default)((0, _activityThreadOrdering.getActivityObjectsFromMap)(repliesByParentId)));
2178
+ var allRelevantActivities = allRelevantActivitiesArr.reduce(function (hashMap, act) {
2179
+ hashMap[act.id] = act;
2180
+ return hashMap;
2181
+ }, {});
2182
+ var finalReply = _this._createParsedServerActivity(latestActivity, allRelevantActivities);
2183
+ var fullReply = {
2184
+ id: replyId,
2185
+ activity: finalReply,
2186
+ reaction: reaction,
2187
+ reactionSelf: reactionSelf
2188
+ };
2189
+ var sanitizedFullReply = (0, _activities.sanitizeActivity)(fullReply);
2190
+ replies.push(sanitizedFullReply);
2191
+ });
2166
2192
  return replies;
2167
- }
2168
- var sortedReplies = (0, _activities.sortActivitiesByPublishedDate)((0, _activityThreadOrdering.getActivityObjectsFromMap)(repliesByParentId));
2169
- sortedReplies.forEach(function (replyActivity) {
2170
- var replyId = replyActivity.id;
2171
- var edit = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.EDIT, replyId);
2172
- var reaction = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION, replyId);
2173
- var reactionSelf = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION_SELF, replyId);
2174
- var latestActivity = edit || replyActivity;
2175
- // hash of root activities (in case of plain reply) and the reply activity (in case of edit)
2176
- var allRelevantActivitiesArr = [].concat((0, _toConsumableArray2.default)((0, _activityThreadOrdering.getActivityObjectsFromMap)(getRootActivityHash())), (0, _toConsumableArray2.default)((0, _activityThreadOrdering.getActivityObjectsFromMap)(repliesByParentId)));
2177
- var allRelevantActivities = allRelevantActivitiesArr.reduce(function (hashMap, act) {
2178
- hashMap[act.id] = act;
2179
- return hashMap;
2180
- }, {});
2181
- var finalReply = _this._createParsedServerActivity(latestActivity, allRelevantActivities);
2182
- var fullReply = {
2183
- id: replyId,
2184
- activity: finalReply,
2193
+ };
2194
+ orderedRoots = (0, _activities.sortActivitiesByPublishedDate)((0, _activityThreadOrdering.getActivityObjectsFromMap)(getRootActivityHash()));
2195
+ orderedRoots.forEach(function (rootActivity) {
2196
+ var rootId = rootActivity.id;
2197
+ var replies = getRepliesByParentId(rootId);
2198
+ var edit = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.EDIT, rootId);
2199
+ var reaction = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION, rootId);
2200
+ var reactionSelf = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION_SELF, rootId);
2201
+ var latestActivity = edit || rootActivity;
2202
+ var finalActivity = _this._createParsedServerActivity(latestActivity, (0, _defineProperty2.default)({}, rootId, rootActivity));
2203
+ var fullRoot = {
2204
+ id: rootId,
2205
+ activity: finalActivity,
2185
2206
  reaction: reaction,
2186
2207
  reactionSelf: reactionSelf
2187
2208
  };
2188
- var sanitizedFullReply = (0, _activities.sanitizeActivity)(fullReply);
2189
- replies.push(sanitizedFullReply);
2209
+ var sanitizedFullRoot = (0, _activities.sanitizeActivity)(fullRoot);
2210
+ orderedActivities.push(sanitizedFullRoot);
2211
+ replies.forEach(function (reply) {
2212
+ return orderedActivities.push(reply);
2213
+ });
2190
2214
  });
2191
- return replies;
2192
- };
2193
- orderedRoots = (0, _activities.sortActivitiesByPublishedDate)((0, _activityThreadOrdering.getActivityObjectsFromMap)(getRootActivityHash()));
2194
- orderedRoots.forEach(function (rootActivity) {
2195
- var rootId = rootActivity.id;
2196
- var replies = getRepliesByParentId(rootId);
2197
- var edit = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.EDIT, rootId);
2198
- var reaction = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION, rootId);
2199
- var reactionSelf = getActivityByTypeAndParentId(_activities.ACTIVITY_TYPES.REACTION_SELF, rootId);
2200
- var latestActivity = edit || rootActivity;
2201
- var finalActivity = _this._createParsedServerActivity(latestActivity, (0, _defineProperty2.default)({}, rootId, rootActivity));
2202
- var fullRoot = {
2203
- id: rootId,
2204
- activity: finalActivity,
2205
- reaction: reaction,
2206
- reactionSelf: reactionSelf
2207
- };
2208
- var sanitizedFullRoot = (0, _activities.sanitizeActivity)(fullRoot);
2209
- orderedActivities.push(sanitizedFullRoot);
2210
- replies.forEach(function (reply) {
2211
- return orderedActivities.push(reply);
2215
+ _context10.next = 5;
2216
+ return orderedActivities;
2217
+ case 5:
2218
+ nextOptions = _context10.sent;
2219
+ if (!nextOptions) {
2220
+ _context10.next = 6;
2221
+ break;
2222
+ }
2223
+ minActivities = nextOptions.minActivities || minActivities;
2224
+ currentOldestPublishedDate = (0, _activities.getPublishedDate)(getOldestAct());
2225
+ currentNewestPublishedDate = (0, _activities.getPublishedDate)(getNewestAct());
2226
+ queryType = nextOptions.queryType;
2227
+ query = (0, _activityThreadOrdering.getQuery)(queryType, {
2228
+ activityToSearch: search,
2229
+ oldestPublishedDate: currentOldestPublishedDate,
2230
+ newestPublishedDate: currentNewestPublishedDate,
2231
+ batchSize: batchSize
2212
2232
  });
2213
- });
2214
- _context12.next = 23;
2215
- return orderedActivities;
2216
- case 23:
2217
- nextOptions = _context12.sent;
2218
- if (!nextOptions) {
2219
- _context12.next = 32;
2233
+ _context10.next = 7;
2220
2234
  break;
2221
- }
2222
- minActivities = nextOptions.minActivities || minActivities;
2223
- currentOldestPublishedDate = (0, _activities.getPublishedDate)(getOldestAct());
2224
- currentNewestPublishedDate = (0, _activities.getPublishedDate)(getNewestAct());
2225
- queryType = nextOptions.queryType;
2226
- query = (0, _activityThreadOrdering.getQuery)(queryType, {
2227
- activityToSearch: search,
2228
- oldestPublishedDate: currentOldestPublishedDate,
2229
- newestPublishedDate: currentNewestPublishedDate,
2230
- batchSize: batchSize
2231
- });
2232
- _context12.next = 33;
2233
- break;
2234
- case 32:
2235
- return _context12.abrupt("return", {
2236
- v: void 0
2237
- });
2238
- case 33:
2239
- case "end":
2240
- return _context12.stop();
2241
- }
2242
- }, _loop);
2243
- });
2244
- case 9:
2245
- if (!true) {
2246
- _context13.next = 16;
2247
- break;
2248
- }
2249
- return _context13.delegateYield(_loop(), "t0", 11);
2250
- case 11:
2251
- _ret = _context13.t0;
2252
- if (!_ret) {
2253
- _context13.next = 14;
2235
+ case 6:
2236
+ return _context10.abrupt("return", {
2237
+ v: void 0
2238
+ });
2239
+ case 7:
2240
+ case "end":
2241
+ return _context10.stop();
2242
+ }
2243
+ }, _loop);
2244
+ });
2245
+ case 1:
2246
+ if (!true) {
2247
+ _context11.next = 4;
2248
+ break;
2249
+ }
2250
+ return _context11.delegateYield(_loop(), "t0", 2);
2251
+ case 2:
2252
+ _ret = _context11.t0;
2253
+ if (!_ret) {
2254
+ _context11.next = 3;
2255
+ break;
2256
+ }
2257
+ return _context11.abrupt("return", _ret.v);
2258
+ case 3:
2259
+ _context11.next = 1;
2254
2260
  break;
2255
- }
2256
- return _context13.abrupt("return", _ret.v);
2257
- case 14:
2258
- _context13.next = 9;
2259
- break;
2260
- case 16:
2261
- case "end":
2262
- return _context13.stop();
2263
- }
2264
- }, _callee11);
2265
- }))();
2261
+ case 4:
2262
+ case "end":
2263
+ return _context11.stop();
2264
+ }
2265
+ }, _callee1);
2266
+ })();
2267
+ }).apply(this, arguments);
2266
2268
  },
2267
2269
  /**
2268
2270
  * @typedef {object} EditActivity
@@ -2326,11 +2328,11 @@ var Conversation = _webexCore.WebexPlugin.extend({
2326
2328
  * @returns {Promise<Array<Conversation>>}
2327
2329
  */
2328
2330
  _list: function _list(options) {
2329
- var _this31 = this;
2330
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {
2331
+ var _this29 = this;
2332
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
2331
2333
  var res, list, limit, results, _iterator6, _step6, result, items;
2332
- return _regenerator.default.wrap(function _callee12$(_context14) {
2333
- while (1) switch (_context14.prev = _context14.next) {
2334
+ return _regenerator.default.wrap(function (_context12) {
2335
+ while (1) switch (_context12.prev = _context12.next) {
2334
2336
  case 0:
2335
2337
  options.qs = _objectSpread({
2336
2338
  personRefresh: true,
@@ -2338,10 +2340,10 @@ var Conversation = _webexCore.WebexPlugin.extend({
2338
2340
  activitiesLimit: 0,
2339
2341
  participantsLimit: 0
2340
2342
  }, options.qs);
2341
- _context14.next = 3;
2342
- return _this31.request(options);
2343
- case 3:
2344
- res = _context14.sent;
2343
+ _context12.next = 1;
2344
+ return _this29.request(options);
2345
+ case 1:
2346
+ res = _context12.sent;
2345
2347
  if (!res.body || !res.body.items || res.body.items.length === 0) {
2346
2348
  list = [];
2347
2349
  } else {
@@ -2354,7 +2356,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2354
2356
  // The user has more data in another cluster.
2355
2357
  // Follow the 'additionalUrls' for that data.
2356
2358
  if (!res.body.additionalUrls) {
2357
- _context14.next = 14;
2359
+ _context12.next = 3;
2358
2360
  break;
2359
2361
  }
2360
2362
  limit = 0; // If the user asked for a specific amount of data,
@@ -2370,10 +2372,10 @@ var Conversation = _webexCore.WebexPlugin.extend({
2370
2372
  // If the limit is 0 for some reason,
2371
2373
  // don't bother requesting from other clusters
2372
2374
  if (!(!options.limit || limit !== 0)) {
2373
- _context14.next = 14;
2375
+ _context12.next = 3;
2374
2376
  break;
2375
2377
  }
2376
- _context14.next = 11;
2378
+ _context12.next = 2;
2377
2379
  return _promise.default.all(res.body.additionalUrls.map(function (host) {
2378
2380
  var url = "".concat(host, "/").concat(options.resource);
2379
2381
  var newOptions = _objectSpread(_objectSpread({}, options), {}, {
@@ -2383,10 +2385,10 @@ var Conversation = _webexCore.WebexPlugin.extend({
2383
2385
  if (options.limit) {
2384
2386
  newOptions.qs[newOptions.limit.name] = limit;
2385
2387
  }
2386
- return _this31.request(newOptions);
2388
+ return _this29.request(newOptions);
2387
2389
  }));
2388
- case 11:
2389
- results = _context14.sent;
2390
+ case 2:
2391
+ results = _context12.sent;
2390
2392
  _iterator6 = _createForOfIteratorHelper(results);
2391
2393
  try {
2392
2394
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -2404,18 +2406,18 @@ var Conversation = _webexCore.WebexPlugin.extend({
2404
2406
  } finally {
2405
2407
  _iterator6.f();
2406
2408
  }
2407
- case 14:
2408
- _context14.next = 16;
2409
+ case 3:
2410
+ _context12.next = 4;
2409
2411
  return _promise.default.all(list.map(function (item) {
2410
- return _this31._recordUUIDs(item);
2412
+ return _this29._recordUUIDs(item);
2411
2413
  }));
2412
- case 16:
2413
- return _context14.abrupt("return", list);
2414
- case 17:
2414
+ case 4:
2415
+ return _context12.abrupt("return", list);
2416
+ case 5:
2415
2417
  case "end":
2416
- return _context14.stop();
2418
+ return _context12.stop();
2417
2419
  }
2418
- }, _callee12);
2420
+ }, _callee10);
2419
2421
  }))();
2420
2422
  },
2421
2423
  /**
@@ -2425,7 +2427,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2425
2427
  * @returns {Promise<Conversation>}
2426
2428
  */
2427
2429
  _maybeCreateOneOnOneThenPost: function _maybeCreateOneOnOneThenPost(params, options) {
2428
- var _this32 = this;
2430
+ var _this30 = this;
2429
2431
  return this.get((0, _lodash.defaults)({
2430
2432
  // the use of uniq in Conversation#create guarantees participant[1] will
2431
2433
  // always be the other user
@@ -2435,7 +2437,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2435
2437
  includeParticipants: true
2436
2438
  })).then(function (conversation) {
2437
2439
  if (params.comment || params.html) {
2438
- return _this32.post(conversation, {
2440
+ return _this30.post(conversation, {
2439
2441
  content: params.html,
2440
2442
  displayName: params.comment
2441
2443
  }).then(function (activity) {
@@ -2448,7 +2450,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2448
2450
  if (reason.statusCode !== 404) {
2449
2451
  return _promise.default.reject(reason);
2450
2452
  }
2451
- return _this32._createOneOnOne(params);
2453
+ return _this30._createOneOnOne(params);
2452
2454
  });
2453
2455
  },
2454
2456
  /**
@@ -2457,7 +2459,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2457
2459
  * @returns {Object}
2458
2460
  */
2459
2461
  _prepareConversationForCreation: function _prepareConversationForCreation(params) {
2460
- var _this33 = this;
2462
+ var _this31 = this;
2461
2463
  var payload = {
2462
2464
  activities: {
2463
2465
  items: [this.expand('create')]
@@ -2477,7 +2479,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2477
2479
  payload.tags = params.tags;
2478
2480
  }
2479
2481
  params.participants.forEach(function (participant) {
2480
- payload.activities.items.push(_this33.expand('add', {
2482
+ payload.activities.items.push(_this31.expand('add', {
2481
2483
  objectType: 'person',
2482
2484
  id: participant
2483
2485
  }));
@@ -2509,7 +2511,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2509
2511
  * @returns {Promise}
2510
2512
  */
2511
2513
  _recordUUIDs: function _recordUUIDs(conversation) {
2512
- var _this34 = this;
2514
+ var _this32 = this;
2513
2515
  if (!conversation.participants || !conversation.participants.items) {
2514
2516
  return _promise.default.resolve(conversation);
2515
2517
  }
@@ -2519,16 +2521,16 @@ var Conversation = _webexCore.WebexPlugin.extend({
2519
2521
  if (participant.type === 'ROOM' || participant.type === 'LYRA_SPACE') {
2520
2522
  return _promise.default.resolve();
2521
2523
  }
2522
- return _this34.webex.internal.user.recordUUID(participant).catch(function (err) {
2523
- return _this34.logger.warn('Could not record uuid', err);
2524
+ return _this32.webex.internal.user.recordUUID(participant).catch(function (err) {
2525
+ return _this32.logger.warn('Could not record uuid', err);
2524
2526
  });
2525
2527
  }));
2526
2528
  },
2527
- version: "3.10.0-next.1"
2529
+ version: "3.10.0-next.11"
2528
2530
  });
2529
2531
  ['favorite', 'hide', 'lock', 'mute', 'unfavorite', 'unhide', 'unlock', 'unmute'].forEach(function (verb) {
2530
2532
  Conversation.prototype[verb] = function submitSimpleActivity(conversation, activity) {
2531
- var _this35 = this;
2533
+ var _this33 = this;
2532
2534
  var convoWithUrl = this.prepareConversation(_objectSpread(_objectSpread({}, conversation), {}, {
2533
2535
  url: this.getConvoUrl(conversation)
2534
2536
  }));
@@ -2537,13 +2539,13 @@ var Conversation = _webexCore.WebexPlugin.extend({
2537
2539
  object: convoWithUrl,
2538
2540
  target: convoWithUrl
2539
2541
  }).then(function (a) {
2540
- return _this35.submit(a);
2542
+ return _this33.submit(a);
2541
2543
  });
2542
2544
  };
2543
2545
  });
2544
2546
  ['assignModerator', 'unassignModerator'].forEach(function (verb) {
2545
2547
  Conversation.prototype[verb] = function submitModerationChangeActivity(conversation, moderator, activity) {
2546
- var _this36 = this;
2548
+ var _this34 = this;
2547
2549
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
2548
2550
  url: this.getConvoUrl(conversation)
2549
2551
  });
@@ -2551,16 +2553,16 @@ var Conversation = _webexCore.WebexPlugin.extend({
2551
2553
  var _ref8 = (0, _slicedToArray2.default)(_ref7, 2),
2552
2554
  c = _ref8[0],
2553
2555
  userId = _ref8[1];
2554
- return _this36.prepare(activity, {
2556
+ return _this34.prepare(activity, {
2555
2557
  verb: verb,
2556
- target: _this36.prepareConversation(c),
2558
+ target: _this34.prepareConversation(c),
2557
2559
  object: {
2558
2560
  id: userId,
2559
2561
  objectType: 'person'
2560
2562
  }
2561
2563
  });
2562
2564
  }).then(function (a) {
2563
- return _this36.submit(a);
2565
+ return _this34.submit(a);
2564
2566
  });
2565
2567
  };
2566
2568
  });
@@ -2575,7 +2577,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2575
2577
  ['setSpaceProperty', 'unsetSpaceProperty'].forEach(function (fnName) {
2576
2578
  var verb = fnName.startsWith('set') ? 'set' : 'unset';
2577
2579
  Conversation.prototype[fnName] = function submitSpacePropertyActivity(conversation, tag, activity) {
2578
- var _this37 = this;
2580
+ var _this35 = this;
2579
2581
  if (!(0, _lodash.isString)(tag)) {
2580
2582
  return _promise.default.reject(new Error('`tag` must be a string'));
2581
2583
  }
@@ -2590,13 +2592,13 @@ var Conversation = _webexCore.WebexPlugin.extend({
2590
2592
  objectType: 'spaceProperty'
2591
2593
  }
2592
2594
  }).then(function (a) {
2593
- return _this37.submit(a);
2595
+ return _this35.submit(a);
2594
2596
  });
2595
2597
  };
2596
2598
  });
2597
2599
  ['tag', 'untag'].forEach(function (verb) {
2598
2600
  Conversation.prototype[verb] = function submitObjectActivity(conversation, object, activity) {
2599
- var _this38 = this;
2601
+ var _this36 = this;
2600
2602
  if (!(0, _lodash.isObject)(object)) {
2601
2603
  return _promise.default.reject(new Error('`object` must be an object'));
2602
2604
  }
@@ -2608,7 +2610,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2608
2610
  target: c,
2609
2611
  object: (0, _assign.default)(c, object)
2610
2612
  }).then(function (a) {
2611
- return _this38.submit(a);
2613
+ return _this36.submit(a);
2612
2614
  });
2613
2615
  };
2614
2616
  });