@webex/internal-plugin-search 3.0.0-beta.15 → 3.0.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.js CHANGED
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  _Object$defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
-
9
7
  exports.default = void 0;
10
-
11
8
  /*!
12
9
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
13
10
  */
@@ -1 +1 @@
1
- {"version":3,"names":["search"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n search: {},\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;eAEe;EACbA,MAAM,EAAE;AADK,C"}
1
+ {"version":3,"names":["search"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n search: {},\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,eAIe;EACbA,MAAM,EAAE,CAAC;AACX,CAAC;AAAA"}
package/dist/index.js CHANGED
@@ -1,37 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  _Object$defineProperty(exports, "default", {
12
9
  enumerable: true,
13
10
  get: function get() {
14
11
  return _search.default;
15
12
  }
16
13
  });
17
-
18
14
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
19
-
20
15
  var _has2 = _interopRequireDefault(require("lodash/has"));
21
-
22
16
  require("@webex/internal-plugin-conversation");
23
-
24
17
  require("@webex/internal-plugin-encryption");
25
-
26
18
  var _webexCore = require("@webex/webex-core");
27
-
28
19
  var _search = _interopRequireDefault(require("./search"));
29
-
30
20
  var _config = _interopRequireDefault(require("./config"));
31
-
32
21
  /*!
33
22
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
34
23
  */
24
+
35
25
  (0, _webexCore.registerInternalPlugin)('search', _search.default, {
36
26
  config: _config.default,
37
27
  payloadTransformer: {
@@ -42,20 +32,16 @@ var _config = _interopRequireDefault(require("./config"));
42
32
  if (!(0, _has2.default)(options, 'body.query')) {
43
33
  return _promise.default.resolve(false);
44
34
  }
45
-
46
35
  if (!(0, _has2.default)(options, 'body.searchEncryptionKeyUrl')) {
47
36
  return _promise.default.resolve(false);
48
37
  }
49
-
50
38
  if (options.service === 'argonaut') {
51
39
  return _promise.default.resolve(true);
52
40
  }
53
-
54
41
  if (options.url) {
55
42
  var service = ctx.webex.internal.services.getServiceFromUrl(options.url);
56
43
  return _promise.default.resolve(service && service.name === 'argonaut');
57
44
  }
58
-
59
45
  return _promise.default.resolve(false);
60
46
  },
61
47
  extract: function extract(options) {
@@ -69,16 +55,13 @@ var _config = _interopRequireDefault(require("./config"));
69
55
  if (!res) {
70
56
  return _promise.default.resolve(false);
71
57
  }
72
-
73
58
  if (response.options.service === 'argonaut') {
74
59
  return _promise.default.resolve(true);
75
60
  }
76
-
77
61
  if (response.options.url) {
78
62
  var service = ctx.webex.internal.services.getServiceFromUrl(response.options.url);
79
63
  return _promise.default.resolve(service && service.name === 'argonaut');
80
64
  }
81
-
82
65
  return _promise.default.resolve(false);
83
66
  });
84
67
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Search","config","payloadTransformer","predicates","name","direction","test","ctx","options","resolve","service","url","webex","internal","services","getServiceFromUrl","extract","body","response","then","res","activities","items","transforms","fn","object","encryption","encryptText","searchEncryptionKeyUrl","query","q"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-encryption';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Search from './search';\nimport config from './config';\n\nregisterInternalPlugin('search', Search, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n test(ctx, options) {\n if (!has(options, 'body.query')) {\n return Promise.resolve(false);\n }\n\n if (!has(options, 'body.searchEncryptionKeyUrl')) {\n return Promise.resolve(false);\n }\n\n if (options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.activities.items[0].objectType')).then(\n (res) => {\n if (!res) {\n return Promise.resolve(false);\n }\n\n if (response.options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (response.options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(response.options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n }\n );\n },\n extract(response) {\n return Promise.resolve(response.body.activities.items);\n },\n },\n ],\n transforms: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n fn(ctx, object) {\n return ctx.webex.internal.encryption\n .encryptText(object.searchEncryptionKeyUrl, object.query)\n .then((q) => {\n object.query = q;\n });\n },\n },\n ],\n },\n});\n\nexport {default} from './search';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGA;;AACA;;AAEA;;AAGA;;AACA;;AAVA;AACA;AACA;AAUA,IAAAA,iCAAA,EAAuB,QAAvB,EAAiCC,eAAjC,EAAyC;EACvCC,MAAM,EAANA,eADuC;EAEvCC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,CACV;MACEC,IAAI,EAAE,oBADR;MAEEC,SAAS,EAAE,UAFb;MAGEC,IAHF,gBAGOC,GAHP,EAGYC,OAHZ,EAGqB;QACjB,IAAI,CAAC,mBAAIA,OAAJ,EAAa,YAAb,CAAL,EAAiC;UAC/B,OAAO,iBAAQC,OAAR,CAAgB,KAAhB,CAAP;QACD;;QAED,IAAI,CAAC,mBAAID,OAAJ,EAAa,6BAAb,CAAL,EAAkD;UAChD,OAAO,iBAAQC,OAAR,CAAgB,KAAhB,CAAP;QACD;;QAED,IAAID,OAAO,CAACE,OAAR,KAAoB,UAAxB,EAAoC;UAClC,OAAO,iBAAQD,OAAR,CAAgB,IAAhB,CAAP;QACD;;QAED,IAAID,OAAO,CAACG,GAAZ,EAAiB;UACf,IAAMD,OAAO,GAAGH,GAAG,CAACK,KAAJ,CAAUC,QAAV,CAAmBC,QAAnB,CAA4BC,iBAA5B,CAA8CP,OAAO,CAACG,GAAtD,CAAhB;UAEA,OAAO,iBAAQF,OAAR,CAAgBC,OAAO,IAAIA,OAAO,CAACN,IAAR,KAAiB,UAA5C,CAAP;QACD;;QAED,OAAO,iBAAQK,OAAR,CAAgB,KAAhB,CAAP;MACD,CAvBH;MAwBEO,OAxBF,mBAwBUR,OAxBV,EAwBmB;QACf,OAAO,iBAAQC,OAAR,CAAgBD,OAAO,CAACS,IAAxB,CAAP;MACD;IA1BH,CADU,EA6BV;MACEb,IAAI,EAAE,sBADR;MAEEC,SAAS,EAAE,SAFb;MAGEC,IAHF,gBAGOC,GAHP,EAGYW,QAHZ,EAGsB;QAClB,OAAO,iBAAQT,OAAR,CAAgB,mBAAIS,QAAJ,EAAc,qCAAd,CAAhB,EAAsEC,IAAtE,CACL,UAACC,GAAD,EAAS;UACP,IAAI,CAACA,GAAL,EAAU;YACR,OAAO,iBAAQX,OAAR,CAAgB,KAAhB,CAAP;UACD;;UAED,IAAIS,QAAQ,CAACV,OAAT,CAAiBE,OAAjB,KAA6B,UAAjC,EAA6C;YAC3C,OAAO,iBAAQD,OAAR,CAAgB,IAAhB,CAAP;UACD;;UAED,IAAIS,QAAQ,CAACV,OAAT,CAAiBG,GAArB,EAA0B;YACxB,IAAMD,OAAO,GAAGH,GAAG,CAACK,KAAJ,CAAUC,QAAV,CAAmBC,QAAnB,CAA4BC,iBAA5B,CAA8CG,QAAQ,CAACV,OAAT,CAAiBG,GAA/D,CAAhB;YAEA,OAAO,iBAAQF,OAAR,CAAgBC,OAAO,IAAIA,OAAO,CAACN,IAAR,KAAiB,UAA5C,CAAP;UACD;;UAED,OAAO,iBAAQK,OAAR,CAAgB,KAAhB,CAAP;QACD,CAjBI,CAAP;MAmBD,CAvBH;MAwBEO,OAxBF,mBAwBUE,QAxBV,EAwBoB;QAChB,OAAO,iBAAQT,OAAR,CAAgBS,QAAQ,CAACD,IAAT,CAAcI,UAAd,CAAyBC,KAAzC,CAAP;MACD;IA1BH,CA7BU,CADM;IA2DlBC,UAAU,EAAE,CACV;MACEnB,IAAI,EAAE,oBADR;MAEEC,SAAS,EAAE,UAFb;MAGEmB,EAHF,cAGKjB,GAHL,EAGUkB,MAHV,EAGkB;QACd,OAAOlB,GAAG,CAACK,KAAJ,CAAUC,QAAV,CAAmBa,UAAnB,CACJC,WADI,CACQF,MAAM,CAACG,sBADf,EACuCH,MAAM,CAACI,KAD9C,EAEJV,IAFI,CAEC,UAACW,CAAD,EAAO;UACXL,MAAM,CAACI,KAAP,GAAeC,CAAf;QACD,CAJI,CAAP;MAKD;IATH,CADU;EA3DM;AAFmB,CAAzC"}
1
+ {"version":3,"names":["registerInternalPlugin","Search","config","payloadTransformer","predicates","name","direction","test","ctx","options","resolve","service","url","webex","internal","services","getServiceFromUrl","extract","body","response","then","res","activities","items","transforms","fn","object","encryption","encryptText","searchEncryptionKeyUrl","query","q"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-encryption';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Search from './search';\nimport config from './config';\n\nregisterInternalPlugin('search', Search, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n test(ctx, options) {\n if (!has(options, 'body.query')) {\n return Promise.resolve(false);\n }\n\n if (!has(options, 'body.searchEncryptionKeyUrl')) {\n return Promise.resolve(false);\n }\n\n if (options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.activities.items[0].objectType')).then(\n (res) => {\n if (!res) {\n return Promise.resolve(false);\n }\n\n if (response.options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (response.options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(response.options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n }\n );\n },\n extract(response) {\n return Promise.resolve(response.body.activities.items);\n },\n },\n ],\n transforms: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n fn(ctx, object) {\n return ctx.webex.internal.encryption\n .encryptText(object.searchEncryptionKeyUrl, object.query)\n .then((q) => {\n object.query = q;\n });\n },\n },\n ],\n },\n});\n\nexport {default} from './search';\n"],"mappings":";;;;;;;;;;;;;;;AAGA;AACA;AAEA;AAGA;AACA;AAVA;AACA;AACA;;AAUA,IAAAA,iCAAsB,EAAC,QAAQ,EAAEC,eAAM,EAAE;EACvCC,MAAM,EAANA,eAAM;EACNC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,CACV;MACEC,IAAI,EAAE,oBAAoB;MAC1BC,SAAS,EAAE,UAAU;MACrBC,IAAI,gBAACC,GAAG,EAAEC,OAAO,EAAE;QACjB,IAAI,CAAC,mBAAIA,OAAO,EAAE,YAAY,CAAC,EAAE;UAC/B,OAAO,iBAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,CAAC,mBAAID,OAAO,EAAE,6BAA6B,CAAC,EAAE;UAChD,OAAO,iBAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAID,OAAO,CAACE,OAAO,KAAK,UAAU,EAAE;UAClC,OAAO,iBAAQD,OAAO,CAAC,IAAI,CAAC;QAC9B;QAEA,IAAID,OAAO,CAACG,GAAG,EAAE;UACf,IAAMD,OAAO,GAAGH,GAAG,CAACK,KAAK,CAACC,QAAQ,CAACC,QAAQ,CAACC,iBAAiB,CAACP,OAAO,CAACG,GAAG,CAAC;UAE1E,OAAO,iBAAQF,OAAO,CAACC,OAAO,IAAIA,OAAO,CAACN,IAAI,KAAK,UAAU,CAAC;QAChE;QAEA,OAAO,iBAAQK,OAAO,CAAC,KAAK,CAAC;MAC/B,CAAC;MACDO,OAAO,mBAACR,OAAO,EAAE;QACf,OAAO,iBAAQC,OAAO,CAACD,OAAO,CAACS,IAAI,CAAC;MACtC;IACF,CAAC,EACD;MACEb,IAAI,EAAE,sBAAsB;MAC5BC,SAAS,EAAE,SAAS;MACpBC,IAAI,gBAACC,GAAG,EAAEW,QAAQ,EAAE;QAClB,OAAO,iBAAQT,OAAO,CAAC,mBAAIS,QAAQ,EAAE,qCAAqC,CAAC,CAAC,CAACC,IAAI,CAC/E,UAACC,GAAG,EAAK;UACP,IAAI,CAACA,GAAG,EAAE;YACR,OAAO,iBAAQX,OAAO,CAAC,KAAK,CAAC;UAC/B;UAEA,IAAIS,QAAQ,CAACV,OAAO,CAACE,OAAO,KAAK,UAAU,EAAE;YAC3C,OAAO,iBAAQD,OAAO,CAAC,IAAI,CAAC;UAC9B;UAEA,IAAIS,QAAQ,CAACV,OAAO,CAACG,GAAG,EAAE;YACxB,IAAMD,OAAO,GAAGH,GAAG,CAACK,KAAK,CAACC,QAAQ,CAACC,QAAQ,CAACC,iBAAiB,CAACG,QAAQ,CAACV,OAAO,CAACG,GAAG,CAAC;YAEnF,OAAO,iBAAQF,OAAO,CAACC,OAAO,IAAIA,OAAO,CAACN,IAAI,KAAK,UAAU,CAAC;UAChE;UAEA,OAAO,iBAAQK,OAAO,CAAC,KAAK,CAAC;QAC/B,CAAC,CACF;MACH,CAAC;MACDO,OAAO,mBAACE,QAAQ,EAAE;QAChB,OAAO,iBAAQT,OAAO,CAACS,QAAQ,CAACD,IAAI,CAACI,UAAU,CAACC,KAAK,CAAC;MACxD;IACF,CAAC,CACF;IACDC,UAAU,EAAE,CACV;MACEnB,IAAI,EAAE,oBAAoB;MAC1BC,SAAS,EAAE,UAAU;MACrBmB,EAAE,cAACjB,GAAG,EAAEkB,MAAM,EAAE;QACd,OAAOlB,GAAG,CAACK,KAAK,CAACC,QAAQ,CAACa,UAAU,CACjCC,WAAW,CAACF,MAAM,CAACG,sBAAsB,EAAEH,MAAM,CAACI,KAAK,CAAC,CACxDV,IAAI,CAAC,UAACW,CAAC,EAAK;UACXL,MAAM,CAACI,KAAK,GAAGC,CAAC;QAClB,CAAC,CAAC;MACN;IACF,CAAC;EAEL;AACF,CAAC,CAAC"}
package/dist/search.js CHANGED
@@ -1,51 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
14
-
15
10
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
11
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
18
-
19
12
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
20
-
21
13
  var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor"));
22
-
23
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
24
-
25
15
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/applyDecoratedDescriptor"));
26
-
27
16
  var _get2 = _interopRequireDefault(require("lodash/get"));
28
-
29
17
  var _common = require("@webex/common");
30
-
31
18
  var _webexCore = require("@webex/webex-core");
32
-
33
19
  var _obj;
34
-
35
20
  var Search = _webexCore.WebexPlugin.extend((_obj = {
36
21
  namespace: 'Search',
37
22
  people: function people(options) {
38
23
  options = options || {};
39
-
40
24
  if (!options.queryString && options.query) {
41
25
  options.queryString = options.query;
42
26
  (0, _deleteProperty.default)(options, 'query');
43
27
  }
44
-
45
28
  if (!options.queryString) {
46
29
  return _promise.default.reject(new Error('`options.query` is required'));
47
30
  }
48
-
49
31
  return this.request({
50
32
  api: 'argonaut',
51
33
  resource: 'directory',
@@ -57,13 +39,11 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
57
39
  },
58
40
  bindSearchKey: function bindSearchKey() {
59
41
  var _this = this;
60
-
61
42
  return this.webex.internal.encryption.kms.createUnboundKeys({
62
43
  count: 1
63
44
  }).then(function (_ref) {
64
45
  var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
65
- key = _ref2[0];
66
-
46
+ key = _ref2[0];
67
47
  return _this.webex.internal.encryption.kms.createResource({
68
48
  key: key,
69
49
  userIds: [_this.webex.internal.device.userId]
@@ -72,7 +52,6 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
72
52
  });
73
53
  });
74
54
  },
75
-
76
55
  /**
77
56
  * Fetches search result activities
78
57
  * @param {Object} options
@@ -82,16 +61,12 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
82
61
  */
83
62
  search: function search(options) {
84
63
  var _this2 = this;
85
-
86
64
  /* eslint max-nested-callbacks: [0] */
87
65
  options = options || {};
88
-
89
66
  var promise = _promise.default.resolve();
90
-
91
67
  if (!this.webex.internal.device.searchEncryptionKeyUrl) {
92
68
  promise = this.bindSearchKey();
93
69
  }
94
-
95
70
  return promise.then(function () {
96
71
  return _this2.webex.request({
97
72
  service: 'argonaut',
@@ -103,7 +78,6 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
103
78
  });
104
79
  }).then(function (res) {
105
80
  var resActivities = (0, _get2.default)(res, 'body.activities.items', []);
106
-
107
81
  if (options.includeRemoteClusterReferences && res.body.breadcrumbs) {
108
82
  var breadcrumbs = res.body.breadcrumbs;
109
83
  var promises = [];
@@ -112,16 +86,15 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
112
86
  var editedCluster = "".concat(cluster, ":identityLookup");
113
87
  var clusterActivityUrls = breadcrumbs[cluster].items.map(function (activity) {
114
88
  return activity.activityUrl;
115
- }); // Find activities per cluster
89
+ });
116
90
 
91
+ // Find activities per cluster
117
92
  var bulkActivitiesPromise = _this2.webex.internal.conversation.bulkActivitiesFetch(clusterActivityUrls, {
118
93
  cluster: editedCluster
119
94
  }).catch(function (err) {
120
95
  _this2.logger.warn('search: error fetching from remote clusters', err);
121
-
122
96
  return _promise.default.resolve([]);
123
97
  });
124
-
125
98
  promises.push(bulkActivitiesPromise);
126
99
  });
127
100
  return _promise.default.all(promises).then(function (clusterResults) {
@@ -130,13 +103,11 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
130
103
  }, resActivities);
131
104
  });
132
105
  }
133
-
134
106
  return resActivities;
135
107
  });
136
108
  },
137
- version: "3.0.0-beta.15"
109
+ version: "3.0.0-beta.17"
138
110
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "bindSearchKey", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "bindSearchKey"), _obj)), _obj));
139
-
140
111
  var _default = Search;
141
112
  exports.default = _default;
142
113
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Search","WebexPlugin","extend","namespace","people","options","queryString","query","reject","Error","request","api","resource","method","body","then","res","bindSearchKey","webex","internal","encryption","kms","createUnboundKeys","count","key","createResource","userIds","device","userId","set","uri","search","promise","resolve","searchEncryptionKeyUrl","service","resActivities","includeRemoteClusterReferences","breadcrumbs","promises","forEach","cluster","editedCluster","clusterActivityUrls","items","map","activity","activityUrl","bulkActivitiesPromise","conversation","bulkActivitiesFetch","catch","err","logger","warn","push","all","clusterResults","reduce","accumulator","clusterResult","concat","oneFlight"],"sources":["search.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get} from 'lodash';\nimport {oneFlight} from '@webex/common';\nimport {WebexPlugin} from '@webex/webex-core';\n\nconst Search = WebexPlugin.extend({\n namespace: 'Search',\n\n people(options) {\n options = options || {};\n\n if (!options.queryString && options.query) {\n options.queryString = options.query;\n Reflect.deleteProperty(options, 'query');\n }\n\n if (!options.queryString) {\n return Promise.reject(new Error('`options.query` is required'));\n }\n\n return this.request({\n api: 'argonaut',\n resource: 'directory',\n method: 'POST',\n body: options,\n }).then((res) => res.body);\n },\n\n @oneFlight\n bindSearchKey() {\n return this.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then(([key]) =>\n this.webex.internal.encryption.kms\n .createResource({\n key,\n userIds: [this.webex.internal.device.userId],\n })\n .then(() => this.webex.internal.device.set('searchEncryptionKeyUrl', key.uri))\n );\n },\n\n /**\n * Fetches search result activities\n * @param {Object} options\n * @param {boolean} options.includeRemoteClusterReferences when true,\n * includes search results from remote clusters\n * @returns {Promise<Array>} Resolves with the activities\n */\n search(options) {\n /* eslint max-nested-callbacks: [0] */\n options = options || {};\n\n let promise = Promise.resolve();\n\n if (!this.webex.internal.device.searchEncryptionKeyUrl) {\n promise = this.bindSearchKey();\n }\n\n return promise\n .then(() =>\n this.webex.request({\n service: 'argonaut',\n resource: 'search',\n method: 'POST',\n body: Object.assign(options, {\n searchEncryptionKeyUrl: this.webex.internal.device.searchEncryptionKeyUrl,\n }),\n })\n )\n .then((res) => {\n const resActivities = get(res, 'body.activities.items', []);\n\n if (options.includeRemoteClusterReferences && res.body.breadcrumbs) {\n const {breadcrumbs} = res.body;\n const promises = [];\n\n Object.keys(breadcrumbs).forEach((cluster) => {\n // Map activity URLs to their cluster\n const editedCluster = `${cluster}:identityLookup`;\n const clusterActivityUrls = breadcrumbs[cluster].items.map(\n (activity) => activity.activityUrl\n );\n\n // Find activities per cluster\n const bulkActivitiesPromise = this.webex.internal.conversation\n .bulkActivitiesFetch(clusterActivityUrls, {cluster: editedCluster})\n .catch((err) => {\n this.logger.warn('search: error fetching from remote clusters', err);\n\n return Promise.resolve([]);\n });\n\n promises.push(bulkActivitiesPromise);\n });\n\n return Promise.all(promises).then((clusterResults) =>\n clusterResults.reduce(\n (accumulator, clusterResult) => accumulator.concat(clusterResult),\n resActivities\n )\n );\n }\n\n return resActivities;\n });\n },\n});\n\nexport default Search;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Search","WebexPlugin","extend","namespace","people","options","queryString","query","reject","Error","request","api","resource","method","body","then","res","bindSearchKey","webex","internal","encryption","kms","createUnboundKeys","count","key","createResource","userIds","device","userId","set","uri","search","promise","resolve","searchEncryptionKeyUrl","service","resActivities","includeRemoteClusterReferences","breadcrumbs","promises","forEach","cluster","editedCluster","clusterActivityUrls","items","map","activity","activityUrl","bulkActivitiesPromise","conversation","bulkActivitiesFetch","catch","err","logger","warn","push","all","clusterResults","reduce","accumulator","clusterResult","concat","oneFlight"],"sources":["search.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get} from 'lodash';\nimport {oneFlight} from '@webex/common';\nimport {WebexPlugin} from '@webex/webex-core';\n\nconst Search = WebexPlugin.extend({\n namespace: 'Search',\n\n people(options) {\n options = options || {};\n\n if (!options.queryString && options.query) {\n options.queryString = options.query;\n Reflect.deleteProperty(options, 'query');\n }\n\n if (!options.queryString) {\n return Promise.reject(new Error('`options.query` is required'));\n }\n\n return this.request({\n api: 'argonaut',\n resource: 'directory',\n method: 'POST',\n body: options,\n }).then((res) => res.body);\n },\n\n @oneFlight\n bindSearchKey() {\n return this.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then(([key]) =>\n this.webex.internal.encryption.kms\n .createResource({\n key,\n userIds: [this.webex.internal.device.userId],\n })\n .then(() => this.webex.internal.device.set('searchEncryptionKeyUrl', key.uri))\n );\n },\n\n /**\n * Fetches search result activities\n * @param {Object} options\n * @param {boolean} options.includeRemoteClusterReferences when true,\n * includes search results from remote clusters\n * @returns {Promise<Array>} Resolves with the activities\n */\n search(options) {\n /* eslint max-nested-callbacks: [0] */\n options = options || {};\n\n let promise = Promise.resolve();\n\n if (!this.webex.internal.device.searchEncryptionKeyUrl) {\n promise = this.bindSearchKey();\n }\n\n return promise\n .then(() =>\n this.webex.request({\n service: 'argonaut',\n resource: 'search',\n method: 'POST',\n body: Object.assign(options, {\n searchEncryptionKeyUrl: this.webex.internal.device.searchEncryptionKeyUrl,\n }),\n })\n )\n .then((res) => {\n const resActivities = get(res, 'body.activities.items', []);\n\n if (options.includeRemoteClusterReferences && res.body.breadcrumbs) {\n const {breadcrumbs} = res.body;\n const promises = [];\n\n Object.keys(breadcrumbs).forEach((cluster) => {\n // Map activity URLs to their cluster\n const editedCluster = `${cluster}:identityLookup`;\n const clusterActivityUrls = breadcrumbs[cluster].items.map(\n (activity) => activity.activityUrl\n );\n\n // Find activities per cluster\n const bulkActivitiesPromise = this.webex.internal.conversation\n .bulkActivitiesFetch(clusterActivityUrls, {cluster: editedCluster})\n .catch((err) => {\n this.logger.warn('search: error fetching from remote clusters', err);\n\n return Promise.resolve([]);\n });\n\n promises.push(bulkActivitiesPromise);\n });\n\n return Promise.all(promises).then((clusterResults) =>\n clusterResults.reduce(\n (accumulator, clusterResult) => accumulator.concat(clusterResult),\n resActivities\n )\n );\n }\n\n return resActivities;\n });\n },\n});\n\nexport default Search;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-search",
3
- "version": "3.0.0-beta.15",
3
+ "version": "3.0.0-beta.17",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Michael Wegman <mwegman@cisco.com>",
@@ -21,17 +21,17 @@
21
21
  ]
22
22
  },
23
23
  "devDependencies": {
24
- "@webex/test-helper-chai": "3.0.0-beta.15",
25
- "@webex/test-helper-retry": "3.0.0-beta.15",
26
- "@webex/test-helper-test-users": "3.0.0-beta.15"
24
+ "@webex/test-helper-chai": "3.0.0-beta.17",
25
+ "@webex/test-helper-retry": "3.0.0-beta.17",
26
+ "@webex/test-helper-test-users": "3.0.0-beta.17"
27
27
  },
28
28
  "dependencies": {
29
- "@webex/common": "3.0.0-beta.15",
30
- "@webex/internal-plugin-conversation": "3.0.0-beta.15",
31
- "@webex/internal-plugin-device": "3.0.0-beta.15",
32
- "@webex/internal-plugin-encryption": "3.0.0-beta.15",
33
- "@webex/internal-plugin-search": "3.0.0-beta.15",
34
- "@webex/webex-core": "3.0.0-beta.15",
29
+ "@webex/common": "3.0.0-beta.17",
30
+ "@webex/internal-plugin-conversation": "3.0.0-beta.17",
31
+ "@webex/internal-plugin-device": "3.0.0-beta.17",
32
+ "@webex/internal-plugin-encryption": "3.0.0-beta.17",
33
+ "@webex/internal-plugin-search": "3.0.0-beta.17",
34
+ "@webex/webex-core": "3.0.0-beta.17",
35
35
  "lodash": "^4.17.21",
36
36
  "uuid": "^3.3.2"
37
37
  }