@webex/plugin-people 2.60.0-next.8 → 2.60.1

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
@@ -8,7 +8,7 @@ exports.default = void 0;
8
8
  /*!
9
9
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
10
10
  */
11
- var _default = exports.default = {
11
+ var _default = {
12
12
  people: {
13
13
  batcherWait: 100,
14
14
  batcherMaxCalls: 10,
@@ -21,4 +21,5 @@ var _default = exports.default = {
21
21
  showAllTypes: false
22
22
  }
23
23
  };
24
+ exports.default = _default;
24
25
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_default","exports","default","people","batcherWait","batcherMaxCalls","batcherMaxWait","showAllTypes"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n people: {\n batcherWait: 100,\n batcherMaxCalls: 10,\n batcherMaxWait: 1500,\n /**\n * optional flag that requires Hydra to send every type field,\n * even if the type is not \"person\" (e.g.: SX10, webhook_integration, etc.)\n * @private\n */\n showAllTypes: false,\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,MAAM,EAAE;IACNC,WAAW,EAAE,GAAG;IAChBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,IAAI;IACpB;AACJ;AACA;AACA;AACA;IACIC,YAAY,EAAE;EAChB;AACF,CAAC"}
1
+ {"version":3,"names":["_default","people","batcherWait","batcherMaxCalls","batcherMaxWait","showAllTypes","exports","default"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n people: {\n batcherWait: 100,\n batcherMaxCalls: 10,\n batcherMaxWait: 1500,\n /**\n * optional flag that requires Hydra to send every type field,\n * even if the type is not \"person\" (e.g.: SX10, webhook_integration, etc.)\n * @private\n */\n showAllTypes: false,\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAIe;EACbC,MAAM,EAAE;IACNC,WAAW,EAAE,GAAG;IAChBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,IAAI;IACpB;AACJ;AACA;AACA;AACA;IACIC,YAAY,EAAE;EAChB;AACF,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAP,QAAA"}
@@ -88,5 +88,6 @@ var PersonUUIDRequestBatcher = _webexCore.Batcher.extend({
88
88
  });
89
89
  }
90
90
  });
91
- var _default = exports.default = PersonUUIDRequestBatcher;
91
+ var _default = PersonUUIDRequestBatcher;
92
+ exports.default = _default;
92
93
  //# sourceMappingURL=people-batcher.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","PersonUUIDRequestBatcher","Batcher","extend","namespace","handleHttpSuccess","res","_this","promises","body","items","map","personResponse","handleItemSuccess","id","notFoundIds","concat","handleItemFailure","_promise","default","all","getDeferredForResponse","then","defer","reject","email","response","resolve","fingerprintRequest","uuidOrHydraId","hydraId","webex","people","inferPersonIdFromUuid","fingerprintResponse","prepareRequest","ids","join","submitHttpRequest","request","service","resource","config","showAllTypes","_default","exports"],"sources":["people-batcher.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Batcher} from '@webex/webex-core';\n\n/**\n * @class\n * @ignore\n */\nconst PersonUUIDRequestBatcher = Batcher.extend({\n namespace: 'People',\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {HttpResponseObject} res\n * @returns {Promise}\n */\n handleHttpSuccess(res) {\n const promises = res.body.items.map((personResponse) =>\n this.handleItemSuccess(personResponse.id, personResponse)\n );\n\n if (res.body.notFoundIds) {\n promises.concat(res.body.notFoundIds.map((id) => this.handleItemFailure(id)));\n }\n\n return Promise.all(promises);\n },\n\n handleItemFailure(id) {\n return this.getDeferredForResponse(id).then((defer) => {\n defer.reject(id);\n });\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {string} email\n * @param {Object} response\n * @returns {Promise}\n */\n handleItemSuccess(email, response) {\n return this.getDeferredForResponse(email).then((defer) => {\n defer.resolve(response);\n });\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {string} uuidOrHydraId\n * @returns {Promise<string>}\n */\n fingerprintRequest(uuidOrHydraId) {\n const hydraId = this.webex.people.inferPersonIdFromUuid(uuidOrHydraId);\n\n return Promise.resolve(hydraId);\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {string} hydraId\n * @returns {Promise<string>}\n */\n fingerprintResponse(hydraId) {\n return Promise.resolve(hydraId);\n },\n\n prepareRequest(ids) {\n return Promise.resolve(ids.join());\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {Object} ids\n * @returns {Promise<HttpResponseObject>}\n */\n submitHttpRequest(ids) {\n return this.webex.request({\n service: 'hydra',\n resource: `people/?id=${ids}&showAllTypes=${this.config.showAllTypes}`,\n });\n },\n});\n\nexport default PersonUUIDRequestBatcher;\n"],"mappings":";;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,IAAMC,wBAAwB,GAAGC,kBAAO,CAACC,MAAM,CAAC;EAC9CC,SAAS,EAAE,QAAQ;EAEnB;AACF;AACA;AACA;AACA;AACA;EACEC,iBAAiB,WAAAA,kBAACC,GAAG,EAAE;IAAA,IAAAC,KAAA;IACrB,IAAMC,QAAQ,GAAGF,GAAG,CAACG,IAAI,CAACC,KAAK,CAACC,GAAG,CAAC,UAACC,cAAc;MAAA,OACjDL,KAAI,CAACM,iBAAiB,CAACD,cAAc,CAACE,EAAE,EAAEF,cAAc,CAAC;IAAA,CAC3D,CAAC;IAED,IAAIN,GAAG,CAACG,IAAI,CAACM,WAAW,EAAE;MACxBP,QAAQ,CAACQ,MAAM,CAACV,GAAG,CAACG,IAAI,CAACM,WAAW,CAACJ,GAAG,CAAC,UAACG,EAAE;QAAA,OAAKP,KAAI,CAACU,iBAAiB,CAACH,EAAE,CAAC;MAAA,EAAC,CAAC;IAC/E;IAEA,OAAOI,QAAA,CAAAC,OAAA,CAAQC,GAAG,CAACZ,QAAQ,CAAC;EAC9B,CAAC;EAEDS,iBAAiB,WAAAA,kBAACH,EAAE,EAAE;IACpB,OAAO,IAAI,CAACO,sBAAsB,CAACP,EAAE,CAAC,CAACQ,IAAI,CAAC,UAACC,KAAK,EAAK;MACrDA,KAAK,CAACC,MAAM,CAACV,EAAE,CAAC;IAClB,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACED,iBAAiB,WAAAA,kBAACY,KAAK,EAAEC,QAAQ,EAAE;IACjC,OAAO,IAAI,CAACL,sBAAsB,CAACI,KAAK,CAAC,CAACH,IAAI,CAAC,UAACC,KAAK,EAAK;MACxDA,KAAK,CAACI,OAAO,CAACD,QAAQ,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEE,kBAAkB,WAAAA,mBAACC,aAAa,EAAE;IAChC,IAAMC,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,qBAAqB,CAACJ,aAAa,CAAC;IAEtE,OAAOX,QAAA,CAAAC,OAAA,CAAQQ,OAAO,CAACG,OAAO,CAAC;EACjC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,mBAAmB,WAAAA,oBAACJ,OAAO,EAAE;IAC3B,OAAOZ,QAAA,CAAAC,OAAA,CAAQQ,OAAO,CAACG,OAAO,CAAC;EACjC,CAAC;EAEDK,cAAc,WAAAA,eAACC,GAAG,EAAE;IAClB,OAAOlB,QAAA,CAAAC,OAAA,CAAQQ,OAAO,CAACS,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;EACpC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,iBAAiB,WAAAA,kBAACF,GAAG,EAAE;IACrB,OAAO,IAAI,CAACL,KAAK,CAACQ,OAAO,CAAC;MACxBC,OAAO,EAAE,OAAO;MAChBC,QAAQ,gBAAAzB,MAAA,CAAgBoB,GAAG,oBAAApB,MAAA,CAAiB,IAAI,CAAC0B,MAAM,CAACC,YAAY;IACtE,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA1B,OAAA,GAEYlB,wBAAwB"}
1
+ {"version":3,"names":["_webexCore","require","PersonUUIDRequestBatcher","Batcher","extend","namespace","handleHttpSuccess","res","_this","promises","body","items","map","personResponse","handleItemSuccess","id","notFoundIds","concat","handleItemFailure","_promise","default","all","getDeferredForResponse","then","defer","reject","email","response","resolve","fingerprintRequest","uuidOrHydraId","hydraId","webex","people","inferPersonIdFromUuid","fingerprintResponse","prepareRequest","ids","join","submitHttpRequest","request","service","resource","config","showAllTypes","_default","exports"],"sources":["people-batcher.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Batcher} from '@webex/webex-core';\n\n/**\n * @class\n * @ignore\n */\nconst PersonUUIDRequestBatcher = Batcher.extend({\n namespace: 'People',\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {HttpResponseObject} res\n * @returns {Promise}\n */\n handleHttpSuccess(res) {\n const promises = res.body.items.map((personResponse) =>\n this.handleItemSuccess(personResponse.id, personResponse)\n );\n\n if (res.body.notFoundIds) {\n promises.concat(res.body.notFoundIds.map((id) => this.handleItemFailure(id)));\n }\n\n return Promise.all(promises);\n },\n\n handleItemFailure(id) {\n return this.getDeferredForResponse(id).then((defer) => {\n defer.reject(id);\n });\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {string} email\n * @param {Object} response\n * @returns {Promise}\n */\n handleItemSuccess(email, response) {\n return this.getDeferredForResponse(email).then((defer) => {\n defer.resolve(response);\n });\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {string} uuidOrHydraId\n * @returns {Promise<string>}\n */\n fingerprintRequest(uuidOrHydraId) {\n const hydraId = this.webex.people.inferPersonIdFromUuid(uuidOrHydraId);\n\n return Promise.resolve(hydraId);\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {string} hydraId\n * @returns {Promise<string>}\n */\n fingerprintResponse(hydraId) {\n return Promise.resolve(hydraId);\n },\n\n prepareRequest(ids) {\n return Promise.resolve(ids.join());\n },\n\n /**\n * @instance\n * @memberof PersonUUIDRequestBatcher\n * @param {Object} ids\n * @returns {Promise<HttpResponseObject>}\n */\n submitHttpRequest(ids) {\n return this.webex.request({\n service: 'hydra',\n resource: `people/?id=${ids}&showAllTypes=${this.config.showAllTypes}`,\n });\n },\n});\n\nexport default PersonUUIDRequestBatcher;\n"],"mappings":";;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,IAAMC,wBAAwB,GAAGC,kBAAO,CAACC,MAAM,CAAC;EAC9CC,SAAS,EAAE,QAAQ;EAEnB;AACF;AACA;AACA;AACA;AACA;EACEC,iBAAiB,WAAAA,kBAACC,GAAG,EAAE;IAAA,IAAAC,KAAA;IACrB,IAAMC,QAAQ,GAAGF,GAAG,CAACG,IAAI,CAACC,KAAK,CAACC,GAAG,CAAC,UAACC,cAAc;MAAA,OACjDL,KAAI,CAACM,iBAAiB,CAACD,cAAc,CAACE,EAAE,EAAEF,cAAc,CAAC;IAAA,EAC1D;IAED,IAAIN,GAAG,CAACG,IAAI,CAACM,WAAW,EAAE;MACxBP,QAAQ,CAACQ,MAAM,CAACV,GAAG,CAACG,IAAI,CAACM,WAAW,CAACJ,GAAG,CAAC,UAACG,EAAE;QAAA,OAAKP,KAAI,CAACU,iBAAiB,CAACH,EAAE,CAAC;MAAA,EAAC,CAAC;IAC/E;IAEA,OAAOI,QAAA,CAAAC,OAAA,CAAQC,GAAG,CAACZ,QAAQ,CAAC;EAC9B,CAAC;EAEDS,iBAAiB,WAAAA,kBAACH,EAAE,EAAE;IACpB,OAAO,IAAI,CAACO,sBAAsB,CAACP,EAAE,CAAC,CAACQ,IAAI,CAAC,UAACC,KAAK,EAAK;MACrDA,KAAK,CAACC,MAAM,CAACV,EAAE,CAAC;IAClB,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACED,iBAAiB,WAAAA,kBAACY,KAAK,EAAEC,QAAQ,EAAE;IACjC,OAAO,IAAI,CAACL,sBAAsB,CAACI,KAAK,CAAC,CAACH,IAAI,CAAC,UAACC,KAAK,EAAK;MACxDA,KAAK,CAACI,OAAO,CAACD,QAAQ,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEE,kBAAkB,WAAAA,mBAACC,aAAa,EAAE;IAChC,IAAMC,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,qBAAqB,CAACJ,aAAa,CAAC;IAEtE,OAAOX,QAAA,CAAAC,OAAA,CAAQQ,OAAO,CAACG,OAAO,CAAC;EACjC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,mBAAmB,WAAAA,oBAACJ,OAAO,EAAE;IAC3B,OAAOZ,QAAA,CAAAC,OAAA,CAAQQ,OAAO,CAACG,OAAO,CAAC;EACjC,CAAC;EAEDK,cAAc,WAAAA,eAACC,GAAG,EAAE;IAClB,OAAOlB,QAAA,CAAAC,OAAA,CAAQQ,OAAO,CAACS,GAAG,CAACC,IAAI,EAAE,CAAC;EACpC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,iBAAiB,WAAAA,kBAACF,GAAG,EAAE;IACrB,OAAO,IAAI,CAACL,KAAK,CAACQ,OAAO,CAAC;MACxBC,OAAO,EAAE,OAAO;MAChBC,QAAQ,gBAAAzB,MAAA,CAAgBoB,GAAG,oBAAApB,MAAA,CAAiB,IAAI,CAAC0B,MAAM,CAACC,YAAY;IACtE,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY3C,wBAAwB;AAAA4C,OAAA,CAAA1B,OAAA,GAAAyB,QAAA"}
package/dist/people.js CHANGED
@@ -14,9 +14,6 @@ var _webexCore = require("@webex/webex-core");
14
14
  var _common = require("@webex/common");
15
15
  var _peopleBatcher = _interopRequireDefault(require("./people-batcher"));
16
16
  var _obj;
17
- /*!
18
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
19
- */
20
17
  /**
21
18
  * @typedef {Object} PersonObject
22
19
  * @property {string} id - (server generated) Unique identifier for the person
@@ -24,6 +21,7 @@ var _obj;
24
21
  * @property {string} displayName - Display name of the person
25
22
  * @property {isoDate} created - (server generated) The date and time that the person was created
26
23
  */
24
+
27
25
  /**
28
26
  * @class
29
27
  */
@@ -193,7 +191,8 @@ var People = _webexCore.WebexPlugin.extend((_obj = {
193
191
  return res.body;
194
192
  });
195
193
  },
196
- version: "2.60.0-next.8"
194
+ version: "2.60.1"
197
195
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "_getMe", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "_getMe"), _obj)), _obj));
198
- var _default = exports.default = People;
196
+ var _default = People;
197
+ exports.default = _default;
199
198
  //# sourceMappingURL=people.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_common","_peopleBatcher","_interopRequireDefault","_obj","People","WebexPlugin","extend","namespace","children","batcher","PeopleBatcher","get","person","_promise","default","reject","Error","_getMe","id","personId","request","list","options","_this","_isArray","peopleIds","all","map","service","resource","qs","then","res","Page","webex","inferPersonIdFromUuid","base64","decode","includes","err","encode","concat","body","version","_applyDecoratedDescriptor2","oneFlight","_getOwnPropertyDescriptor","_default","exports"],"sources":["people.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin, Page} from '@webex/webex-core';\nimport {base64, oneFlight} from '@webex/common';\n\nimport PeopleBatcher from './people-batcher';\n\n/**\n * @typedef {Object} PersonObject\n * @property {string} id - (server generated) Unique identifier for the person\n * @property {Array<email>} emails - Email addresses of the person\n * @property {string} displayName - Display name of the person\n * @property {isoDate} created - (server generated) The date and time that the person was created\n */\n\n/**\n * @class\n */\nconst People = WebexPlugin.extend({\n namespace: 'People',\n\n children: {\n batcher: PeopleBatcher,\n },\n /**\n * Returns a single person by ID\n * @instance\n * @memberof People\n * @param {PersonObject|uuid|string} person\n * @returns {Promise<PersonObject>}\n * @example\n * webex.rooms.create({title: 'Get Person Example'})\n * .then(function(room) {\n * return webex.memberships.create({\n * personEmail: 'alice@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function(membership) {\n * return webex.people.get(membership.personId);\n * })\n * .then(function(alice) {\n * var assert = require('assert');\n * assert(alice.id);\n * assert(Array.isArray(alice.emails));\n * assert.equal(alice.emails.filter(function(email) {\n * return email === 'alice@example.com';\n * }).length, 1);\n * assert(alice.displayName);\n * assert(alice.created);\n * return 'success';\n * });\n * // => success\n */\n get(person) {\n if (!person) {\n return Promise.reject(new Error('A person with an id is required'));\n }\n if (person === 'me') {\n return this._getMe();\n }\n const id = person.personId || person.id || person;\n\n return this.batcher.request(id);\n },\n\n /**\n * Returns a list of people\n * @instance\n * @memberof People\n * @param {Object | uuid[]} options or array of uuids\n * @param {email} options.email - Returns people with an email that contains this string\n * @param {string} options.displayName - Returns people with a name that contains this string\n * @param {bool} showAllTypes optional flag that requires Hydra to send every type field,\n * even if the type is not \"person\" (e.g.: SX10, webhook_integration, etc.)\n * @returns {Promise<Page<PersonObject>>}\n * @example\n * var room;\n * webex.rooms.create({title: 'List People Example'})\n * .then(function(r) {\n * room = r;\n * return webex.memberships.create({\n * personEmail: 'alice@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function() {\n * return webex.memberships.create({\n * personEmail: 'bob@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function() {\n * return webex.people.list({email: 'alice@example.com'});\n * })\n * .then(function(people) {\n * var assert = require('assert');\n * assert.equal(people.length, 1);\n * var person = people.items[0];\n * assert(person.id);\n * assert(Array.isArray(person.emails));\n * assert(person.displayName);\n * assert(person.created);\n * return 'success';\n * });\n * // => success\n * @example <caption>Example usage of array method</caption>\n * var room;\n * var aliceId;\n * var bobId;\n * webex.rooms.create({title: 'List People Array Example'})\n * .then(function(r) {\n * room = r;\n * return webex.memberships.create({\n * personEmail: 'alice@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function(membership) {\n * aliceId = membership.personId;\n * })\n * .then(function() {\n * return webex.memberships.create({\n * personEmail: 'bob@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function(membership) {\n * bobId = membership.personId;\n * })\n * .then(function() {\n * return webex.people.list([aliceId, bobId]);\n * })\n * .then(function(people) {\n * var assert = require('assert');\n * assert.equal(people.length, 2);\n * var person = people.items[0];\n * assert(person.id);\n * assert(Array.isArray(person.emails));\n * assert(person.displayName);\n * assert(person.created);\n * return 'success';\n * });\n * // => success\n */\n list(options) {\n if (Array.isArray(options)) {\n const peopleIds = options;\n\n return Promise.all(peopleIds.map((personId) => this.batcher.request(personId)));\n }\n\n return this.request({\n service: 'hydra',\n resource: 'people',\n qs: options,\n }).then((res) => new Page(res, this.webex));\n },\n\n /**\n * Converts a uuid to a hydra id without a network dip.\n * @param {string} id\n * @private\n * @returns {string}\n */\n inferPersonIdFromUuid(id) {\n // base64.validate seems to return true for uuids, so we need a different\n // check\n try {\n if (base64.decode(id).includes('ciscospark://')) {\n return id;\n }\n } catch (err) {\n // ignore\n }\n\n return base64.encode(`ciscospark://us/PEOPLE/${id}`);\n },\n\n /**\n * Fetches the current user from the /people/me endpoint\n * @instance\n * @memberof People\n * @private\n * @returns {Promise<PersonObject>}\n */\n @oneFlight\n _getMe() {\n return this.webex\n .request({\n service: 'hydra',\n resource: 'people/me',\n })\n .then((res) => res.body);\n },\n});\n\nexport default People;\n"],"mappings":";;;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA6C,IAAAI,IAAA;AAP7C;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA,IAAMC,MAAM,GAAGC,sBAAW,CAACC,MAAM,EAAAH,IAAA,GAAC;EAChCI,SAAS,EAAE,QAAQ;EAEnBC,QAAQ,EAAE;IACRC,OAAO,EAAEC;EACX,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,GAAG,WAAAA,IAACC,MAAM,EAAE;IACV,IAAI,CAACA,MAAM,EAAE;MACX,OAAOC,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrE;IACA,IAAIJ,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAI,CAACK,MAAM,CAAC,CAAC;IACtB;IACA,IAAMC,EAAE,GAAGN,MAAM,CAACO,QAAQ,IAAIP,MAAM,CAACM,EAAE,IAAIN,MAAM;IAEjD,OAAO,IAAI,CAACH,OAAO,CAACW,OAAO,CAACF,EAAE,CAAC;EACjC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,IAAI,WAAAA,KAACC,OAAO,EAAE;IAAA,IAAAC,KAAA;IACZ,IAAI,IAAAC,QAAA,CAAAV,OAAA,EAAcQ,OAAO,CAAC,EAAE;MAC1B,IAAMG,SAAS,GAAGH,OAAO;MAEzB,OAAOT,QAAA,CAAAC,OAAA,CAAQY,GAAG,CAACD,SAAS,CAACE,GAAG,CAAC,UAACR,QAAQ;QAAA,OAAKI,KAAI,CAACd,OAAO,CAACW,OAAO,CAACD,QAAQ,CAAC;MAAA,EAAC,CAAC;IACjF;IAEA,OAAO,IAAI,CAACC,OAAO,CAAC;MAClBQ,OAAO,EAAE,OAAO;MAChBC,QAAQ,EAAE,QAAQ;MAClBC,EAAE,EAAER;IACN,CAAC,CAAC,CAACS,IAAI,CAAC,UAACC,GAAG;MAAA,OAAK,IAAIC,eAAI,CAACD,GAAG,EAAET,KAAI,CAACW,KAAK,CAAC;IAAA,EAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,qBAAqB,WAAAA,sBAACjB,EAAE,EAAE;IACxB;IACA;IACA,IAAI;MACF,IAAIkB,cAAM,CAACC,MAAM,CAACnB,EAAE,CAAC,CAACoB,QAAQ,CAAC,eAAe,CAAC,EAAE;QAC/C,OAAOpB,EAAE;MACX;IACF,CAAC,CAAC,OAAOqB,GAAG,EAAE;MACZ;IAAA;IAGF,OAAOH,cAAM,CAACI,MAAM,2BAAAC,MAAA,CAA2BvB,EAAE,CAAE,CAAC;EACtD,CAAC;EAUDD,MAAM,WAAAA,OAAA,EAAG;IACP,OAAO,IAAI,CAACiB,KAAK,CACdd,OAAO,CAAC;MACPQ,OAAO,EAAE,OAAO;MAChBC,QAAQ,EAAE;IACZ,CAAC,CAAC,CACDE,IAAI,CAAC,UAACC,GAAG;MAAA,OAAKA,GAAG,CAACU,IAAI;IAAA,EAAC;EAC5B,CAAC;EAAAC,OAAA;AACH,CAAC,OAAAC,0BAAA,CAAA9B,OAAA,EAAAX,IAAA,aATE0C,iBAAS,OAAAC,yBAAA,CAAAhC,OAAA,EAAAX,IAAA,aAAAA,IAAA,IAAAA,IAAA,CASX,CAAC;AAAC,IAAA4C,QAAA,GAAAC,OAAA,CAAAlC,OAAA,GAEYV,MAAM"}
1
+ {"version":3,"names":["_webexCore","require","_common","_peopleBatcher","_interopRequireDefault","_obj","People","WebexPlugin","extend","namespace","children","batcher","PeopleBatcher","get","person","_promise","default","reject","Error","_getMe","id","personId","request","list","options","_this","_isArray","peopleIds","all","map","service","resource","qs","then","res","Page","webex","inferPersonIdFromUuid","base64","decode","includes","err","encode","concat","body","version","_applyDecoratedDescriptor2","oneFlight","_getOwnPropertyDescriptor","_default","exports"],"sources":["people.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin, Page} from '@webex/webex-core';\nimport {base64, oneFlight} from '@webex/common';\n\nimport PeopleBatcher from './people-batcher';\n\n/**\n * @typedef {Object} PersonObject\n * @property {string} id - (server generated) Unique identifier for the person\n * @property {Array<email>} emails - Email addresses of the person\n * @property {string} displayName - Display name of the person\n * @property {isoDate} created - (server generated) The date and time that the person was created\n */\n\n/**\n * @class\n */\nconst People = WebexPlugin.extend({\n namespace: 'People',\n\n children: {\n batcher: PeopleBatcher,\n },\n /**\n * Returns a single person by ID\n * @instance\n * @memberof People\n * @param {PersonObject|uuid|string} person\n * @returns {Promise<PersonObject>}\n * @example\n * webex.rooms.create({title: 'Get Person Example'})\n * .then(function(room) {\n * return webex.memberships.create({\n * personEmail: 'alice@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function(membership) {\n * return webex.people.get(membership.personId);\n * })\n * .then(function(alice) {\n * var assert = require('assert');\n * assert(alice.id);\n * assert(Array.isArray(alice.emails));\n * assert.equal(alice.emails.filter(function(email) {\n * return email === 'alice@example.com';\n * }).length, 1);\n * assert(alice.displayName);\n * assert(alice.created);\n * return 'success';\n * });\n * // => success\n */\n get(person) {\n if (!person) {\n return Promise.reject(new Error('A person with an id is required'));\n }\n if (person === 'me') {\n return this._getMe();\n }\n const id = person.personId || person.id || person;\n\n return this.batcher.request(id);\n },\n\n /**\n * Returns a list of people\n * @instance\n * @memberof People\n * @param {Object | uuid[]} options or array of uuids\n * @param {email} options.email - Returns people with an email that contains this string\n * @param {string} options.displayName - Returns people with a name that contains this string\n * @param {bool} showAllTypes optional flag that requires Hydra to send every type field,\n * even if the type is not \"person\" (e.g.: SX10, webhook_integration, etc.)\n * @returns {Promise<Page<PersonObject>>}\n * @example\n * var room;\n * webex.rooms.create({title: 'List People Example'})\n * .then(function(r) {\n * room = r;\n * return webex.memberships.create({\n * personEmail: 'alice@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function() {\n * return webex.memberships.create({\n * personEmail: 'bob@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function() {\n * return webex.people.list({email: 'alice@example.com'});\n * })\n * .then(function(people) {\n * var assert = require('assert');\n * assert.equal(people.length, 1);\n * var person = people.items[0];\n * assert(person.id);\n * assert(Array.isArray(person.emails));\n * assert(person.displayName);\n * assert(person.created);\n * return 'success';\n * });\n * // => success\n * @example <caption>Example usage of array method</caption>\n * var room;\n * var aliceId;\n * var bobId;\n * webex.rooms.create({title: 'List People Array Example'})\n * .then(function(r) {\n * room = r;\n * return webex.memberships.create({\n * personEmail: 'alice@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function(membership) {\n * aliceId = membership.personId;\n * })\n * .then(function() {\n * return webex.memberships.create({\n * personEmail: 'bob@example.com',\n * roomId: room.id\n * });\n * })\n * .then(function(membership) {\n * bobId = membership.personId;\n * })\n * .then(function() {\n * return webex.people.list([aliceId, bobId]);\n * })\n * .then(function(people) {\n * var assert = require('assert');\n * assert.equal(people.length, 2);\n * var person = people.items[0];\n * assert(person.id);\n * assert(Array.isArray(person.emails));\n * assert(person.displayName);\n * assert(person.created);\n * return 'success';\n * });\n * // => success\n */\n list(options) {\n if (Array.isArray(options)) {\n const peopleIds = options;\n\n return Promise.all(peopleIds.map((personId) => this.batcher.request(personId)));\n }\n\n return this.request({\n service: 'hydra',\n resource: 'people',\n qs: options,\n }).then((res) => new Page(res, this.webex));\n },\n\n /**\n * Converts a uuid to a hydra id without a network dip.\n * @param {string} id\n * @private\n * @returns {string}\n */\n inferPersonIdFromUuid(id) {\n // base64.validate seems to return true for uuids, so we need a different\n // check\n try {\n if (base64.decode(id).includes('ciscospark://')) {\n return id;\n }\n } catch (err) {\n // ignore\n }\n\n return base64.encode(`ciscospark://us/PEOPLE/${id}`);\n },\n\n /**\n * Fetches the current user from the /people/me endpoint\n * @instance\n * @memberof People\n * @private\n * @returns {Promise<PersonObject>}\n */\n @oneFlight\n _getMe() {\n return this.webex\n .request({\n service: 'hydra',\n resource: 'people/me',\n })\n .then((res) => res.body);\n },\n});\n\nexport default People;\n"],"mappings":";;;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA6C,IAAAI,IAAA;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAMC,MAAM,GAAGC,sBAAW,CAACC,MAAM,EAAAH,IAAA,GAAC;EAChCI,SAAS,EAAE,QAAQ;EAEnBC,QAAQ,EAAE;IACRC,OAAO,EAAEC;EACX,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,GAAG,WAAAA,IAACC,MAAM,EAAE;IACV,IAAI,CAACA,MAAM,EAAE;MACX,OAAOC,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrE;IACA,IAAIJ,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAI,CAACK,MAAM,EAAE;IACtB;IACA,IAAMC,EAAE,GAAGN,MAAM,CAACO,QAAQ,IAAIP,MAAM,CAACM,EAAE,IAAIN,MAAM;IAEjD,OAAO,IAAI,CAACH,OAAO,CAACW,OAAO,CAACF,EAAE,CAAC;EACjC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,IAAI,WAAAA,KAACC,OAAO,EAAE;IAAA,IAAAC,KAAA;IACZ,IAAI,IAAAC,QAAA,CAAAV,OAAA,EAAcQ,OAAO,CAAC,EAAE;MAC1B,IAAMG,SAAS,GAAGH,OAAO;MAEzB,OAAOT,QAAA,CAAAC,OAAA,CAAQY,GAAG,CAACD,SAAS,CAACE,GAAG,CAAC,UAACR,QAAQ;QAAA,OAAKI,KAAI,CAACd,OAAO,CAACW,OAAO,CAACD,QAAQ,CAAC;MAAA,EAAC,CAAC;IACjF;IAEA,OAAO,IAAI,CAACC,OAAO,CAAC;MAClBQ,OAAO,EAAE,OAAO;MAChBC,QAAQ,EAAE,QAAQ;MAClBC,EAAE,EAAER;IACN,CAAC,CAAC,CAACS,IAAI,CAAC,UAACC,GAAG;MAAA,OAAK,IAAIC,eAAI,CAACD,GAAG,EAAET,KAAI,CAACW,KAAK,CAAC;IAAA,EAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,qBAAqB,WAAAA,sBAACjB,EAAE,EAAE;IACxB;IACA;IACA,IAAI;MACF,IAAIkB,cAAM,CAACC,MAAM,CAACnB,EAAE,CAAC,CAACoB,QAAQ,CAAC,eAAe,CAAC,EAAE;QAC/C,OAAOpB,EAAE;MACX;IACF,CAAC,CAAC,OAAOqB,GAAG,EAAE;MACZ;IAAA;IAGF,OAAOH,cAAM,CAACI,MAAM,2BAAAC,MAAA,CAA2BvB,EAAE,EAAG;EACtD,CAAC;EAUDD,MAAM,WAAAA,OAAA,EAAG;IACP,OAAO,IAAI,CAACiB,KAAK,CACdd,OAAO,CAAC;MACPQ,OAAO,EAAE,OAAO;MAChBC,QAAQ,EAAE;IACZ,CAAC,CAAC,CACDE,IAAI,CAAC,UAACC,GAAG;MAAA,OAAKA,GAAG,CAACU,IAAI;IAAA,EAAC;EAC5B,CAAC;EAAAC,OAAA;AACH,CAAC,OAAAC,0BAAA,CAAA9B,OAAA,EAAAX,IAAA,aATE0C,iBAAS,OAAAC,yBAAA,CAAAhC,OAAA,EAAAX,IAAA,aAAAA,IAAA,IAAAA,IAAA,EASV;AAAC,IAAA4C,QAAA,GAEY3C,MAAM;AAAA4C,OAAA,CAAAlC,OAAA,GAAAiC,QAAA"}
package/package.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-people",
3
+ "version": "2.60.1",
3
4
  "description": "",
4
5
  "license": "MIT",
5
6
  "main": "dist/index.js",
@@ -10,7 +11,7 @@
10
11
  "directory": "packages/@webex/plugin-people"
11
12
  },
12
13
  "engines": {
13
- "node": ">=16"
14
+ "node": ">=14"
14
15
  },
15
16
  "browserify": {
16
17
  "transform": [
@@ -20,32 +21,30 @@
20
21
  },
21
22
  "devDependencies": {
22
23
  "@babel/core": "^7.17.10",
23
- "@webex/babel-config-legacy": "0.0.0",
24
- "@webex/eslint-config-legacy": "0.0.0",
25
- "@webex/jest-config-legacy": "0.0.0",
26
- "@webex/legacy-tools": "0.0.0",
27
- "@webex/test-helper-chai": "2.60.0-next.8",
28
- "@webex/test-helper-mocha": "2.60.0-next.8",
29
- "@webex/test-helper-mock-webex": "2.60.0-next.8",
30
- "@webex/test-helper-test-users": "2.60.0-next.8",
24
+ "@webex/babel-config-legacy": "2.60.1",
25
+ "@webex/eslint-config-legacy": "2.60.1",
26
+ "@webex/jest-config-legacy": "2.60.1",
27
+ "@webex/legacy-tools": "2.60.1",
28
+ "@webex/test-helper-chai": "2.60.1",
29
+ "@webex/test-helper-mocha": "2.60.1",
30
+ "@webex/test-helper-mock-webex": "2.60.1",
31
+ "@webex/test-helper-test-users": "2.60.1",
31
32
  "eslint": "^8.24.0",
32
33
  "prettier": "^2.7.1",
33
34
  "sinon": "^9.2.4"
34
35
  },
35
36
  "dependencies": {
36
- "@webex/common": "2.60.0-next.8",
37
- "@webex/internal-plugin-mercury": "2.60.0-next.8",
38
- "@webex/webex-core": "2.60.0-next.8"
37
+ "@webex/common": "2.60.1",
38
+ "@webex/internal-plugin-mercury": "2.60.1",
39
+ "@webex/webex-core": "2.60.1"
39
40
  },
40
41
  "scripts": {
41
42
  "build": "yarn build:src",
42
43
  "build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
43
- "deploy:npm": "yarn npm publish",
44
44
  "test": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
45
45
  "test:browser:broken": "webex-legacy-tools test --integration --unit --runner karma",
46
46
  "test:integration": "webex-legacy-tools test --integration --runner mocha",
47
47
  "test:style": "eslint ./src/**/*.*",
48
48
  "test:unit": "webex-legacy-tools test --unit --runner jest"
49
- },
50
- "version": "2.60.0-next.8"
51
- }
49
+ }
50
+ }
@@ -97,8 +97,7 @@ describe('plugin-people', function () {
97
97
  assert.equal(person.emails[0], mccoy.email);
98
98
  }));
99
99
 
100
- // SPARK-413317
101
- it.skip('returns a list of people matching name', () =>
100
+ it('returns a list of people matching name', () =>
102
101
  spock.webex.people.list({displayName: mccoy.name}).then((peopleResponse) => {
103
102
  assert.isAbove(peopleResponse.items.length, 0);
104
103
  let isMccoyFound = false;