@webex/internal-plugin-search 2.14.4 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["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 */\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Search from './search';\nimport config from './config';\n\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-encryption';\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'))\n .then((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 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.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":"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"}
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 */\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Search from './search';\nimport config from './config';\n\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-encryption';\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'))\n .then((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 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.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":"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"}
package/dist/search.js CHANGED
@@ -134,7 +134,7 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
134
134
  return resActivities;
135
135
  });
136
136
  },
137
- version: "2.14.4"
137
+ version: "2.17.0"
138
138
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "bindSearchKey", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "bindSearchKey"), _obj)), _obj));
139
139
 
140
140
  var _default = Search;
@@ -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 })\n .then((res) => res.body);\n },\n\n @oneFlight\n bindSearchKey() {\n return this.webex.internal.encryption.kms.createUnboundKeys({count: 1})\n .then(([key]) => this.webex.internal.encryption.kms.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 * 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(() => 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 .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.bulkActivitiesFetch(\n clusterActivityUrls,\n {cluster: editedCluster}\n )\n .catch((err) => {\n this.logger.warn(\n 'search: error fetching from remote clusters',\n err\n );\n\n return Promise.resolve([]);\n });\n\n promises.push(bulkActivitiesPromise);\n });\n\n return Promise.all(promises).then(\n (clusterResults) => clusterResults.reduce(\n (accumulator, clusterResult) => accumulator.concat(clusterResult),\n resActivities\n )\n );\n }\n\n return resActivities;\n });\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 })\n .then((res) => res.body);\n },\n\n @oneFlight\n bindSearchKey() {\n return this.webex.internal.encryption.kms.createUnboundKeys({count: 1})\n .then(([key]) => this.webex.internal.encryption.kms.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 * 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(() => 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 .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.bulkActivitiesFetch(\n clusterActivityUrls,\n {cluster: editedCluster}\n )\n .catch((err) => {\n this.logger.warn(\n 'search: error fetching from remote clusters',\n err\n );\n\n return Promise.resolve([]);\n });\n\n promises.push(bulkActivitiesPromise);\n });\n\n return Promise.all(promises).then(\n (clusterResults) => clusterResults.reduce(\n (accumulator, clusterResult) => accumulator.concat(clusterResult),\n resActivities\n )\n );\n }\n\n return resActivities;\n });\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": "2.14.4",
3
+ "version": "2.17.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Michael Wegman <mwegman@cisco.com>",
@@ -18,10 +18,10 @@
18
18
  "dependencies": {
19
19
  "@babel/runtime-corejs2": "^7.14.8",
20
20
  "lodash": "^4.17.21",
21
- "@webex/webex-core": "2.14.4",
22
- "@webex/common": "2.14.4",
23
- "@webex/internal-plugin-conversation": "2.14.4",
24
- "@webex/internal-plugin-encryption": "2.14.4",
21
+ "@webex/webex-core": "2.17.0",
22
+ "@webex/common": "2.17.0",
23
+ "@webex/internal-plugin-conversation": "2.17.0",
24
+ "@webex/internal-plugin-encryption": "2.17.0",
25
25
  "envify": "^4.1.0"
26
26
  }
27
27
  }