@webex/internal-plugin-ediscovery 3.10.0-next.2 → 3.10.0-next.4

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.
@@ -1 +1 @@
1
- {"version":3,"names":["ediscovery","defaultOptions","offset","size","timeoutMs","types"],"sources":["config.js"],"sourcesContent":["export default {\n ediscovery: {\n defaultOptions: {\n offset: 0,\n size: 100,\n timeoutMs: 30000,\n types: [],\n },\n },\n};\n"],"mappings":";;;;;;;iCAAe;EACbA,UAAU,EAAE;IACVC,cAAc,EAAE;MACdC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,GAAG;MACTC,SAAS,EAAE,KAAK;MAChBC,KAAK,EAAE;IACT;EACF;AACF,CAAC"}
1
+ {"version":3,"names":["ediscovery","defaultOptions","offset","size","timeoutMs","types"],"sources":["config.js"],"sourcesContent":["export default {\n ediscovery: {\n defaultOptions: {\n offset: 0,\n size: 100,\n timeoutMs: 30000,\n types: [],\n },\n },\n};\n"],"mappings":";;;;;;;iCAAe;EACbA,UAAU,EAAE;IACVC,cAAc,EAAE;MACdC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,GAAG;MACTC,SAAS,EAAE,KAAK;MAChBC,KAAK,EAAE;IACT;EACF;AACF,CAAC","ignoreList":[]}
@@ -9,35 +9,33 @@ _Object$defineProperty(exports, "__esModule", {
9
9
  exports.InvalidEmailAddressError = exports.EdiscoveryError = void 0;
10
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
11
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
13
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
14
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
15
15
  var _common = require("@webex/common");
16
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
17
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
17
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
18
18
  /**
19
19
  * General ediscovery error
20
20
  */
21
21
  var EdiscoveryError = exports.EdiscoveryError = /*#__PURE__*/function (_Exception) {
22
- (0, _inherits2.default)(EdiscoveryError, _Exception);
23
- var _super = _createSuper(EdiscoveryError);
24
22
  function EdiscoveryError() {
25
23
  (0, _classCallCheck2.default)(this, EdiscoveryError);
26
- return _super.apply(this, arguments);
24
+ return _callSuper(this, EdiscoveryError, arguments);
27
25
  }
26
+ (0, _inherits2.default)(EdiscoveryError, _Exception);
28
27
  return (0, _createClass2.default)(EdiscoveryError);
29
28
  }(_common.Exception);
30
29
  /**
31
30
  * InvalidEmailAddressError is thrown when an email address has been supplied as a parameter and cannot be found in CI
32
31
  */
33
32
  var InvalidEmailAddressError = exports.InvalidEmailAddressError = /*#__PURE__*/function (_EdiscoveryError) {
34
- (0, _inherits2.default)(InvalidEmailAddressError, _EdiscoveryError);
35
- var _super2 = _createSuper(InvalidEmailAddressError);
36
33
  function InvalidEmailAddressError() {
37
34
  (0, _classCallCheck2.default)(this, InvalidEmailAddressError);
38
- return _super2.apply(this, arguments);
35
+ return _callSuper(this, InvalidEmailAddressError, arguments);
39
36
  }
40
- (0, _createClass2.default)(InvalidEmailAddressError, null, [{
37
+ (0, _inherits2.default)(InvalidEmailAddressError, _EdiscoveryError);
38
+ return (0, _createClass2.default)(InvalidEmailAddressError, null, [{
41
39
  key: "getErrorCode",
42
40
  value:
43
41
  // This value correspondes to the ediscovery error code INVALID_USER_EMAILS_LIST_IN_MESSAGE
@@ -45,6 +43,5 @@ var InvalidEmailAddressError = exports.InvalidEmailAddressError = /*#__PURE__*/f
45
43
  return 14400001;
46
44
  }
47
45
  }]);
48
- return InvalidEmailAddressError;
49
46
  }(EdiscoveryError);
50
47
  //# sourceMappingURL=ediscovery-error.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","EdiscoveryError","exports","_Exception","_inherits2","_super","_classCallCheck2","_createClass2","Exception","InvalidEmailAddressError","_EdiscoveryError","_super2","key","value","getErrorCode"],"sources":["ediscovery-error.js"],"sourcesContent":["import {Exception} from '@webex/common';\n\n/**\n * General ediscovery error\n */\nexport class EdiscoveryError extends Exception {}\n\n/**\n * InvalidEmailAddressError is thrown when an email address has been supplied as a parameter and cannot be found in CI\n */\nexport class InvalidEmailAddressError extends EdiscoveryError {\n // This value correspondes to the ediscovery error code INVALID_USER_EMAILS_LIST_IN_MESSAGE\n static getErrorCode() {\n return 14400001;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAwC,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAExC;AACA;AACA;AAFA,IAGaC,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAAE,UAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,eAAA,EAAAE,UAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,eAAA;EAAA,SAAAA,gBAAA;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,eAAA;IAAA,OAAAI,MAAA,CAAAd,KAAA,OAAAD,SAAA;EAAA;EAAA,WAAAiB,aAAA,CAAAtB,OAAA,EAAAgB,eAAA;AAAA,EAASO,iBAAS;AAE9C;AACA;AACA;AAFA,IAGaC,wBAAwB,GAAAP,OAAA,CAAAO,wBAAA,0BAAAC,gBAAA;EAAA,IAAAN,UAAA,CAAAnB,OAAA,EAAAwB,wBAAA,EAAAC,gBAAA;EAAA,IAAAC,OAAA,GAAAjC,YAAA,CAAA+B,wBAAA;EAAA,SAAAA,yBAAA;IAAA,IAAAH,gBAAA,CAAArB,OAAA,QAAAwB,wBAAA;IAAA,OAAAE,OAAA,CAAApB,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAiB,aAAA,CAAAtB,OAAA,EAAAwB,wBAAA;IAAAG,GAAA;IAAAC,KAAA;IACnC;IACA,SAAAC,aAAA,EAAsB;MACpB,OAAO,QAAQ;IACjB;EAAC;EAAA,OAAAL,wBAAA;AAAA,EAJ2CR,eAAe"}
1
+ {"version":3,"names":["_common","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","EdiscoveryError","exports","_Exception","_classCallCheck2","arguments","_inherits2","_createClass2","Exception","InvalidEmailAddressError","_EdiscoveryError","key","value","getErrorCode"],"sources":["ediscovery-error.js"],"sourcesContent":["import {Exception} from '@webex/common';\n\n/**\n * General ediscovery error\n */\nexport class EdiscoveryError extends Exception {}\n\n/**\n * InvalidEmailAddressError is thrown when an email address has been supplied as a parameter and cannot be found in CI\n */\nexport class InvalidEmailAddressError extends EdiscoveryError {\n // This value correspondes to the ediscovery error code INVALID_USER_EMAILS_LIST_IN_MESSAGE\n static getErrorCode() {\n return 14400001;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAwC,SAAAC,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA;AAExC;AACA;AACA;AAFA,IAGac,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAAE,UAAA;EAAA,SAAAF,gBAAA;IAAA,IAAAG,gBAAA,CAAAb,OAAA,QAAAU,eAAA;IAAA,OAAAf,UAAA,OAAAe,eAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAAU,eAAA,EAAAE,UAAA;EAAA,WAAAI,aAAA,CAAAhB,OAAA,EAAAU,eAAA;AAAA,EAASO,iBAAS;AAE9C;AACA;AACA;AAFA,IAGaC,wBAAwB,GAAAP,OAAA,CAAAO,wBAAA,0BAAAC,gBAAA;EAAA,SAAAD,yBAAA;IAAA,IAAAL,gBAAA,CAAAb,OAAA,QAAAkB,wBAAA;IAAA,OAAAvB,UAAA,OAAAuB,wBAAA,EAAAJ,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAAkB,wBAAA,EAAAC,gBAAA;EAAA,WAAAH,aAAA,CAAAhB,OAAA,EAAAkB,wBAAA;IAAAE,GAAA;IAAAC,KAAA;IACnC;IACA,SAAOC,YAAYA,CAAA,EAAG;MACpB,OAAO,QAAQ;IACjB;EAAC;AAAA,EAJ2CZ,eAAe","ignoreList":[]}
@@ -27,14 +27,14 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime-
27
27
  var _webexCore = require("@webex/webex-core");
28
28
  var _common = require("@webex/common");
29
29
  var _ediscoveryError = require("./ediscovery-error");
30
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _obj;
30
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec0, _dec1, _dec10, _dec11, _obj;
31
31
  /* eslint-disable */
32
32
  /*!
33
33
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
34
34
  */
35
- 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; } } }; }
36
- 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); }
37
- 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; }
35
+ 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; } } }; }
36
+ 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; } }
37
+ 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; }
38
38
  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$getOwnPropertyDescriptor2(e, r).enumerable; })), t.push.apply(t, o); } return t; }
39
39
  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$getOwnPropertyDescriptor2(t, r)); }); } return e; }
40
40
  /**
@@ -72,11 +72,11 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
72
72
  keyFactory: function keyFactory(reportId, options) {
73
73
  return createOneFlightKey(reportId, options);
74
74
  }
75
- }), _dec10 = (0, _webexCore.waitForValue)('@'), _dec11 = (0, _common.oneFlight)({
75
+ }), _dec0 = (0, _webexCore.waitForValue)('@'), _dec1 = (0, _common.oneFlight)({
76
76
  keyFactory: function keyFactory(reportId, containerId) {
77
77
  return String(reportId + containerId);
78
78
  }
79
- }), _dec12 = (0, _webexCore.waitForValue)('@'), _dec13 = (0, _webexCore.waitForValue)('@'), (_obj = {
79
+ }), _dec10 = (0, _webexCore.waitForValue)('@'), _dec11 = (0, _webexCore.waitForValue)('@'), _obj = {
80
80
  namespace: 'EDiscovery',
81
81
  session: {
82
82
  contentContainerCache: {
@@ -95,22 +95,22 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
95
95
  */
96
96
  createReport: function createReport(reportRequest, options) {
97
97
  var _this = this;
98
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
99
- var body;
100
- return _regenerator.default.wrap(function _callee$(_context) {
98
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
99
+ var body, _t;
100
+ return _regenerator.default.wrap(function (_context) {
101
101
  while (1) switch (_context.prev = _context.next) {
102
102
  case 0:
103
103
  if (reportRequest) {
104
- _context.next = 2;
104
+ _context.next = 1;
105
105
  break;
106
106
  }
107
107
  throw Error('Undefined parameter');
108
- case 2:
108
+ case 1:
109
109
  // use spread operator to set default options
110
110
  options = _objectSpread(_objectSpread({}, _this.config.defaultOptions), options);
111
111
  body = reportRequest;
112
- _context.prev = 4;
113
- _context.next = 7;
112
+ _context.prev = 2;
113
+ _context.next = 3;
114
114
  return _this.request({
115
115
  method: 'POST',
116
116
  service: 'ediscovery',
@@ -118,17 +118,17 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
118
118
  timeout: options.timeoutMs,
119
119
  body: body
120
120
  });
121
- case 7:
121
+ case 3:
122
122
  return _context.abrupt("return", _context.sent);
123
- case 10:
124
- _context.prev = 10;
125
- _context.t0 = _context["catch"](4);
126
- return _context.abrupt("return", _this._handleReportRequestError(_context.t0));
127
- case 13:
123
+ case 4:
124
+ _context.prev = 4;
125
+ _t = _context["catch"](2);
126
+ return _context.abrupt("return", _this._handleReportRequestError(_t));
127
+ case 5:
128
128
  case "end":
129
129
  return _context.stop();
130
130
  }
131
- }, _callee, null, [[4, 10]]);
131
+ }, _callee, null, [[2, 4]]);
132
132
  }))();
133
133
  },
134
134
  /**
@@ -161,16 +161,16 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
161
161
  */
162
162
  getReport: function getReport(reportId, options) {
163
163
  var _this2 = this;
164
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
165
- return _regenerator.default.wrap(function _callee2$(_context2) {
164
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
165
+ return _regenerator.default.wrap(function (_context2) {
166
166
  while (1) switch (_context2.prev = _context2.next) {
167
167
  case 0:
168
168
  if (reportId) {
169
- _context2.next = 2;
169
+ _context2.next = 1;
170
170
  break;
171
171
  }
172
172
  throw Error('Undefined parameter');
173
- case 2:
173
+ case 1:
174
174
  // use spread operator to set default options
175
175
  options = _objectSpread(_objectSpread({}, _this2.config.defaultOptions), options);
176
176
  return _context2.abrupt("return", _this2.request({
@@ -179,7 +179,7 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
179
179
  resource: "reports/".concat(reportId),
180
180
  timeout: options.timeoutMs
181
181
  }));
182
- case 4:
182
+ case 2:
183
183
  case "end":
184
184
  return _context2.stop();
185
185
  }
@@ -196,8 +196,8 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
196
196
  */
197
197
  getReports: function getReports(options) {
198
198
  var _this3 = this;
199
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
200
- return _regenerator.default.wrap(function _callee3$(_context3) {
199
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
200
+ return _regenerator.default.wrap(function (_context3) {
201
201
  while (1) switch (_context3.prev = _context3.next) {
202
202
  case 0:
203
203
  // use spread operator to set default options
@@ -212,7 +212,7 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
212
212
  },
213
213
  timeout: options.timeoutMs
214
214
  }));
215
- case 2:
215
+ case 1:
216
216
  case "end":
217
217
  return _context3.stop();
218
218
  }
@@ -228,16 +228,16 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
228
228
  */
229
229
  deleteReport: function deleteReport(reportId, options) {
230
230
  var _this4 = this;
231
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
232
- return _regenerator.default.wrap(function _callee4$(_context4) {
231
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
232
+ return _regenerator.default.wrap(function (_context4) {
233
233
  while (1) switch (_context4.prev = _context4.next) {
234
234
  case 0:
235
235
  if (reportId) {
236
- _context4.next = 2;
236
+ _context4.next = 1;
237
237
  break;
238
238
  }
239
239
  throw Error('Undefined parameter');
240
- case 2:
240
+ case 1:
241
241
  // use spread operator to set default options
242
242
  options = _objectSpread(_objectSpread({}, _this4.config.defaultOptions), options);
243
243
  return _context4.abrupt("return", _this4.request({
@@ -246,7 +246,7 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
246
246
  resource: "reports/".concat(reportId),
247
247
  timeout: options.timeoutMs
248
248
  }));
249
- case 4:
249
+ case 2:
250
250
  case "end":
251
251
  return _context4.stop();
252
252
  }
@@ -262,16 +262,16 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
262
262
  */
263
263
  restartReport: function restartReport(reportId, options) {
264
264
  var _this5 = this;
265
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
266
- return _regenerator.default.wrap(function _callee5$(_context5) {
265
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
266
+ return _regenerator.default.wrap(function (_context5) {
267
267
  while (1) switch (_context5.prev = _context5.next) {
268
268
  case 0:
269
269
  if (reportId) {
270
- _context5.next = 2;
270
+ _context5.next = 1;
271
271
  break;
272
272
  }
273
273
  throw Error('Undefined parameter');
274
- case 2:
274
+ case 1:
275
275
  // use spread operator to set default options
276
276
  options = _objectSpread(_objectSpread({}, _this5.config.defaultOptions), options);
277
277
  return _context5.abrupt("return", _this5.request({
@@ -280,7 +280,7 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
280
280
  resource: "reports/".concat(reportId),
281
281
  timeout: options.timeoutMs
282
282
  }));
283
- case 4:
283
+ case 2:
284
284
  case "end":
285
285
  return _context5.stop();
286
286
  }
@@ -298,17 +298,17 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
298
298
  */
299
299
  getContent: function getContent(reportId, options) {
300
300
  var _this6 = this;
301
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
301
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
302
302
  var _this6$_createRequest, _this6$_createRequest2, requestOptions;
303
- return _regenerator.default.wrap(function _callee6$(_context6) {
303
+ return _regenerator.default.wrap(function (_context6) {
304
304
  while (1) switch (_context6.prev = _context6.next) {
305
305
  case 0:
306
306
  if (reportId) {
307
- _context6.next = 2;
307
+ _context6.next = 1;
308
308
  break;
309
309
  }
310
310
  throw Error('Undefined parameter');
311
- case 2:
311
+ case 1:
312
312
  // use spread operator to set default options
313
313
  options = _objectSpread(_objectSpread({}, _this6.config.defaultOptions), options);
314
314
  _this6$_createRequest = _this6._createRequestOptions(reportId, '/contents'), _this6$_createRequest2 = (0, _slicedToArray2.default)(_this6$_createRequest, 1), requestOptions = _this6$_createRequest2[0];
@@ -321,7 +321,7 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
321
321
  },
322
322
  timeout: options.timeoutMs
323
323
  })));
324
- case 5:
324
+ case 2:
325
325
  case "end":
326
326
  return _context6.stop();
327
327
  }
@@ -340,21 +340,21 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
340
340
  */
341
341
  getContentContainer: function getContentContainer(reportId, options) {
342
342
  var _this7 = this;
343
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
343
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
344
344
  var _this7$_createRequest, _this7$_createRequest2, requestOptions, reportUUID, res;
345
- return _regenerator.default.wrap(function _callee7$(_context7) {
345
+ return _regenerator.default.wrap(function (_context7) {
346
346
  while (1) switch (_context7.prev = _context7.next) {
347
347
  case 0:
348
348
  if (reportId) {
349
- _context7.next = 2;
349
+ _context7.next = 1;
350
350
  break;
351
351
  }
352
352
  throw Error('Undefined parameter');
353
- case 2:
353
+ case 1:
354
354
  // use spread operator to set default options
355
355
  options = _objectSpread(_objectSpread({}, _this7.config.defaultOptions), options);
356
356
  _this7$_createRequest = _this7._createRequestOptions(reportId, '/contents/container'), _this7$_createRequest2 = (0, _slicedToArray2.default)(_this7$_createRequest, 2), requestOptions = _this7$_createRequest2[0], reportUUID = _this7$_createRequest2[1];
357
- _context7.next = 6;
357
+ _context7.next = 2;
358
358
  return _this7.request(_objectSpread(_objectSpread({
359
359
  method: 'GET'
360
360
  }, requestOptions), {}, {
@@ -365,13 +365,13 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
365
365
  timeout: options.timeoutMs,
366
366
  types: options.types
367
367
  }));
368
- case 6:
368
+ case 2:
369
369
  res = _context7.sent;
370
- _context7.next = 9;
370
+ _context7.next = 3;
371
371
  return _this7._writeToContentContainerCache(reportUUID, res.body);
372
- case 9:
372
+ case 3:
373
373
  return _context7.abrupt("return", res);
374
- case 10:
374
+ case 4:
375
375
  case "end":
376
376
  return _context7.stop();
377
377
  }
@@ -388,31 +388,31 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
388
388
  */
389
389
  getContentContainerByContainerId: function getContentContainerByContainerId(reportId, containerId, options) {
390
390
  var _this8 = this;
391
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
391
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
392
392
  var _this8$_createRequest, _this8$_createRequest2, requestOptions, reportUUID, res;
393
- return _regenerator.default.wrap(function _callee8$(_context8) {
393
+ return _regenerator.default.wrap(function (_context8) {
394
394
  while (1) switch (_context8.prev = _context8.next) {
395
395
  case 0:
396
396
  if (!(!reportId || !containerId)) {
397
- _context8.next = 2;
397
+ _context8.next = 1;
398
398
  break;
399
399
  }
400
400
  throw Error('Undefined parameter');
401
- case 2:
401
+ case 1:
402
402
  // use spread operator to set default options
403
403
  options = _objectSpread(_objectSpread({}, _this8.config.defaultOptions), options);
404
404
  _this8$_createRequest = _this8._createRequestOptions(reportId, "/contents/container/".concat(containerId)), _this8$_createRequest2 = (0, _slicedToArray2.default)(_this8$_createRequest, 2), requestOptions = _this8$_createRequest2[0], reportUUID = _this8$_createRequest2[1]; // If this content container has already been cached then it can be retrieved from there instead of making a network call to ediscovery
405
405
  if (!(_this8.contentContainerCache.has(reportUUID) && _this8.contentContainerCache.get(reportUUID).has(containerId))) {
406
- _context8.next = 6;
406
+ _context8.next = 2;
407
407
  break;
408
408
  }
409
409
  return _context8.abrupt("return", {
410
410
  body: _this8.contentContainerCache.get(reportUUID).get(containerId),
411
411
  statusCode: 200
412
412
  });
413
- case 6:
413
+ case 2:
414
414
  _this8.logger.warn("Cache miss for container ".concat(containerId, " in contentContainerCache"));
415
- _context8.next = 9;
415
+ _context8.next = 3;
416
416
  return _this8.request(_objectSpread(_objectSpread({
417
417
  method: 'GET'
418
418
  }, requestOptions), {}, {
@@ -422,13 +422,13 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
422
422
  },
423
423
  timeout: options.timeoutMs
424
424
  }));
425
- case 9:
425
+ case 3:
426
426
  res = _context8.sent;
427
- _context8.next = 12;
427
+ _context8.next = 4;
428
428
  return _this8._writeToContentContainerCache(reportUUID, [res.body]);
429
- case 12:
429
+ case 4:
430
430
  return _context8.abrupt("return", res);
431
- case 13:
431
+ case 5:
432
432
  case "end":
433
433
  return _context8.stop();
434
434
  }
@@ -539,8 +539,8 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
539
539
  */
540
540
  getClientConfig: function getClientConfig(options) {
541
541
  var _this9 = this;
542
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
543
- return _regenerator.default.wrap(function _callee9$(_context9) {
542
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
543
+ return _regenerator.default.wrap(function (_context9) {
544
544
  while (1) switch (_context9.prev = _context9.next) {
545
545
  case 0:
546
546
  // use spread operator to set default options
@@ -551,7 +551,7 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
551
551
  resource: 'reports/clientconfig',
552
552
  timeout: options.timeoutMs
553
553
  }));
554
- case 2:
554
+ case 1:
555
555
  case "end":
556
556
  return _context9.stop();
557
557
  }
@@ -567,33 +567,33 @@ var EDiscovery = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForVal
567
567
  * @returns {Promise<Config>} Http response containing the config object
568
568
  */
569
569
  postAuditLog: function postAuditLog(reportId, options) {
570
- var _this10 = this;
571
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
572
- return _regenerator.default.wrap(function _callee10$(_context10) {
573
- while (1) switch (_context10.prev = _context10.next) {
570
+ var _this0 = this;
571
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
572
+ return _regenerator.default.wrap(function (_context0) {
573
+ while (1) switch (_context0.prev = _context0.next) {
574
574
  case 0:
575
575
  if (reportId) {
576
- _context10.next = 2;
576
+ _context0.next = 1;
577
577
  break;
578
578
  }
579
579
  throw Error('No report ID specified');
580
- case 2:
580
+ case 1:
581
581
  // use spread operator to set default options
582
- options = _objectSpread(_objectSpread({}, _this10.config.defaultOptions), options);
583
- return _context10.abrupt("return", _this10.request({
582
+ options = _objectSpread(_objectSpread({}, _this0.config.defaultOptions), options);
583
+ return _context0.abrupt("return", _this0.request({
584
584
  method: 'POST',
585
585
  service: 'ediscovery',
586
586
  resource: "reports/".concat(reportId, "/audit/summary-download"),
587
587
  timeout: options.timeoutMs
588
588
  }));
589
- case 4:
589
+ case 2:
590
590
  case "end":
591
- return _context10.stop();
591
+ return _context0.stop();
592
592
  }
593
- }, _callee10);
593
+ }, _callee0);
594
594
  }))();
595
595
  },
596
- version: "3.10.0-next.2"
597
- }, ((0, _applyDecoratedDescriptor2.default)(_obj, "createReport", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "createReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getReport", [_dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "getReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getReports", [_dec3], (0, _getOwnPropertyDescriptor.default)(_obj, "getReports"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "deleteReport", [_dec4], (0, _getOwnPropertyDescriptor.default)(_obj, "deleteReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "restartReport", [_dec5], (0, _getOwnPropertyDescriptor.default)(_obj, "restartReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getContent", [_dec6, _dec7], (0, _getOwnPropertyDescriptor.default)(_obj, "getContent"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getContentContainer", [_dec8, _dec9], (0, _getOwnPropertyDescriptor.default)(_obj, "getContentContainer"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getContentContainerByContainerId", [_dec10, _dec11], (0, _getOwnPropertyDescriptor.default)(_obj, "getContentContainerByContainerId"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getClientConfig", [_dec12], (0, _getOwnPropertyDescriptor.default)(_obj, "getClientConfig"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "postAuditLog", [_dec13], (0, _getOwnPropertyDescriptor.default)(_obj, "postAuditLog"), _obj)), _obj)));
596
+ version: "3.10.0-next.4"
597
+ }, (0, _applyDecoratedDescriptor2.default)(_obj, "createReport", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "createReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getReport", [_dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "getReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getReports", [_dec3], (0, _getOwnPropertyDescriptor.default)(_obj, "getReports"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "deleteReport", [_dec4], (0, _getOwnPropertyDescriptor.default)(_obj, "deleteReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "restartReport", [_dec5], (0, _getOwnPropertyDescriptor.default)(_obj, "restartReport"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getContent", [_dec6, _dec7], (0, _getOwnPropertyDescriptor.default)(_obj, "getContent"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getContentContainer", [_dec8, _dec9], (0, _getOwnPropertyDescriptor.default)(_obj, "getContentContainer"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getContentContainerByContainerId", [_dec0, _dec1], (0, _getOwnPropertyDescriptor.default)(_obj, "getContentContainerByContainerId"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getClientConfig", [_dec10], (0, _getOwnPropertyDescriptor.default)(_obj, "getClientConfig"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "postAuditLog", [_dec11], (0, _getOwnPropertyDescriptor.default)(_obj, "postAuditLog"), _obj), _obj));
598
598
  var _default2 = exports.default = EDiscovery;
599
599
  //# sourceMappingURL=ediscovery.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_common","_ediscoveryError","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_obj","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray2","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","r","t","_Object$keys","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor2","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","createOneFlightKey","reportId","options","key","String","offset","size","types","EDiscovery","WebexPlugin","extend","waitForValue","oneFlight","keyFactory","containerId","namespace","session","contentContainerCache","type","_default","_map","createReport","reportRequest","_this","_asyncToGenerator2","_regenerator","mark","_callee","body","wrap","_callee$","_context","prev","Error","config","defaultOptions","request","method","service","resource","timeout","timeoutMs","abrupt","sent","t0","_handleReportRequestError","stop","reason","errorCode","InvalidEmailAddressError","getErrorCode","invalidEmails","JSON","parse","message","_isArray","invalidEmailAddressError","_promise","reject","logger","warn","error","getReport","_this2","_callee2","_callee2$","_context2","concat","getReports","_this3","_callee3","_callee3$","_context3","qs","deleteReport","_this4","_callee4","_callee4$","_context4","restartReport","_this5","_callee5","_callee5$","_context5","getContent","_this6","_callee6","_this6$_createRequest","_this6$_createRequest2","requestOptions","_callee6$","_context6","_createRequestOptions","_slicedToArray2","getContentContainer","_this7","_callee7","_this7$_createRequest","_this7$_createRequest2","reportUUID","res","_callee7$","_context7","_writeToContentContainerCache","getContentContainerByContainerId","_this8","_callee8","_this8$_createRequest","_this8$_createRequest2","_callee8$","_context8","has","get","statusCode","containers","set","_iterator","_step","container","clearCache","clear","_getReportIdFromUrl","reportUrl","uuids","match","_isUrl","string","isUrl","substring","lastIndexOf","url","getClientConfig","_this9","_callee9","_callee9$","_context9","postAuditLog","_this10","_callee10","_callee10$","_context10","version","_applyDecoratedDescriptor2","_getOwnPropertyDescriptor","_default2","exports"],"sources":["ediscovery.js"],"sourcesContent":["/* eslint-disable */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {waitForValue, WebexPlugin} from '@webex/webex-core';\nimport {oneFlight} from '@webex/common';\n\nimport {InvalidEmailAddressError} from './ediscovery-error';\n\n/**\n * Creates a unique oneflight key for a request from the reportId and options params\n * It is important that the offset params are included if present to ensure paged requests get back the correct data\n * @param {Object} reportId - A set of criteria for determining the focus of the search\n * @param {Object} options - optional parameters for this method\n * @returns {String} oneFlight key which is a composite of the request parameters\n */\nfunction createOneFlightKey(reportId, options) {\n let key = String(reportId);\n\n if (options) {\n if (options.offset) {\n key += String(options.offset);\n }\n if (options.size) {\n key += String(options.size);\n }\n if (options.types) {\n key += String(options.types);\n }\n }\n\n return key;\n}\n\n/**\n * @class EDiscovery is used by compliance officers to run compliance reports\n *\n */\nconst EDiscovery = WebexPlugin.extend({\n namespace: 'EDiscovery',\n\n session: {\n contentContainerCache: {\n type: 'object',\n default() {\n return new Map();\n }\n }\n },\n\n @waitForValue('@')\n /**\n * Creates a compliance report with a specific set of search parameters\n * @param {Object} reportRequest - A set of criteria for determining the focus of the search\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity>} Http response containing the new report record\n */\n async createReport(reportRequest, options) {\n if (!reportRequest) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const body = reportRequest;\n\n try {\n return await this.request({\n method: 'POST',\n service: 'ediscovery',\n resource: 'reports',\n timeout: options.timeoutMs,\n body\n });\n }\n catch (reason) {\n return this._handleReportRequestError(reason);\n }\n },\n\n /**\n * Checks the error from createReport and ensures the appropriate error is sent to the client\n * @param {Error} reason - Error response thrown by the request to createReport\n * @returns {Promise<Error>} Promise rejection containing the error\n */\n _handleReportRequestError(reason) {\n if (reason.body.errorCode === InvalidEmailAddressError.getErrorCode()) {\n try {\n const invalidEmails = JSON.parse(reason.body.message);\n\n if (Array.isArray(invalidEmails) && invalidEmails.length) {\n const invalidEmailAddressError = new InvalidEmailAddressError(invalidEmails);\n\n return Promise.reject(invalidEmailAddressError);\n }\n\n this.logger.warn('InvalidEmailAddress error received but the list could not be parsed to the correct format.');\n }\n catch (error) {\n // assume syntax error and continue\n this.logger.error('InvalidEmailAddress error received but an error occured while parsing the emails.');\n }\n }\n\n return Promise.reject(reason);\n },\n\n @waitForValue('@')\n /**\n * Retrieves information relating to a specified report\n * @param {UUID} reportId - Id of the report being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<ReportRecord>>} Http response containing the specified report record\n */\n async getReport(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'GET',\n service: 'ediscovery',\n resource: `reports/${reportId}`,\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Retrieves all the compliance officers reports\n * @param {Object} options - optional parameters for this method\n * @param {number} options.offset - start position from which to retrieve records\n * @param {number} options.size - the number of records to retrieve\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<Array<ReportRecord>>>} Http Response containing a list of report records\n */\n async getReports(options) {\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'GET',\n service: 'ediscovery',\n resource: 'reports',\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Deletes a specified report\n * @param {UUID} reportId - Id of the report being requested for deletion\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity>} HttpResponse indicating if delete was successful\n */\n async deleteReport(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'DELETE',\n service: 'ediscovery',\n resource: `reports/${reportId}`,\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Restarts a completed or cancelled report so that it begins again from scratch\n * @param {UUID} reportId - Id of the report being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<ReportRecord>>} Http response containing the report record\n */\n async restartReport(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'PUT',\n service: 'ediscovery',\n resource: `reports/${reportId}`,\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n @oneFlight({keyFactory: (reportId, options) => createOneFlightKey(reportId, options)})\n /**\n * Retrieves content associated with a report\n * @param {UUID|string} reportId - UUID or url of the report which contains the content\n * @param {Object} options - optional parameters for this method\n * @param {number} options.offset - start position from which to retrieve records\n * @param {number} options.size - the number of records to retrieve\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<[Activity]>>} Http response containing the activities\n */\n async getContent(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const [requestOptions] = this._createRequestOptions(reportId, '/contents');\n\n return this.request({\n method: 'GET',\n ...requestOptions,\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n @oneFlight({keyFactory: (reportId, options) => createOneFlightKey(reportId, options)})\n /**\n * Retrieves a list of content containers relevant to a specified report\n * @param {UUID|string} reportId - UUID or url of the report being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.offset - start position from which to retrieve records\n * @param {number} options.size - the number of records to retrieve\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @param {Set<Object>} options.types - Set of ContentContainerTypes to be retrieved\n * @returns {Promise<ResponseEntity<ContentContainer>>} Http response containing the content containers\n */\n async getContentContainer(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const [requestOptions, reportUUID] = this._createRequestOptions(reportId, '/contents/container');\n\n const res = await this.request({\n method: 'GET',\n ...requestOptions,\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs,\n types: options.types\n });\n\n await this._writeToContentContainerCache(reportUUID, res.body);\n\n return res;\n },\n\n @waitForValue('@')\n @oneFlight({keyFactory: (reportId, containerId) => String(reportId + containerId)})\n /**\n * Retrieves information for a specific content container relevant to a specified report\n * @param {UUID|string} reportId - UUID or url of the report being requested\n * @param {UUID} containerId - Id of the contenyt container being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<ContentContainer>>} Http response containing the specified content container\n */\n async getContentContainerByContainerId(reportId, containerId, options) {\n if (!reportId || !containerId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const [requestOptions, reportUUID] = this._createRequestOptions(reportId, `/contents/container/${containerId}`);\n\n // If this content container has already been cached then it can be retrieved from there instead of making a network call to ediscovery\n if (this.contentContainerCache.has(reportUUID) && this.contentContainerCache.get(reportUUID).has(containerId)) {\n return {body: this.contentContainerCache.get(reportUUID).get(containerId), statusCode: 200};\n }\n\n this.logger.warn(`Cache miss for container ${containerId} in contentContainerCache`);\n\n const res = await this.request({\n method: 'GET',\n ...requestOptions,\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs\n });\n\n await this._writeToContentContainerCache(reportUUID, [res.body]);\n\n return res;\n },\n\n /**\n * The results of a getContentContainer or getContentContainerByContainerId request are written to the contentContainerCache\n * since information for a container is likely to be accessed very frequently when decrypting activities\n * @param {UUID} reportId - Id of the report which contains the relevant content summary\n * @param {Array<Object>} containers - List of the container objects to be written to the cache\n * @returns {Promise} - Promise resolution indicating operation is complete\n */\n _writeToContentContainerCache(reportId, containers) {\n if (!reportId || !containers || !containers.length) {\n return;\n }\n\n if (!this.contentContainerCache.has(reportId)) {\n this.contentContainerCache.set(reportId, new Map());\n }\n\n for (const container of containers) {\n if (container && container.containerId) {\n try {\n this.contentContainerCache.get(reportId).set(container.containerId, container);\n }\n catch (error) {\n this.logger.error(`Error adding ${container.containerId} to contentContainerCache: ${error}`);\n }\n }\n else {\n this.logger.error('Error adding undefined container to contentContainerCache');\n }\n }\n },\n\n /**\n * Wipe the cache used by eDiscovery to store the space summaries and content containers.\n * Good practice to clear it down when finished with a report to save RAM.\n * @returns {undefined}\n */\n clearCache() {\n this.contentContainerCache.clear();\n },\n\n /**\n * Retrieves a uuid string from a report url\n * @param {String} reportUrl - full destination address (including report id parameter) for the http request being sent\n * e.g. 'http://ediscovery-intb.wbx2.com/ediscovery/api/v1/reports/3b10e625-2bd5-4efa-b866-58d6c93c505c'\n * @returns {String} - uuid of the report\n */\n _getReportIdFromUrl(reportUrl) {\n if (reportUrl) {\n const uuids = reportUrl.match(/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/);\n\n if (uuids && uuids.length > 0) {\n return uuids[0];\n }\n }\n\n return '';\n },\n\n _isUrl(string) {\n // Regex found from `https://ihateregex.io/expr/url`\n return /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&\\/\\/=]*)/g.test(string);\n },\n\n /**\n * Create the appropriate request options based on whether the reportId is a url or a uuid.\n * @param {UUID|string} reportId - May be either a url for the report or a uuid.\n * e.g. 'http://ediscovery-intb.wbx2.com/ediscovery/api/v1/reports/3b10e625-2bd5-4efa-b866-58d6c93c505c' or '3b10e625-2bd5-4efa-b866-58d6c93c505c'.\n * @param {String} resource - The resource on the remote server to request\n * @returns {[Options, uuid]} - The options to pass to `request` and the report uuid.\n */\n _createRequestOptions(reportId, resource) {\n let requestOptions;\n let reportUUID;\n const isUrl = this._isUrl(reportId);\n\n if (isUrl) {\n reportUUID = this._getReportIdFromUrl(reportId);\n\n if (!reportUUID) {\n throw Error('Report url does not contain a report id');\n }\n\n // Ensure the url is formatted to\n // https://ediscovery.intb1.ciscospark.com/ediscovery/api/v1/reports/16bf0d01-b1f7-483b-89a2-915144158fb9\n // index.js for example passes the url in as\n // https://ediscovery.intb1.ciscospark.com/ediscovery/api/v1/reports/16bf0d01-b1f7-483b-89a2-915144158fb9/contents\n const reportUrl = reportId.substring(0, reportId.lastIndexOf(reportUUID) + reportUUID.length);\n\n requestOptions = {\n url: reportUrl + resource\n };\n }\n else {\n requestOptions = {\n service: 'ediscovery',\n resource: `reports/${reportId}/${resource}`\n };\n reportUUID = reportId;\n }\n\n return [requestOptions, reportUUID];\n },\n\n @waitForValue('@')\n /**\n * Retrieves a config object from the service which can be used by the client for optimal performance, e.g. content page size\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<Config>} Http response containing the config object\n */\n async getClientConfig(options) {\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'GET',\n service: 'ediscovery',\n resource: 'reports/clientconfig',\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Submits an audit event to the eDiscovery service for admin use. Only expected to be used for\n * the getContentContainer API\n * @param {UUID} reportId - Id of the report to send an audit log for\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<Config>} Http response containing the config object\n */\n async postAuditLog(reportId, options) {\n if (!reportId) {\n throw Error('No report ID specified');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'POST',\n service: 'ediscovery',\n resource: `reports/${reportId}/audit/summary-download`,\n timeout: options.timeoutMs\n });\n }\n\n});\n\nexport default EDiscovery;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_webexCore","require","_common","_ediscoveryError","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec0","_dec1","_dec10","_dec11","_obj","_createForOfIteratorHelper","r","e","t","_Symbol","_Symbol$iterator","_Array$isArray2","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","_Array$from","test","Array","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor2","enumerable","push","apply","_objectSpread","arguments","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","createOneFlightKey","reportId","options","key","String","offset","size","types","EDiscovery","WebexPlugin","extend","waitForValue","oneFlight","keyFactory","containerId","namespace","session","contentContainerCache","type","_map","createReport","reportRequest","_this","_asyncToGenerator2","_regenerator","mark","_callee","body","_t","wrap","_context","prev","Error","config","defaultOptions","request","method","service","resource","timeout","timeoutMs","abrupt","sent","_handleReportRequestError","stop","reason","errorCode","InvalidEmailAddressError","getErrorCode","invalidEmails","JSON","parse","message","_isArray","invalidEmailAddressError","_promise","reject","logger","warn","error","getReport","_this2","_callee2","_context2","concat","getReports","_this3","_callee3","_context3","qs","deleteReport","_this4","_callee4","_context4","restartReport","_this5","_callee5","_context5","getContent","_this6","_callee6","_this6$_createRequest","_this6$_createRequest2","requestOptions","_context6","_createRequestOptions","_slicedToArray2","getContentContainer","_this7","_callee7","_this7$_createRequest","_this7$_createRequest2","reportUUID","res","_context7","_writeToContentContainerCache","getContentContainerByContainerId","_this8","_callee8","_this8$_createRequest","_this8$_createRequest2","_context8","has","get","statusCode","containers","set","_iterator","_step","container","err","clearCache","clear","_getReportIdFromUrl","reportUrl","uuids","match","_isUrl","string","isUrl","substring","lastIndexOf","url","getClientConfig","_this9","_callee9","_context9","postAuditLog","_this0","_callee0","_context0","version","_applyDecoratedDescriptor2","_getOwnPropertyDescriptor","_default2","exports"],"sources":["ediscovery.js"],"sourcesContent":["/* eslint-disable */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {waitForValue, WebexPlugin} from '@webex/webex-core';\nimport {oneFlight} from '@webex/common';\n\nimport {InvalidEmailAddressError} from './ediscovery-error';\n\n/**\n * Creates a unique oneflight key for a request from the reportId and options params\n * It is important that the offset params are included if present to ensure paged requests get back the correct data\n * @param {Object} reportId - A set of criteria for determining the focus of the search\n * @param {Object} options - optional parameters for this method\n * @returns {String} oneFlight key which is a composite of the request parameters\n */\nfunction createOneFlightKey(reportId, options) {\n let key = String(reportId);\n\n if (options) {\n if (options.offset) {\n key += String(options.offset);\n }\n if (options.size) {\n key += String(options.size);\n }\n if (options.types) {\n key += String(options.types);\n }\n }\n\n return key;\n}\n\n/**\n * @class EDiscovery is used by compliance officers to run compliance reports\n *\n */\nconst EDiscovery = WebexPlugin.extend({\n namespace: 'EDiscovery',\n\n session: {\n contentContainerCache: {\n type: 'object',\n default() {\n return new Map();\n }\n }\n },\n\n @waitForValue('@')\n /**\n * Creates a compliance report with a specific set of search parameters\n * @param {Object} reportRequest - A set of criteria for determining the focus of the search\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity>} Http response containing the new report record\n */\n async createReport(reportRequest, options) {\n if (!reportRequest) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const body = reportRequest;\n\n try {\n return await this.request({\n method: 'POST',\n service: 'ediscovery',\n resource: 'reports',\n timeout: options.timeoutMs,\n body\n });\n }\n catch (reason) {\n return this._handleReportRequestError(reason);\n }\n },\n\n /**\n * Checks the error from createReport and ensures the appropriate error is sent to the client\n * @param {Error} reason - Error response thrown by the request to createReport\n * @returns {Promise<Error>} Promise rejection containing the error\n */\n _handleReportRequestError(reason) {\n if (reason.body.errorCode === InvalidEmailAddressError.getErrorCode()) {\n try {\n const invalidEmails = JSON.parse(reason.body.message);\n\n if (Array.isArray(invalidEmails) && invalidEmails.length) {\n const invalidEmailAddressError = new InvalidEmailAddressError(invalidEmails);\n\n return Promise.reject(invalidEmailAddressError);\n }\n\n this.logger.warn('InvalidEmailAddress error received but the list could not be parsed to the correct format.');\n }\n catch (error) {\n // assume syntax error and continue\n this.logger.error('InvalidEmailAddress error received but an error occured while parsing the emails.');\n }\n }\n\n return Promise.reject(reason);\n },\n\n @waitForValue('@')\n /**\n * Retrieves information relating to a specified report\n * @param {UUID} reportId - Id of the report being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<ReportRecord>>} Http response containing the specified report record\n */\n async getReport(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'GET',\n service: 'ediscovery',\n resource: `reports/${reportId}`,\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Retrieves all the compliance officers reports\n * @param {Object} options - optional parameters for this method\n * @param {number} options.offset - start position from which to retrieve records\n * @param {number} options.size - the number of records to retrieve\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<Array<ReportRecord>>>} Http Response containing a list of report records\n */\n async getReports(options) {\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'GET',\n service: 'ediscovery',\n resource: 'reports',\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Deletes a specified report\n * @param {UUID} reportId - Id of the report being requested for deletion\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity>} HttpResponse indicating if delete was successful\n */\n async deleteReport(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'DELETE',\n service: 'ediscovery',\n resource: `reports/${reportId}`,\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Restarts a completed or cancelled report so that it begins again from scratch\n * @param {UUID} reportId - Id of the report being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<ReportRecord>>} Http response containing the report record\n */\n async restartReport(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'PUT',\n service: 'ediscovery',\n resource: `reports/${reportId}`,\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n @oneFlight({keyFactory: (reportId, options) => createOneFlightKey(reportId, options)})\n /**\n * Retrieves content associated with a report\n * @param {UUID|string} reportId - UUID or url of the report which contains the content\n * @param {Object} options - optional parameters for this method\n * @param {number} options.offset - start position from which to retrieve records\n * @param {number} options.size - the number of records to retrieve\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<[Activity]>>} Http response containing the activities\n */\n async getContent(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const [requestOptions] = this._createRequestOptions(reportId, '/contents');\n\n return this.request({\n method: 'GET',\n ...requestOptions,\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n @oneFlight({keyFactory: (reportId, options) => createOneFlightKey(reportId, options)})\n /**\n * Retrieves a list of content containers relevant to a specified report\n * @param {UUID|string} reportId - UUID or url of the report being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.offset - start position from which to retrieve records\n * @param {number} options.size - the number of records to retrieve\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @param {Set<Object>} options.types - Set of ContentContainerTypes to be retrieved\n * @returns {Promise<ResponseEntity<ContentContainer>>} Http response containing the content containers\n */\n async getContentContainer(reportId, options) {\n if (!reportId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const [requestOptions, reportUUID] = this._createRequestOptions(reportId, '/contents/container');\n\n const res = await this.request({\n method: 'GET',\n ...requestOptions,\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs,\n types: options.types\n });\n\n await this._writeToContentContainerCache(reportUUID, res.body);\n\n return res;\n },\n\n @waitForValue('@')\n @oneFlight({keyFactory: (reportId, containerId) => String(reportId + containerId)})\n /**\n * Retrieves information for a specific content container relevant to a specified report\n * @param {UUID|string} reportId - UUID or url of the report being requested\n * @param {UUID} containerId - Id of the contenyt container being requested\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<ResponseEntity<ContentContainer>>} Http response containing the specified content container\n */\n async getContentContainerByContainerId(reportId, containerId, options) {\n if (!reportId || !containerId) {\n throw Error('Undefined parameter');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n const [requestOptions, reportUUID] = this._createRequestOptions(reportId, `/contents/container/${containerId}`);\n\n // If this content container has already been cached then it can be retrieved from there instead of making a network call to ediscovery\n if (this.contentContainerCache.has(reportUUID) && this.contentContainerCache.get(reportUUID).has(containerId)) {\n return {body: this.contentContainerCache.get(reportUUID).get(containerId), statusCode: 200};\n }\n\n this.logger.warn(`Cache miss for container ${containerId} in contentContainerCache`);\n\n const res = await this.request({\n method: 'GET',\n ...requestOptions,\n qs: {offset: options.offset, size: options.size},\n timeout: options.timeoutMs\n });\n\n await this._writeToContentContainerCache(reportUUID, [res.body]);\n\n return res;\n },\n\n /**\n * The results of a getContentContainer or getContentContainerByContainerId request are written to the contentContainerCache\n * since information for a container is likely to be accessed very frequently when decrypting activities\n * @param {UUID} reportId - Id of the report which contains the relevant content summary\n * @param {Array<Object>} containers - List of the container objects to be written to the cache\n * @returns {Promise} - Promise resolution indicating operation is complete\n */\n _writeToContentContainerCache(reportId, containers) {\n if (!reportId || !containers || !containers.length) {\n return;\n }\n\n if (!this.contentContainerCache.has(reportId)) {\n this.contentContainerCache.set(reportId, new Map());\n }\n\n for (const container of containers) {\n if (container && container.containerId) {\n try {\n this.contentContainerCache.get(reportId).set(container.containerId, container);\n }\n catch (error) {\n this.logger.error(`Error adding ${container.containerId} to contentContainerCache: ${error}`);\n }\n }\n else {\n this.logger.error('Error adding undefined container to contentContainerCache');\n }\n }\n },\n\n /**\n * Wipe the cache used by eDiscovery to store the space summaries and content containers.\n * Good practice to clear it down when finished with a report to save RAM.\n * @returns {undefined}\n */\n clearCache() {\n this.contentContainerCache.clear();\n },\n\n /**\n * Retrieves a uuid string from a report url\n * @param {String} reportUrl - full destination address (including report id parameter) for the http request being sent\n * e.g. 'http://ediscovery-intb.wbx2.com/ediscovery/api/v1/reports/3b10e625-2bd5-4efa-b866-58d6c93c505c'\n * @returns {String} - uuid of the report\n */\n _getReportIdFromUrl(reportUrl) {\n if (reportUrl) {\n const uuids = reportUrl.match(/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/);\n\n if (uuids && uuids.length > 0) {\n return uuids[0];\n }\n }\n\n return '';\n },\n\n _isUrl(string) {\n // Regex found from `https://ihateregex.io/expr/url`\n return /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&\\/\\/=]*)/g.test(string);\n },\n\n /**\n * Create the appropriate request options based on whether the reportId is a url or a uuid.\n * @param {UUID|string} reportId - May be either a url for the report or a uuid.\n * e.g. 'http://ediscovery-intb.wbx2.com/ediscovery/api/v1/reports/3b10e625-2bd5-4efa-b866-58d6c93c505c' or '3b10e625-2bd5-4efa-b866-58d6c93c505c'.\n * @param {String} resource - The resource on the remote server to request\n * @returns {[Options, uuid]} - The options to pass to `request` and the report uuid.\n */\n _createRequestOptions(reportId, resource) {\n let requestOptions;\n let reportUUID;\n const isUrl = this._isUrl(reportId);\n\n if (isUrl) {\n reportUUID = this._getReportIdFromUrl(reportId);\n\n if (!reportUUID) {\n throw Error('Report url does not contain a report id');\n }\n\n // Ensure the url is formatted to\n // https://ediscovery.intb1.ciscospark.com/ediscovery/api/v1/reports/16bf0d01-b1f7-483b-89a2-915144158fb9\n // index.js for example passes the url in as\n // https://ediscovery.intb1.ciscospark.com/ediscovery/api/v1/reports/16bf0d01-b1f7-483b-89a2-915144158fb9/contents\n const reportUrl = reportId.substring(0, reportId.lastIndexOf(reportUUID) + reportUUID.length);\n\n requestOptions = {\n url: reportUrl + resource\n };\n }\n else {\n requestOptions = {\n service: 'ediscovery',\n resource: `reports/${reportId}/${resource}`\n };\n reportUUID = reportId;\n }\n\n return [requestOptions, reportUUID];\n },\n\n @waitForValue('@')\n /**\n * Retrieves a config object from the service which can be used by the client for optimal performance, e.g. content page size\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<Config>} Http response containing the config object\n */\n async getClientConfig(options) {\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'GET',\n service: 'ediscovery',\n resource: 'reports/clientconfig',\n timeout: options.timeoutMs\n });\n },\n\n @waitForValue('@')\n /**\n * Submits an audit event to the eDiscovery service for admin use. Only expected to be used for\n * the getContentContainer API\n * @param {UUID} reportId - Id of the report to send an audit log for\n * @param {Object} options - optional parameters for this method\n * @param {number} options.timeoutMs - connection timeout in milliseconds, defaults to 30s\n * @returns {Promise<Config>} Http response containing the config object\n */\n async postAuditLog(reportId, options) {\n if (!reportId) {\n throw Error('No report ID specified');\n }\n\n // use spread operator to set default options\n options = {...this.config.defaultOptions, ...options};\n\n return this.request({\n method: 'POST',\n service: 'ediscovery',\n resource: `reports/${reportId}/audit/summary-download`,\n timeout: options.timeoutMs\n });\n }\n\n});\n\nexport default EDiscovery;\n"],"mappings":"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","ignoreList":[]}
package/dist/index.js CHANGED
@@ -43,8 +43,7 @@ var _transforms = _interopRequireDefault(require("./transforms"));
43
43
  var _config = _interopRequireWildcard(require("./config"));
44
44
  var _reportRequest = _interopRequireDefault(require("./report-request"));
45
45
  var _ediscoveryError = require("./ediscovery-error");
46
- function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
47
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
46
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
48
47
  /*!
49
48
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
50
49
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["require","_webexCore","_lodash","_ediscovery","_interopRequireDefault","_transforms","_config","_interopRequireWildcard","_reportRequest","_ediscoveryError","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","registerInternalPlugin","EDiscovery","config","payloadTransformer","predicates","name","direction","test","ctx","object","_promise","resolve","extract","transforms","fn","Transforms","decryptReportRequest","body","all","map","item","transform","encryptReportRequest","reportId","decryptReportContent","options","uri","decryptReportContentContainer","_default","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n/* eslint-disable */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-conversation';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport EDiscovery from './ediscovery';\nimport Transforms from './transforms';\nimport config from './config';\n\nregisterInternalPlugin('ediscovery', EDiscovery, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'decryptReportRequest',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body.reportRequest'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportRequestArray',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body[0].reportRequest'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'encryptReportRequest',\n direction: 'outbound',\n test(ctx, object) {\n return Promise.resolve(\n has(object, 'body.keywords') ||\n has(object, 'body.spaceNames') ||\n has(object, 'body.emails')\n );\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContent',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body.activityId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContentArray',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body[0].activityId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContentContainer',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body.containerId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContentContainerArray',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body[0].containerId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n ],\n transforms: [\n {\n name: 'decryptReportRequest',\n direction: 'inbound',\n fn(ctx, object) {\n return Transforms.decryptReportRequest(ctx, object);\n },\n },\n {\n name: 'decryptReportRequestArray',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n\n return Promise.all(\n object.body.map((item) => ctx.transform('decryptReportRequest', {body: item}))\n );\n },\n },\n {\n name: 'encryptReportRequest',\n direction: 'outbound',\n fn(ctx, object) {\n return Transforms.encryptReportRequest(ctx, object);\n },\n },\n {\n name: 'decryptReportContent',\n direction: 'inbound',\n fn(ctx, object, reportId) {\n return Transforms.decryptReportContent(ctx, object, reportId);\n },\n },\n {\n name: 'decryptReportContentArray',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n\n // Always use the report url as this'll resolve correctly for remote reports\n return Promise.all(\n object.body.map((item) =>\n ctx.transform('decryptReportContent', {body: item}, object.options.uri)\n )\n );\n },\n },\n {\n name: 'decryptReportContentContainer',\n direction: 'inbound',\n fn(ctx, object) {\n return Transforms.decryptReportContentContainer(ctx, object);\n },\n },\n {\n name: 'decryptReportContentContainerArray',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n\n return Promise.all(\n object.body.map((item) => ctx.transform('decryptReportContentContainer', {body: item}))\n );\n },\n },\n ],\n },\n});\n\nexport default EDiscovery;\n\n// eslint-disable-next-line import/named\nexport {config} from './config';\nexport {default as ReportRequest} from './report-request';\nexport {EdiscoveryError, InvalidEmailAddressError} from './ediscovery-error';\n"],"mappings":"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"}
1
+ {"version":3,"names":["require","_webexCore","_lodash","_ediscovery","_interopRequireDefault","_transforms","_config","_interopRequireWildcard","_reportRequest","_ediscoveryError","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","registerInternalPlugin","EDiscovery","config","payloadTransformer","predicates","name","direction","test","ctx","object","_promise","resolve","extract","transforms","fn","Transforms","decryptReportRequest","body","all","map","item","transform","encryptReportRequest","reportId","decryptReportContent","options","uri","decryptReportContentContainer","_default","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n/* eslint-disable */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-conversation';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport EDiscovery from './ediscovery';\nimport Transforms from './transforms';\nimport config from './config';\n\nregisterInternalPlugin('ediscovery', EDiscovery, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'decryptReportRequest',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body.reportRequest'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportRequestArray',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body[0].reportRequest'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'encryptReportRequest',\n direction: 'outbound',\n test(ctx, object) {\n return Promise.resolve(\n has(object, 'body.keywords') ||\n has(object, 'body.spaceNames') ||\n has(object, 'body.emails')\n );\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContent',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body.activityId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContentArray',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body[0].activityId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContentContainer',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body.containerId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n {\n name: 'decryptReportContentContainerArray',\n direction: 'inbound',\n test(ctx, object) {\n return Promise.resolve(has(object, 'body[0].containerId'));\n },\n extract(object) {\n return Promise.resolve(object);\n },\n },\n ],\n transforms: [\n {\n name: 'decryptReportRequest',\n direction: 'inbound',\n fn(ctx, object) {\n return Transforms.decryptReportRequest(ctx, object);\n },\n },\n {\n name: 'decryptReportRequestArray',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n\n return Promise.all(\n object.body.map((item) => ctx.transform('decryptReportRequest', {body: item}))\n );\n },\n },\n {\n name: 'encryptReportRequest',\n direction: 'outbound',\n fn(ctx, object) {\n return Transforms.encryptReportRequest(ctx, object);\n },\n },\n {\n name: 'decryptReportContent',\n direction: 'inbound',\n fn(ctx, object, reportId) {\n return Transforms.decryptReportContent(ctx, object, reportId);\n },\n },\n {\n name: 'decryptReportContentArray',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n\n // Always use the report url as this'll resolve correctly for remote reports\n return Promise.all(\n object.body.map((item) =>\n ctx.transform('decryptReportContent', {body: item}, object.options.uri)\n )\n );\n },\n },\n {\n name: 'decryptReportContentContainer',\n direction: 'inbound',\n fn(ctx, object) {\n return Transforms.decryptReportContentContainer(ctx, object);\n },\n },\n {\n name: 'decryptReportContentContainerArray',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n\n return Promise.all(\n object.body.map((item) => ctx.transform('decryptReportContentContainer', {body: item}))\n );\n },\n },\n ],\n },\n});\n\nexport default EDiscovery;\n\n// eslint-disable-next-line import/named\nexport {config} from './config';\nexport {default as ReportRequest} from './report-request';\nexport {EdiscoveryError, InvalidEmailAddressError} from './ediscovery-error';\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ReportRequest","_createClass2","default","name","arguments","length","undefined","description","emails","userIds","keywords","encryptionKeyUrl","spaceNames","range","startTime","endTime","_classCallCheck2","_default","exports"],"sources":["report-request.js"],"sourcesContent":["/**\n * Creates a report request object with a specific set of search parameters\n * @param {String} name - A label to identify the report\n * @param {String} description - A textual summary of the reports purpose\n * @param {Array<String>} emails - A list of user emails relevant to the report\n * @param {Array<String>} userIds - A list of UUIDs relevant to the report\n * @param {Array<String>} keywords - A list of search terms relevant to the report\n * @param {Array<String>} spaceNames - A list of space names relevant to the report\n * @param {Object} range - Contains the start time and end time defining the search period\n * @returns {Object} ReportRequest - Contains all search parameters\n */\nclass ReportRequest {\n constructor(\n name = '',\n description = '',\n emails = [],\n userIds = [],\n keywords = [],\n encryptionKeyUrl = '',\n spaceNames = [],\n range = {startTime: '2020-01-01T00:00:00', endTime: '2020-01-01T23:59:59'}\n ) {\n this.name = name;\n this.description = description;\n this.emails = emails;\n this.userIds = userIds;\n this.keywords = keywords;\n this.encryptionKeyUrl = encryptionKeyUrl;\n this.spaceNames = spaceNames;\n this.range = range;\n }\n}\n\nexport default ReportRequest;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAWMA,aAAa,oBAAAC,aAAA,CAAAC,OAAA,EACjB,SAAAF,cAAA,EASE;EAAA,IARAG,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACTG,WAAW,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAChBI,MAAM,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACXK,OAAO,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACZM,QAAQ,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACbO,gBAAgB,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACrBQ,UAAU,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACfS,KAAK,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IAACU,SAAS,EAAE,qBAAqB;IAAEC,OAAO,EAAE;EAAqB,CAAC;EAAA,IAAAC,gBAAA,CAAAd,OAAA,QAAAF,aAAA;EAE1E,IAAI,CAACG,IAAI,GAAGA,IAAI;EAChB,IAAI,CAACI,WAAW,GAAGA,WAAW;EAC9B,IAAI,CAACC,MAAM,GAAGA,MAAM;EACpB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EACxB,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB;EACxC,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC5B,IAAI,CAACC,KAAK,GAAGA,KAAK;AACpB,CAAC;AAAA,IAAAI,QAAA,GAAAC,OAAA,CAAAhB,OAAA,GAGYF,aAAa"}
1
+ {"version":3,"names":["ReportRequest","_createClass2","default","name","arguments","length","undefined","description","emails","userIds","keywords","encryptionKeyUrl","spaceNames","range","startTime","endTime","_classCallCheck2","_default","exports"],"sources":["report-request.js"],"sourcesContent":["/**\n * Creates a report request object with a specific set of search parameters\n * @param {String} name - A label to identify the report\n * @param {String} description - A textual summary of the reports purpose\n * @param {Array<String>} emails - A list of user emails relevant to the report\n * @param {Array<String>} userIds - A list of UUIDs relevant to the report\n * @param {Array<String>} keywords - A list of search terms relevant to the report\n * @param {Array<String>} spaceNames - A list of space names relevant to the report\n * @param {Object} range - Contains the start time and end time defining the search period\n * @returns {Object} ReportRequest - Contains all search parameters\n */\nclass ReportRequest {\n constructor(\n name = '',\n description = '',\n emails = [],\n userIds = [],\n keywords = [],\n encryptionKeyUrl = '',\n spaceNames = [],\n range = {startTime: '2020-01-01T00:00:00', endTime: '2020-01-01T23:59:59'}\n ) {\n this.name = name;\n this.description = description;\n this.emails = emails;\n this.userIds = userIds;\n this.keywords = keywords;\n this.encryptionKeyUrl = encryptionKeyUrl;\n this.spaceNames = spaceNames;\n this.range = range;\n }\n}\n\nexport default ReportRequest;\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAWMA,aAAa,oBAAAC,aAAA,CAAAC,OAAA,EACjB,SAAAF,cAAA,EASE;EAAA,IARAG,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACTG,WAAW,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAChBI,MAAM,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACXK,OAAO,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACZM,QAAQ,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACbO,gBAAgB,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACrBQ,UAAU,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACfS,KAAK,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IAACU,SAAS,EAAE,qBAAqB;IAAEC,OAAO,EAAE;EAAqB,CAAC;EAAA,IAAAC,gBAAA,CAAAd,OAAA,QAAAF,aAAA;EAE1E,IAAI,CAACG,IAAI,GAAGA,IAAI;EAChB,IAAI,CAACI,WAAW,GAAGA,WAAW;EAC9B,IAAI,CAACC,MAAM,GAAGA,MAAM;EACpB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EACxB,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB;EACxC,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC5B,IAAI,CAACC,KAAK,GAAGA,KAAK;AACpB,CAAC;AAAA,IAAAI,QAAA,GAAAC,OAAA,CAAAhB,OAAA,GAGYF,aAAa","ignoreList":[]}
package/dist/retry.js CHANGED
@@ -9,20 +9,20 @@ function requestWithRetries(_x, _x2, _x3) {
9
9
  return _requestWithRetries.apply(this, arguments);
10
10
  }
11
11
  function _requestWithRetries() {
12
- _requestWithRetries = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(ctx, func, args) {
12
+ _requestWithRetries = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(ctx, func, args) {
13
13
  var retryCount,
14
14
  retryIntervalInSeconds,
15
15
  maxRetries,
16
16
  _args = arguments;
17
- return _regenerator.default.wrap(function _callee$(_context) {
17
+ return _regenerator.default.wrap(function (_context) {
18
18
  while (1) switch (_context.prev = _context.next) {
19
19
  case 0:
20
20
  retryCount = _args.length > 3 && _args[3] !== undefined ? _args[3] : 0;
21
21
  retryIntervalInSeconds = _args.length > 4 && _args[4] !== undefined ? _args[4] : 0;
22
22
  maxRetries = _args.length > 5 && _args[5] !== undefined ? _args[5] : 3;
23
- _context.next = 5;
23
+ _context.next = 1;
24
24
  return timeout(retryIntervalInSeconds);
25
- case 5:
25
+ case 1:
26
26
  return _context.abrupt("return", func.apply(ctx, args).catch(function (reason) {
27
27
  if (retryErrors.includes(reason.statusCode) && retryCount < maxRetries) {
28
28
  retryCount += 1;
@@ -37,7 +37,7 @@ function _requestWithRetries() {
37
37
  }
38
38
  return _promise.default.reject(reason);
39
39
  }));
40
- case 6:
40
+ case 2:
41
41
  case "end":
42
42
  return _context.stop();
43
43
  }
package/dist/retry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["retryErrors","requestWithRetries","_x","_x2","_x3","_requestWithRetries","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","ctx","func","args","retryCount","retryIntervalInSeconds","maxRetries","_args","wrap","_callee$","_context","prev","next","length","undefined","timeout","abrupt","catch","reason","includes","statusCode","Math","pow","headers","console","error","concat","_promise","reject","stop","sec","resolve","setTimeout","module","exports"],"sources":["retry.js"],"sourcesContent":["const retryErrors = [429, 502, 503, 504];\n\nasync function requestWithRetries(\n ctx,\n func,\n args,\n retryCount = 0,\n retryIntervalInSeconds = 0,\n maxRetries = 3\n) {\n await timeout(retryIntervalInSeconds);\n\n return func.apply(ctx, args).catch((reason) => {\n if (retryErrors.includes(reason.statusCode) && retryCount < maxRetries) {\n retryCount += 1;\n // eslint-disable-next-line no-shadow\n let retryIntervalInSeconds = (retryCount + 1) ** 2; // 4, 9 and 16 second delays as default\n\n if (reason.headers && reason.headers['retry-after']) {\n retryIntervalInSeconds = reason.headers['retry-after'];\n }\n console.error(\n `Request #${retryCount} error: ${reason.statusCode}. Attempting retry #${retryCount} in ${retryIntervalInSeconds} seconds`\n );\n\n return requestWithRetries(ctx, func, args, retryCount, retryIntervalInSeconds, maxRetries);\n }\n\n return Promise.reject(reason);\n });\n}\n\nfunction timeout(sec) {\n // return immediately if timeout is zero or undefined\n if (!sec) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => setTimeout(resolve, sec * 1000));\n}\n\nmodule.exports.requestWithRetries = requestWithRetries;\nmodule.exports.timeout = timeout;\n"],"mappings":";;;;;;AAAA,IAAMA,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAC,SAE1BC,kBAAkBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,mBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,oBAAA;EAAAA,mBAAA,OAAAG,kBAAA,CAAAC,OAAA,gBAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAjC,SAAAC,QACEC,GAAG,EACHC,IAAI,EACJC,IAAI;IAAA,IAAAC,UAAA;MAAAC,sBAAA;MAAAC,UAAA;MAAAC,KAAA,GAAAZ,SAAA;IAAA,OAAAG,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACJR,UAAU,GAAAG,KAAA,CAAAM,MAAA,QAAAN,KAAA,QAAAO,SAAA,GAAAP,KAAA,MAAG,CAAC;UACdF,sBAAsB,GAAAE,KAAA,CAAAM,MAAA,QAAAN,KAAA,QAAAO,SAAA,GAAAP,KAAA,MAAG,CAAC;UAC1BD,UAAU,GAAAC,KAAA,CAAAM,MAAA,QAAAN,KAAA,QAAAO,SAAA,GAAAP,KAAA,MAAG,CAAC;UAAAG,QAAA,CAAAE,IAAA;UAAA,OAERG,OAAO,CAACV,sBAAsB,CAAC;QAAA;UAAA,OAAAK,QAAA,CAAAM,MAAA,WAE9Bd,IAAI,CAACR,KAAK,CAACO,GAAG,EAAEE,IAAI,CAAC,CAACc,KAAK,CAAC,UAACC,MAAM,EAAK;YAC7C,IAAI9B,WAAW,CAAC+B,QAAQ,CAACD,MAAM,CAACE,UAAU,CAAC,IAAIhB,UAAU,GAAGE,UAAU,EAAE;cACtEF,UAAU,IAAI,CAAC;cACf;cACA,IAAIC,uBAAsB,GAAAgB,IAAA,CAAAC,GAAA,CAAIlB,UAAU,GAAG,CAAC,EAAK,CAAC,EAAC,CAAC;;cAEpD,IAAIc,MAAM,CAACK,OAAO,IAAIL,MAAM,CAACK,OAAO,CAAC,aAAa,CAAC,EAAE;gBACnDlB,uBAAsB,GAAGa,MAAM,CAACK,OAAO,CAAC,aAAa,CAAC;cACxD;cACAC,OAAO,CAACC,KAAK,aAAAC,MAAA,CACCtB,UAAU,cAAAsB,MAAA,CAAWR,MAAM,CAACE,UAAU,0BAAAM,MAAA,CAAuBtB,UAAU,UAAAsB,MAAA,CAAOrB,uBAAsB,aAClH,CAAC;cAED,OAAOhB,kBAAkB,CAACY,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,uBAAsB,EAAEC,UAAU,CAAC;YAC5F;YAEA,OAAOqB,QAAA,CAAA9B,OAAA,CAAQ+B,MAAM,CAACV,MAAM,CAAC;UAC/B,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAR,QAAA,CAAAmB,IAAA;MAAA;IAAA,GAAA7B,OAAA;EAAA,CACH;EAAA,OAAAP,mBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,SAASoB,OAAOA,CAACe,GAAG,EAAE;EACpB;EACA,IAAI,CAACA,GAAG,EAAE;IACR,OAAOH,QAAA,CAAA9B,OAAA,CAAQkC,OAAO,CAAC,CAAC;EAC1B;EAEA,OAAO,IAAAJ,QAAA,CAAA9B,OAAA,CAAY,UAACkC,OAAO;IAAA,OAAKC,UAAU,CAACD,OAAO,EAAED,GAAG,GAAG,IAAI,CAAC;EAAA,EAAC;AAClE;AAEAG,MAAM,CAACC,OAAO,CAAC7C,kBAAkB,GAAGA,kBAAkB;AACtD4C,MAAM,CAACC,OAAO,CAACnB,OAAO,GAAGA,OAAO"}
1
+ {"version":3,"names":["retryErrors","requestWithRetries","_x","_x2","_x3","_requestWithRetries","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","ctx","func","args","retryCount","retryIntervalInSeconds","maxRetries","_args","wrap","_context","prev","next","length","undefined","timeout","abrupt","catch","reason","includes","statusCode","Math","pow","headers","console","error","concat","_promise","reject","stop","sec","resolve","setTimeout","module","exports"],"sources":["retry.js"],"sourcesContent":["const retryErrors = [429, 502, 503, 504];\n\nasync function requestWithRetries(\n ctx,\n func,\n args,\n retryCount = 0,\n retryIntervalInSeconds = 0,\n maxRetries = 3\n) {\n await timeout(retryIntervalInSeconds);\n\n return func.apply(ctx, args).catch((reason) => {\n if (retryErrors.includes(reason.statusCode) && retryCount < maxRetries) {\n retryCount += 1;\n // eslint-disable-next-line no-shadow\n let retryIntervalInSeconds = (retryCount + 1) ** 2; // 4, 9 and 16 second delays as default\n\n if (reason.headers && reason.headers['retry-after']) {\n retryIntervalInSeconds = reason.headers['retry-after'];\n }\n console.error(\n `Request #${retryCount} error: ${reason.statusCode}. Attempting retry #${retryCount} in ${retryIntervalInSeconds} seconds`\n );\n\n return requestWithRetries(ctx, func, args, retryCount, retryIntervalInSeconds, maxRetries);\n }\n\n return Promise.reject(reason);\n });\n}\n\nfunction timeout(sec) {\n // return immediately if timeout is zero or undefined\n if (!sec) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => setTimeout(resolve, sec * 1000));\n}\n\nmodule.exports.requestWithRetries = requestWithRetries;\nmodule.exports.timeout = timeout;\n"],"mappings":";;;;;;AAAA,IAAMA,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAC,SAE1BC,kBAAkBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,mBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,oBAAA;EAAAA,mBAAA,OAAAG,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAjC,SAAAC,QACEC,GAAG,EACHC,IAAI,EACJC,IAAI;IAAA,IAAAC,UAAA;MAAAC,sBAAA;MAAAC,UAAA;MAAAC,KAAA,GAAAZ,SAAA;IAAA,OAAAG,YAAA,CAAAD,OAAA,CAAAW,IAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACJP,UAAU,GAAAG,KAAA,CAAAK,MAAA,QAAAL,KAAA,QAAAM,SAAA,GAAAN,KAAA,MAAG,CAAC;UACdF,sBAAsB,GAAAE,KAAA,CAAAK,MAAA,QAAAL,KAAA,QAAAM,SAAA,GAAAN,KAAA,MAAG,CAAC;UAC1BD,UAAU,GAAAC,KAAA,CAAAK,MAAA,QAAAL,KAAA,QAAAM,SAAA,GAAAN,KAAA,MAAG,CAAC;UAAAE,QAAA,CAAAE,IAAA;UAAA,OAERG,OAAO,CAACT,sBAAsB,CAAC;QAAA;UAAA,OAAAI,QAAA,CAAAM,MAAA,WAE9Bb,IAAI,CAACR,KAAK,CAACO,GAAG,EAAEE,IAAI,CAAC,CAACa,KAAK,CAAC,UAACC,MAAM,EAAK;YAC7C,IAAI7B,WAAW,CAAC8B,QAAQ,CAACD,MAAM,CAACE,UAAU,CAAC,IAAIf,UAAU,GAAGE,UAAU,EAAE;cACtEF,UAAU,IAAI,CAAC;cACf;cACA,IAAIC,uBAAsB,GAAAe,IAAA,CAAAC,GAAA,CAAIjB,UAAU,GAAG,CAAC,EAAK,CAAC,EAAC,CAAC;;cAEpD,IAAIa,MAAM,CAACK,OAAO,IAAIL,MAAM,CAACK,OAAO,CAAC,aAAa,CAAC,EAAE;gBACnDjB,uBAAsB,GAAGY,MAAM,CAACK,OAAO,CAAC,aAAa,CAAC;cACxD;cACAC,OAAO,CAACC,KAAK,aAAAC,MAAA,CACCrB,UAAU,cAAAqB,MAAA,CAAWR,MAAM,CAACE,UAAU,0BAAAM,MAAA,CAAuBrB,UAAU,UAAAqB,MAAA,CAAOpB,uBAAsB,aAClH,CAAC;cAED,OAAOhB,kBAAkB,CAACY,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,uBAAsB,EAAEC,UAAU,CAAC;YAC5F;YAEA,OAAOoB,QAAA,CAAA7B,OAAA,CAAQ8B,MAAM,CAACV,MAAM,CAAC;UAC/B,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAR,QAAA,CAAAmB,IAAA;MAAA;IAAA,GAAA5B,OAAA;EAAA,CACH;EAAA,OAAAP,mBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,SAASmB,OAAOA,CAACe,GAAG,EAAE;EACpB;EACA,IAAI,CAACA,GAAG,EAAE;IACR,OAAOH,QAAA,CAAA7B,OAAA,CAAQiC,OAAO,CAAC,CAAC;EAC1B;EAEA,OAAO,IAAAJ,QAAA,CAAA7B,OAAA,CAAY,UAACiC,OAAO;IAAA,OAAKC,UAAU,CAACD,OAAO,EAAED,GAAG,GAAG,IAAI,CAAC;EAAA,EAAC;AAClE;AAEAG,MAAM,CAACC,OAAO,CAAC5C,kBAAkB,GAAGA,kBAAkB;AACtD2C,MAAM,CAACC,OAAO,CAACnB,OAAO,GAAGA,OAAO","ignoreList":[]}
@@ -19,7 +19,7 @@ var Transforms = /*#__PURE__*/function () {
19
19
  function Transforms() {
20
20
  (0, _classCallCheck2.default)(this, Transforms);
21
21
  }
22
- (0, _createClass2.default)(Transforms, null, [{
22
+ return (0, _createClass2.default)(Transforms, null, [{
23
23
  key: "encryptReportRequest",
24
24
  value:
25
25
  /**
@@ -494,7 +494,6 @@ var Transforms = /*#__PURE__*/function () {
494
494
  // don't return, attempt to decrypt the name first
495
495
  });
496
496
  }
497
-
498
497
  return (0, _retry.requestWithRetries)(ctx.webex.internal.encryption, ctx.webex.internal.encryption.decryptText, [container.encryptionKeyUrl, container.containerName, {
499
498
  onBehalfOf: container.onBehalfOfUser
500
499
  }]).then(function (decryptedContainerName) {
@@ -507,7 +506,6 @@ var Transforms = /*#__PURE__*/function () {
507
506
  });
508
507
  }
509
508
  }]);
510
- return Transforms;
511
509
  }();
512
510
  var _default = exports.default = Transforms;
513
511
  //# sourceMappingURL=transforms.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_retry","require","Transforms","_classCallCheck2","default","_createClass2","key","value","encryptReportRequest","ctx","object","body","_promise","resolve","reportRequest","webex","internal","encryption","kms","createUnboundKeys","count","then","keys","length","encryptionKeyUrl","uri","createResource","userIds","userId","promises","name","push","encryptText","encryptedName","description","encryptedDescription","spaceNames","all","map","spaceName","encryptedSpaceNames","keywords","keyword","encryptedKeywords","emails","unencryptedEmails","email","encryptedEmails","catch","reason","logger","error","concat","reject","decryptReportRequest","reportNamePromise","decryptText","decryptedName","id","reportDescriptionPromise","decryptedDescription","spaceNamePromises","decryptedSpaceNames","keywordPromises","decryptedKeywords","emailPromises","decryptedEmails","decryptReportContent","reportId","activity","ediscovery","getContentContainerByContainerId","targetId","res","_activity$spaceInfo","_activity$spaceInfo2","_activity$spaceInfo3","_activity$spaceInfo4","_activity$spaceInfo5","_activity$meeting","_activity$recording","container","activityId","warning","spaceWarning","containerWarning","containerName","isOneOnOne","displayNames","participants","formerParticipants","p","displayName","join","includes","verb","meeting","recording","extension","extensionType","spaceInfo","encryptedTextKeyValues","info","undefined","onBehalfOfUser","objectDisplayName","requestWithRetries","onBehalfOf","decryptedMessage","previousName","previousEncryptionKeyUrl","objectType","contentUrl","decryptedContentUrl","decryptedDisplayName","webUrl","decryptedWebUrl","previous","decryptedPreviousContentUrl","decryptedPreviousDisplayName","_loop","_Object$entries$_i","_slicedToArray2","_Object$entries","_i","_entries","title","topic","shares","Array","prototype","apply","files","whiteboards","links","_loop2","share","i","warn","mimeType","fileSize","url","microsoftSharedLinkInfo","driveId","decryptedDriveId","itemId","decryptedItemId","scr","sslr","decryptScr","decryptedSCR","loc","decryptReportContentContainer","containerType","containerId","descriptionEncryptionKeyUrl","decryptedContainerDescription","decryptedContainerName","_default","exports"],"sources":["transforms.js"],"sourcesContent":["import {requestWithRetries} from './retry';\n\n/**\n * This class is used to encrypt/decrypt various properties on ReportRequests, Activities and Spaces as they are sent/returned to/from the eDiscovery Service\n */\nclass Transforms {\n /**\n * This function is used to encrypt sensitive properties on the ReportRequest before it is sent to the eDiscovery Service createReport API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to encrypt some property on based on the type\n * @returns {Promise} - Returns a transform promise\n */\n static encryptReportRequest(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve(object);\n }\n const reportRequest = object.body;\n\n return ctx.webex.internal.encryption.kms\n .createUnboundKeys({count: 1})\n .then((keys) => {\n if (keys && keys.length > 0 && keys[0]) {\n reportRequest.encryptionKeyUrl = keys[0].uri;\n\n return ctx.webex.internal.encryption.kms\n .createResource({userIds: [keys[0].userId], keys})\n .then(() => {\n const promises = [];\n\n if (reportRequest.name) {\n promises.push(\n ctx.webex.internal.encryption\n .encryptText(keys[0], reportRequest.name)\n .then((encryptedName) => {\n reportRequest.name = encryptedName;\n })\n );\n }\n\n if (reportRequest.description) {\n promises.push(\n ctx.webex.internal.encryption\n .encryptText(keys[0], reportRequest.description)\n .then((encryptedDescription) => {\n reportRequest.description = encryptedDescription;\n })\n );\n }\n\n if (reportRequest.spaceNames) {\n promises.push(\n Promise.all(\n reportRequest.spaceNames.map((spaceName) =>\n ctx.webex.internal.encryption.encryptText(keys[0], spaceName)\n )\n ).then((encryptedSpaceNames) => {\n reportRequest.spaceNames = encryptedSpaceNames;\n })\n );\n }\n\n if (reportRequest.keywords) {\n promises.push(\n Promise.all(\n reportRequest.keywords.map((keyword) =>\n ctx.webex.internal.encryption.encryptText(keys[0], keyword)\n )\n ).then((encryptedKeywords) => {\n reportRequest.keywords = encryptedKeywords;\n })\n );\n }\n\n if (reportRequest.emails) {\n // store unencrypted emails for ediscovery service to convert to user ids\n reportRequest.unencryptedEmails = reportRequest.emails;\n promises.push(\n Promise.all(\n reportRequest.emails.map((email) =>\n ctx.webex.internal.encryption.encryptText(keys[0], email)\n )\n ).then((encryptedEmails) => {\n reportRequest.emails = encryptedEmails;\n })\n );\n }\n\n return Promise.all(promises);\n });\n }\n\n return Promise.resolve(object);\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error while encrypting report request: ${reportRequest} : ${reason}`\n );\n\n return Promise.reject(reason);\n });\n }\n\n /**\n * This function is used to decrypt encrypted properties on the ReportRequest that is returned from the eDiscovery Service getReport(s) API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to decrypt some property on based on the type\n * @returns {Promise} - Returns a transform promise\n */\n static decryptReportRequest(ctx, object) {\n if (\n !object ||\n !object.body ||\n !object.body.reportRequest ||\n !object.body.reportRequest.encryptionKeyUrl\n ) {\n return Promise.resolve(object);\n }\n const {reportRequest} = object.body;\n\n let reportNamePromise;\n\n if (reportRequest.name) {\n reportNamePromise = ctx.webex.internal.encryption\n .decryptText(reportRequest.encryptionKeyUrl, reportRequest.name)\n .then((decryptedName) => {\n reportRequest.name = decryptedName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting report name for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let reportDescriptionPromise;\n\n if (reportRequest.description) {\n reportDescriptionPromise = ctx.webex.internal.encryption\n .decryptText(reportRequest.encryptionKeyUrl, reportRequest.description)\n .then((decryptedDescription) => {\n reportRequest.description = decryptedDescription;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting description for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let spaceNamePromises = [];\n\n if (reportRequest.spaceNames) {\n spaceNamePromises = Promise.all(\n reportRequest.spaceNames.map((spaceName) =>\n ctx.webex.internal.encryption.decryptText(reportRequest.encryptionKeyUrl, spaceName)\n )\n )\n .then((decryptedSpaceNames) => {\n reportRequest.spaceNames = decryptedSpaceNames;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting space name for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let keywordPromises = [];\n\n if (reportRequest.keywords) {\n keywordPromises = Promise.all(\n reportRequest.keywords.map((keyword) =>\n ctx.webex.internal.encryption.decryptText(reportRequest.encryptionKeyUrl, keyword)\n )\n )\n .then((decryptedKeywords) => {\n reportRequest.keywords = decryptedKeywords;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting keywords for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let emailPromises = [];\n\n if (reportRequest.emails) {\n emailPromises = Promise.all(\n reportRequest.emails.map((email) =>\n ctx.webex.internal.encryption.decryptText(reportRequest.encryptionKeyUrl, email)\n )\n )\n .then((decryptedEmails) => {\n reportRequest.emails = decryptedEmails;\n })\n .catch((reason) => {\n ctx.webex.logger.error(`Error decrypting emails for report ${object.body.id}: ${reason}`);\n });\n }\n\n return Promise.all(\n [reportNamePromise, reportDescriptionPromise].concat(\n spaceNamePromises,\n keywordPromises,\n emailPromises\n )\n );\n }\n\n /**\n * This function is used to decrypt encrypted properties on the activities that are returned from the eDiscovery Service getContent API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to decrypt some property on based on the type\n * @param {String} reportId - Id of the report for which content is being retrieved\n * @returns {Promise} - Returns a transform promise\n */\n static decryptReportContent(ctx, object, reportId) {\n if (!object || !object.body || !reportId) {\n return Promise.resolve();\n }\n const activity = object.body;\n\n const promises = [];\n\n return ctx.webex.internal.ediscovery\n .getContentContainerByContainerId(reportId, activity.targetId)\n .then((res) => {\n const container = res.body;\n\n if (!container) {\n const reason = `Container ${activity.targetId} not found - unable to decrypt activity ${activity.activityId}`;\n\n activity.error = reason;\n ctx.webex.logger.error(reason);\n\n return Promise.resolve(object);\n }\n\n // add warning properties to the activity - these will be recorded in the downloader\n if (container.warning) {\n activity.spaceWarning = container.warning; // Remove this property once all clients are using the content container model\n activity.containerWarning = container.warning;\n }\n\n // set space name and participants on activity\n if (container.containerName) {\n activity.spaceName = container.containerName; // Remove this property once all clients are using the content container model\n activity.containerName = container.containerName;\n } else if (container.isOneOnOne) {\n const displayNames = (container.participants || [])\n .concat(container.formerParticipants || [])\n .map((p) => p.displayName)\n .join(' & ');\n\n // One to One spaces have no space name, use participant names as 'Subject' instead\n activity.spaceName = displayNames; // Remove this property once all clients are using the content container model\n activity.containerName = displayNames;\n } else {\n activity.spaceName = ''; // Remove this property once all clients are using the content container model\n activity.containerName = '';\n }\n\n // post and share activities have content which needs to be decrypted\n // as do meeting, recording activities, customApp extensions, and space information updates\n if (\n !['post', 'share'].includes(activity.verb) &&\n !activity.meeting &&\n !activity.recording &&\n !(activity.extension && activity.extension.extensionType === 'customApp') &&\n !activity.spaceInfo?.name &&\n !activity.spaceInfo?.description &&\n !activity.encryptedTextKeyValues\n ) {\n return Promise.resolve(object);\n }\n\n if (!activity.encryptionKeyUrl) {\n // If the encryptionKeyUrl is empty we assume the activity is unencrypted\n ctx.webex.logger.info(\n `Activity ${activity.activityId} cannot be decrypted due to a missing encryption key url`\n );\n\n return Promise.resolve(object);\n }\n\n // CDR Compliance uses org key and does depend on an onBehalfOfUser\n if (activity.encryptedTextKeyValues === undefined && !container.onBehalfOfUser) {\n const reason = `No user available with which to decrypt activity ${activity.activityId} in container ${activity.targetId}`;\n\n ctx.webex.logger.error(reason);\n activity.error = reason;\n\n return Promise.resolve(object);\n }\n\n // Decrypt activity message if present\n if (activity.objectDisplayName) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.objectDisplayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.objectDisplayName = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt message error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // If the activity is a space information update, decrypt the name and description if present\n if (activity.spaceInfo?.name) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.spaceInfo.name,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.spaceInfo.name = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.spaceInfo.name error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.spaceInfo?.description) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.spaceInfo.description,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.spaceInfo.description = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.spaceInfo.description error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.spaceInfo?.previousName && activity.spaceInfo.previousEncryptionKeyUrl) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.spaceInfo.previousEncryptionKeyUrl,\n activity.spaceInfo.previousName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.spaceInfo.previousName = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.spaceInfo.previousName error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // Decrypt content url and display name if extension is present\n if (\n activity.extension &&\n activity.extension.objectType === 'extension' &&\n activity.extension.extensionType === 'customApp'\n ) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.contentUrl,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedContentUrl) => {\n activity.extension.contentUrl = decryptedContentUrl;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.contentUrl error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.displayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedDisplayName) => {\n activity.extension.displayName = decryptedDisplayName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.displayName error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n\n // Decrypt webUrl.\n if (activity.extension.webUrl) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.webUrl,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedWebUrl) => {\n activity.extension.webUrl = decryptedWebUrl;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.webUrl error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.verb === 'update' && activity.extension.previous) {\n if (activity.extension.previous.contentUrl) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.previous.contentUrl,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedPreviousContentUrl) => {\n activity.extension.previous.contentUrl = decryptedPreviousContentUrl;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.previous.contentUrl error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.extension.previous.displayName) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.previous.displayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedPreviousDisplayName) => {\n activity.extension.previous.displayName = decryptedPreviousDisplayName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.previous.displayName error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n }\n\n // Decrypt encrypted text map if present\n if (activity.encryptedTextKeyValues !== undefined) {\n for (const [key, value] of Object.entries(activity.encryptedTextKeyValues)) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [activity.encryptionKeyUrl, value]\n )\n .then((decryptedMessage) => {\n activity.encryptedTextKeyValues[key] = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.encryptedTextKeyValues error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n\n // Decrypt meeting title if present\n if (activity?.meeting?.title) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.meeting.title,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.meeting.title = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.meeting.title error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // Decrypt meeting recording topic if present\n if (activity?.recording?.topic) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.recording.topic,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.recording.topic = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.recording.topic error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // Decrypt shares (files, whiteboards, shared links)\n // Array.prototype.concat.apply ignores undefined\n let shares = Array.prototype.concat.apply([], activity.files);\n\n shares = Array.prototype.concat.apply(shares, activity.whiteboards);\n shares = Array.prototype.concat.apply(shares, activity.links);\n for (let i = 0; i < shares.length; i += 1) {\n const share = shares[i];\n\n // Decrypt the share's display name\n // Ignore display names for whiteboards which are unencrypted\n if (\n share.displayName &&\n (!activity.whiteboards || !activity.whiteboards.includes(share))\n ) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n share.displayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedDisplayName) => {\n share.displayName = decryptedDisplayName;\n })\n .catch((reason) => {\n ctx.webex.logger.warn(\n `Decrypt DisplayName error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add warning property to activity - this will present an indication that there was data loss on the downloader\n activity.warning = reason;\n })\n );\n }\n\n // Shared Links can have additional decryption fields\n if (share.microsoftSharedLinkInfo) {\n if (share.microsoftSharedLinkInfo.driveId) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n share.microsoftSharedLinkInfo.driveId,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedDriveId) => {\n share.microsoftSharedLinkInfo.driveId = decryptedDriveId;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt share.microsoftSharedLinkInfo.driveId error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n if (share.microsoftSharedLinkInfo.itemId) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n share.microsoftSharedLinkInfo.itemId,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedItemId) => {\n share.microsoftSharedLinkInfo.itemId = decryptedItemId;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt share.microsoftSharedLinkInfo.itemId error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n\n // Decrypt the scr (Secure Content Reference) or sslr (Secure Shared Link Reference)\n // Unlike a scr the sslr contains only a loc. But decryptScr(...) is flexible and\n // leaves the tag, auth, IV, etc fields on the SCR object as undefined.\n if (share.scr || share.sslr) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptScr,\n // A share will have an encryptionKeyUrl when it's activity uses a different encryptionKeyUrl. This can happen when old activities are edited\n // and key rotation is turn on.\n [\n share.encryptionKeyUrl || activity.encryptionKeyUrl,\n share.scr || share.sslr,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedSCR) => {\n if (share.scr) {\n share.scr = decryptedSCR;\n } else {\n share.sslr = decryptedSCR.loc;\n }\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt file scr or sslr error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n\n return Promise.all(promises);\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error retrieving content container for: ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n });\n }\n\n /**\n * This function is used to decrypt encrypted properties on the containers that are returned from the eDiscovery Service getContentContainer API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to decrypt some property on based on the type\n * @returns {Promise} - Returns a transform promise\n */\n static decryptReportContentContainer(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n const container = object.body;\n\n if (!container.containerName) {\n return Promise.resolve(object);\n }\n\n if (!container.encryptionKeyUrl) {\n // If the encryptionKeyUrl is empty we assume the container name is unencrypted\n ctx.webex.logger.info(\n `${container.containerType} container ${container.containerId} cannot be decrypted due to a missing encryption key url`\n );\n\n return Promise.resolve(object);\n }\n\n if (!container.onBehalfOfUser) {\n const reason = `No user available with which to decrypt ${container.containerType} container ${container.containerId}`;\n\n ctx.webex.logger.error(reason);\n container.error = reason;\n\n return Promise.resolve(object);\n }\n\n // decrypt description if present with a descriptionEncryptionKeyUrl\n if (container.description && container.descriptionEncryptionKeyUrl) {\n requestWithRetries(ctx.webex.internal.encryption, ctx.webex.internal.encryption.decryptText, [\n container.descriptionEncryptionKeyUrl,\n container.description,\n {onBehalfOf: container.onBehalfOfUser},\n ])\n .then((decryptedContainerDescription) => {\n container.description = decryptedContainerDescription;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt container description error for ${container.containerType} container ${container.containerId}: ${reason}`\n );\n // add warn property to container info - this warning will be recorded in the downloader\n container.warning = reason;\n // don't return, attempt to decrypt the name first\n });\n }\n\n return requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [container.encryptionKeyUrl, container.containerName, {onBehalfOf: container.onBehalfOfUser}]\n )\n .then((decryptedContainerName) => {\n container.containerName = decryptedContainerName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt container name error for ${container.containerType} container ${container.containerId}: ${reason}`\n );\n // add warn property to container info - this warning will be recorded in the downloader\n container.warning = reason;\n\n return Promise.resolve(object);\n });\n }\n}\n\nexport default Transforms;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_retry","require","Transforms","_classCallCheck2","default","_createClass2","key","value","encryptReportRequest","ctx","object","body","_promise","resolve","reportRequest","webex","internal","encryption","kms","createUnboundKeys","count","then","keys","length","encryptionKeyUrl","uri","createResource","userIds","userId","promises","name","push","encryptText","encryptedName","description","encryptedDescription","spaceNames","all","map","spaceName","encryptedSpaceNames","keywords","keyword","encryptedKeywords","emails","unencryptedEmails","email","encryptedEmails","catch","reason","logger","error","concat","reject","decryptReportRequest","reportNamePromise","decryptText","decryptedName","id","reportDescriptionPromise","decryptedDescription","spaceNamePromises","decryptedSpaceNames","keywordPromises","decryptedKeywords","emailPromises","decryptedEmails","decryptReportContent","reportId","activity","ediscovery","getContentContainerByContainerId","targetId","res","_activity$spaceInfo","_activity$spaceInfo2","_activity$spaceInfo3","_activity$spaceInfo4","_activity$spaceInfo5","_activity$meeting","_activity$recording","container","activityId","warning","spaceWarning","containerWarning","containerName","isOneOnOne","displayNames","participants","formerParticipants","p","displayName","join","includes","verb","meeting","recording","extension","extensionType","spaceInfo","encryptedTextKeyValues","info","undefined","onBehalfOfUser","objectDisplayName","requestWithRetries","onBehalfOf","decryptedMessage","previousName","previousEncryptionKeyUrl","objectType","contentUrl","decryptedContentUrl","decryptedDisplayName","webUrl","decryptedWebUrl","previous","decryptedPreviousContentUrl","decryptedPreviousDisplayName","_loop","_Object$entries$_i","_slicedToArray2","_Object$entries","_i","_entries","title","topic","shares","Array","prototype","apply","files","whiteboards","links","_loop2","share","i","warn","mimeType","fileSize","url","microsoftSharedLinkInfo","driveId","decryptedDriveId","itemId","decryptedItemId","scr","sslr","decryptScr","decryptedSCR","loc","decryptReportContentContainer","containerType","containerId","descriptionEncryptionKeyUrl","decryptedContainerDescription","decryptedContainerName","_default","exports"],"sources":["transforms.js"],"sourcesContent":["import {requestWithRetries} from './retry';\n\n/**\n * This class is used to encrypt/decrypt various properties on ReportRequests, Activities and Spaces as they are sent/returned to/from the eDiscovery Service\n */\nclass Transforms {\n /**\n * This function is used to encrypt sensitive properties on the ReportRequest before it is sent to the eDiscovery Service createReport API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to encrypt some property on based on the type\n * @returns {Promise} - Returns a transform promise\n */\n static encryptReportRequest(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve(object);\n }\n const reportRequest = object.body;\n\n return ctx.webex.internal.encryption.kms\n .createUnboundKeys({count: 1})\n .then((keys) => {\n if (keys && keys.length > 0 && keys[0]) {\n reportRequest.encryptionKeyUrl = keys[0].uri;\n\n return ctx.webex.internal.encryption.kms\n .createResource({userIds: [keys[0].userId], keys})\n .then(() => {\n const promises = [];\n\n if (reportRequest.name) {\n promises.push(\n ctx.webex.internal.encryption\n .encryptText(keys[0], reportRequest.name)\n .then((encryptedName) => {\n reportRequest.name = encryptedName;\n })\n );\n }\n\n if (reportRequest.description) {\n promises.push(\n ctx.webex.internal.encryption\n .encryptText(keys[0], reportRequest.description)\n .then((encryptedDescription) => {\n reportRequest.description = encryptedDescription;\n })\n );\n }\n\n if (reportRequest.spaceNames) {\n promises.push(\n Promise.all(\n reportRequest.spaceNames.map((spaceName) =>\n ctx.webex.internal.encryption.encryptText(keys[0], spaceName)\n )\n ).then((encryptedSpaceNames) => {\n reportRequest.spaceNames = encryptedSpaceNames;\n })\n );\n }\n\n if (reportRequest.keywords) {\n promises.push(\n Promise.all(\n reportRequest.keywords.map((keyword) =>\n ctx.webex.internal.encryption.encryptText(keys[0], keyword)\n )\n ).then((encryptedKeywords) => {\n reportRequest.keywords = encryptedKeywords;\n })\n );\n }\n\n if (reportRequest.emails) {\n // store unencrypted emails for ediscovery service to convert to user ids\n reportRequest.unencryptedEmails = reportRequest.emails;\n promises.push(\n Promise.all(\n reportRequest.emails.map((email) =>\n ctx.webex.internal.encryption.encryptText(keys[0], email)\n )\n ).then((encryptedEmails) => {\n reportRequest.emails = encryptedEmails;\n })\n );\n }\n\n return Promise.all(promises);\n });\n }\n\n return Promise.resolve(object);\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error while encrypting report request: ${reportRequest} : ${reason}`\n );\n\n return Promise.reject(reason);\n });\n }\n\n /**\n * This function is used to decrypt encrypted properties on the ReportRequest that is returned from the eDiscovery Service getReport(s) API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to decrypt some property on based on the type\n * @returns {Promise} - Returns a transform promise\n */\n static decryptReportRequest(ctx, object) {\n if (\n !object ||\n !object.body ||\n !object.body.reportRequest ||\n !object.body.reportRequest.encryptionKeyUrl\n ) {\n return Promise.resolve(object);\n }\n const {reportRequest} = object.body;\n\n let reportNamePromise;\n\n if (reportRequest.name) {\n reportNamePromise = ctx.webex.internal.encryption\n .decryptText(reportRequest.encryptionKeyUrl, reportRequest.name)\n .then((decryptedName) => {\n reportRequest.name = decryptedName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting report name for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let reportDescriptionPromise;\n\n if (reportRequest.description) {\n reportDescriptionPromise = ctx.webex.internal.encryption\n .decryptText(reportRequest.encryptionKeyUrl, reportRequest.description)\n .then((decryptedDescription) => {\n reportRequest.description = decryptedDescription;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting description for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let spaceNamePromises = [];\n\n if (reportRequest.spaceNames) {\n spaceNamePromises = Promise.all(\n reportRequest.spaceNames.map((spaceName) =>\n ctx.webex.internal.encryption.decryptText(reportRequest.encryptionKeyUrl, spaceName)\n )\n )\n .then((decryptedSpaceNames) => {\n reportRequest.spaceNames = decryptedSpaceNames;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting space name for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let keywordPromises = [];\n\n if (reportRequest.keywords) {\n keywordPromises = Promise.all(\n reportRequest.keywords.map((keyword) =>\n ctx.webex.internal.encryption.decryptText(reportRequest.encryptionKeyUrl, keyword)\n )\n )\n .then((decryptedKeywords) => {\n reportRequest.keywords = decryptedKeywords;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error decrypting keywords for report ${object.body.id}: ${reason}`\n );\n });\n }\n\n let emailPromises = [];\n\n if (reportRequest.emails) {\n emailPromises = Promise.all(\n reportRequest.emails.map((email) =>\n ctx.webex.internal.encryption.decryptText(reportRequest.encryptionKeyUrl, email)\n )\n )\n .then((decryptedEmails) => {\n reportRequest.emails = decryptedEmails;\n })\n .catch((reason) => {\n ctx.webex.logger.error(`Error decrypting emails for report ${object.body.id}: ${reason}`);\n });\n }\n\n return Promise.all(\n [reportNamePromise, reportDescriptionPromise].concat(\n spaceNamePromises,\n keywordPromises,\n emailPromises\n )\n );\n }\n\n /**\n * This function is used to decrypt encrypted properties on the activities that are returned from the eDiscovery Service getContent API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to decrypt some property on based on the type\n * @param {String} reportId - Id of the report for which content is being retrieved\n * @returns {Promise} - Returns a transform promise\n */\n static decryptReportContent(ctx, object, reportId) {\n if (!object || !object.body || !reportId) {\n return Promise.resolve();\n }\n const activity = object.body;\n\n const promises = [];\n\n return ctx.webex.internal.ediscovery\n .getContentContainerByContainerId(reportId, activity.targetId)\n .then((res) => {\n const container = res.body;\n\n if (!container) {\n const reason = `Container ${activity.targetId} not found - unable to decrypt activity ${activity.activityId}`;\n\n activity.error = reason;\n ctx.webex.logger.error(reason);\n\n return Promise.resolve(object);\n }\n\n // add warning properties to the activity - these will be recorded in the downloader\n if (container.warning) {\n activity.spaceWarning = container.warning; // Remove this property once all clients are using the content container model\n activity.containerWarning = container.warning;\n }\n\n // set space name and participants on activity\n if (container.containerName) {\n activity.spaceName = container.containerName; // Remove this property once all clients are using the content container model\n activity.containerName = container.containerName;\n } else if (container.isOneOnOne) {\n const displayNames = (container.participants || [])\n .concat(container.formerParticipants || [])\n .map((p) => p.displayName)\n .join(' & ');\n\n // One to One spaces have no space name, use participant names as 'Subject' instead\n activity.spaceName = displayNames; // Remove this property once all clients are using the content container model\n activity.containerName = displayNames;\n } else {\n activity.spaceName = ''; // Remove this property once all clients are using the content container model\n activity.containerName = '';\n }\n\n // post and share activities have content which needs to be decrypted\n // as do meeting, recording activities, customApp extensions, and space information updates\n if (\n !['post', 'share'].includes(activity.verb) &&\n !activity.meeting &&\n !activity.recording &&\n !(activity.extension && activity.extension.extensionType === 'customApp') &&\n !activity.spaceInfo?.name &&\n !activity.spaceInfo?.description &&\n !activity.encryptedTextKeyValues\n ) {\n return Promise.resolve(object);\n }\n\n if (!activity.encryptionKeyUrl) {\n // If the encryptionKeyUrl is empty we assume the activity is unencrypted\n ctx.webex.logger.info(\n `Activity ${activity.activityId} cannot be decrypted due to a missing encryption key url`\n );\n\n return Promise.resolve(object);\n }\n\n // CDR Compliance uses org key and does depend on an onBehalfOfUser\n if (activity.encryptedTextKeyValues === undefined && !container.onBehalfOfUser) {\n const reason = `No user available with which to decrypt activity ${activity.activityId} in container ${activity.targetId}`;\n\n ctx.webex.logger.error(reason);\n activity.error = reason;\n\n return Promise.resolve(object);\n }\n\n // Decrypt activity message if present\n if (activity.objectDisplayName) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.objectDisplayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.objectDisplayName = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt message error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // If the activity is a space information update, decrypt the name and description if present\n if (activity.spaceInfo?.name) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.spaceInfo.name,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.spaceInfo.name = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.spaceInfo.name error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.spaceInfo?.description) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.spaceInfo.description,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.spaceInfo.description = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.spaceInfo.description error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.spaceInfo?.previousName && activity.spaceInfo.previousEncryptionKeyUrl) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.spaceInfo.previousEncryptionKeyUrl,\n activity.spaceInfo.previousName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.spaceInfo.previousName = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.spaceInfo.previousName error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // Decrypt content url and display name if extension is present\n if (\n activity.extension &&\n activity.extension.objectType === 'extension' &&\n activity.extension.extensionType === 'customApp'\n ) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.contentUrl,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedContentUrl) => {\n activity.extension.contentUrl = decryptedContentUrl;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.contentUrl error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.displayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedDisplayName) => {\n activity.extension.displayName = decryptedDisplayName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.displayName error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n\n // Decrypt webUrl.\n if (activity.extension.webUrl) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.webUrl,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedWebUrl) => {\n activity.extension.webUrl = decryptedWebUrl;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.webUrl error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.verb === 'update' && activity.extension.previous) {\n if (activity.extension.previous.contentUrl) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.previous.contentUrl,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedPreviousContentUrl) => {\n activity.extension.previous.contentUrl = decryptedPreviousContentUrl;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.previous.contentUrl error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n if (activity.extension.previous.displayName) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.extension.previous.displayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedPreviousDisplayName) => {\n activity.extension.previous.displayName = decryptedPreviousDisplayName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.extension.previous.displayName error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n }\n\n // Decrypt encrypted text map if present\n if (activity.encryptedTextKeyValues !== undefined) {\n for (const [key, value] of Object.entries(activity.encryptedTextKeyValues)) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [activity.encryptionKeyUrl, value]\n )\n .then((decryptedMessage) => {\n activity.encryptedTextKeyValues[key] = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.encryptedTextKeyValues error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n\n // Decrypt meeting title if present\n if (activity?.meeting?.title) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.meeting.title,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.meeting.title = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.meeting.title error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // Decrypt meeting recording topic if present\n if (activity?.recording?.topic) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n activity.recording.topic,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedMessage) => {\n activity.recording.topic = decryptedMessage;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt activity.recording.topic error for activity ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n // Decrypt shares (files, whiteboards, shared links)\n // Array.prototype.concat.apply ignores undefined\n let shares = Array.prototype.concat.apply([], activity.files);\n\n shares = Array.prototype.concat.apply(shares, activity.whiteboards);\n shares = Array.prototype.concat.apply(shares, activity.links);\n for (let i = 0; i < shares.length; i += 1) {\n const share = shares[i];\n\n // Decrypt the share's display name\n // Ignore display names for whiteboards which are unencrypted\n if (\n share.displayName &&\n (!activity.whiteboards || !activity.whiteboards.includes(share))\n ) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n share.displayName,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedDisplayName) => {\n share.displayName = decryptedDisplayName;\n })\n .catch((reason) => {\n ctx.webex.logger.warn(\n `Decrypt DisplayName error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add warning property to activity - this will present an indication that there was data loss on the downloader\n activity.warning = reason;\n })\n );\n }\n\n // Shared Links can have additional decryption fields\n if (share.microsoftSharedLinkInfo) {\n if (share.microsoftSharedLinkInfo.driveId) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n share.microsoftSharedLinkInfo.driveId,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedDriveId) => {\n share.microsoftSharedLinkInfo.driveId = decryptedDriveId;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt share.microsoftSharedLinkInfo.driveId error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n\n if (share.microsoftSharedLinkInfo.itemId) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [\n activity.encryptionKeyUrl,\n share.microsoftSharedLinkInfo.itemId,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedItemId) => {\n share.microsoftSharedLinkInfo.itemId = decryptedItemId;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt share.microsoftSharedLinkInfo.itemId error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n\n // Decrypt the scr (Secure Content Reference) or sslr (Secure Shared Link Reference)\n // Unlike a scr the sslr contains only a loc. But decryptScr(...) is flexible and\n // leaves the tag, auth, IV, etc fields on the SCR object as undefined.\n if (share.scr || share.sslr) {\n promises.push(\n requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptScr,\n // A share will have an encryptionKeyUrl when it's activity uses a different encryptionKeyUrl. This can happen when old activities are edited\n // and key rotation is turn on.\n [\n share.encryptionKeyUrl || activity.encryptionKeyUrl,\n share.scr || share.sslr,\n {onBehalfOf: container.onBehalfOfUser},\n ]\n )\n .then((decryptedSCR) => {\n if (share.scr) {\n share.scr = decryptedSCR;\n } else {\n share.sslr = decryptedSCR.loc;\n }\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt file scr or sslr error for activity ${activity.activityId} in container ${activity.targetId} for share type: ${share.mimeType}, size: ${share.fileSize}, and url: ${share.url} due to error: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n })\n );\n }\n }\n\n return Promise.all(promises);\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Error retrieving content container for: ${activity.activityId} in container ${activity.targetId}: ${reason}`\n );\n // add error property to activity - this error will be recorded in the downloader and the activity omitted from the report\n activity.error = reason;\n\n return Promise.resolve(object);\n });\n }\n\n /**\n * This function is used to decrypt encrypted properties on the containers that are returned from the eDiscovery Service getContentContainer API\n * @param {Object} ctx - An object containing a webex instance and a transform\n * @param {Object} object - Generic object that you want to decrypt some property on based on the type\n * @returns {Promise} - Returns a transform promise\n */\n static decryptReportContentContainer(ctx, object) {\n if (!object || !object.body) {\n return Promise.resolve();\n }\n const container = object.body;\n\n if (!container.containerName) {\n return Promise.resolve(object);\n }\n\n if (!container.encryptionKeyUrl) {\n // If the encryptionKeyUrl is empty we assume the container name is unencrypted\n ctx.webex.logger.info(\n `${container.containerType} container ${container.containerId} cannot be decrypted due to a missing encryption key url`\n );\n\n return Promise.resolve(object);\n }\n\n if (!container.onBehalfOfUser) {\n const reason = `No user available with which to decrypt ${container.containerType} container ${container.containerId}`;\n\n ctx.webex.logger.error(reason);\n container.error = reason;\n\n return Promise.resolve(object);\n }\n\n // decrypt description if present with a descriptionEncryptionKeyUrl\n if (container.description && container.descriptionEncryptionKeyUrl) {\n requestWithRetries(ctx.webex.internal.encryption, ctx.webex.internal.encryption.decryptText, [\n container.descriptionEncryptionKeyUrl,\n container.description,\n {onBehalfOf: container.onBehalfOfUser},\n ])\n .then((decryptedContainerDescription) => {\n container.description = decryptedContainerDescription;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt container description error for ${container.containerType} container ${container.containerId}: ${reason}`\n );\n // add warn property to container info - this warning will be recorded in the downloader\n container.warning = reason;\n // don't return, attempt to decrypt the name first\n });\n }\n\n return requestWithRetries(\n ctx.webex.internal.encryption,\n ctx.webex.internal.encryption.decryptText,\n [container.encryptionKeyUrl, container.containerName, {onBehalfOf: container.onBehalfOfUser}]\n )\n .then((decryptedContainerName) => {\n container.containerName = decryptedContainerName;\n })\n .catch((reason) => {\n ctx.webex.logger.error(\n `Decrypt container name error for ${container.containerType} container ${container.containerId}: ${reason}`\n );\n // add warn property to container info - this warning will be recorded in the downloader\n container.warning = reason;\n\n return Promise.resolve(object);\n });\n }\n}\n\nexport default Transforms;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -39,10 +39,10 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@webex/common": "3.8.1-next.11",
42
- "@webex/internal-plugin-conversation": "3.10.0-next.2",
43
- "@webex/internal-plugin-encryption": "3.10.0-next.2",
44
- "@webex/internal-plugin-mercury": "3.10.0-next.2",
45
- "@webex/webex-core": "3.10.0-next.2",
42
+ "@webex/internal-plugin-conversation": "3.10.0-next.4",
43
+ "@webex/internal-plugin-encryption": "3.10.0-next.4",
44
+ "@webex/internal-plugin-mercury": "3.10.0-next.4",
45
+ "@webex/webex-core": "3.10.0-next.4",
46
46
  "lodash": "^4.17.21",
47
47
  "uuid": "^3.3.2"
48
48
  },
@@ -55,5 +55,5 @@
55
55
  "test:style": "eslint ./src/**/*.*",
56
56
  "test:unit": "webex-legacy-tools test --unit --runner jest"
57
57
  },
58
- "version": "3.10.0-next.2"
58
+ "version": "3.10.0-next.4"
59
59
  }