@webex/internal-plugin-user 3.0.0-bnr.4 → 3.0.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/.eslintrc.js ADDED
@@ -0,0 +1,6 @@
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
@@ -0,0 +1,3 @@
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
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 = {
11
+ var _default = exports.default = {
12
12
  device: {
13
13
  preDiscoveryServices: {
14
14
  atlasServiceUrl: process.env.ATLAS_SERVICE_URL || 'https://atlas-a.wbx2.com/admin/api/v1',
@@ -24,5 +24,4 @@ var _default = {
24
24
  }
25
25
  }
26
26
  };
27
- exports.default = _default;
28
27
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["device","preDiscoveryServices","atlasServiceUrl","process","env","ATLAS_SERVICE_URL","atlas","user","batcherWait","batcherMaxCalls","batcherMaxWait","verifyDefaults","reqId"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n device: {\n preDiscoveryServices: {\n atlasServiceUrl: process.env.ATLAS_SERVICE_URL || 'https://atlas-a.wbx2.com/admin/api/v1',\n atlas: process.env.ATLAS_SERVICE_URL || 'https://atlas-a.wbx2.com/admin/api/v1',\n },\n },\n\n user: {\n batcherWait: 100,\n batcherMaxCalls: 100,\n batcherMaxWait: 1500,\n verifyDefaults: {\n reqId: 'WEBCLIENT',\n },\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,eAIe;EACbA,MAAM,EAAE;IACNC,oBAAoB,EAAE;MACpBC,eAAe,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB,IAAI,uCAAuC;MACzFC,KAAK,EAAEH,OAAO,CAACC,GAAG,CAACC,iBAAiB,IAAI;IAC1C;EACF,CAAC;EAEDE,IAAI,EAAE;IACJC,WAAW,EAAE,GAAG;IAChBC,eAAe,EAAE,GAAG;IACpBC,cAAc,EAAE,IAAI;IACpBC,cAAc,EAAE;MACdC,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAAA"}
1
+ {"version":3,"names":["_default","exports","default","device","preDiscoveryServices","atlasServiceUrl","process","env","ATLAS_SERVICE_URL","atlas","user","batcherWait","batcherMaxCalls","batcherMaxWait","verifyDefaults","reqId"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n device: {\n preDiscoveryServices: {\n atlasServiceUrl: process.env.ATLAS_SERVICE_URL || 'https://atlas-a.wbx2.com/admin/api/v1',\n atlas: process.env.ATLAS_SERVICE_URL || 'https://atlas-a.wbx2.com/admin/api/v1',\n },\n },\n\n user: {\n batcherWait: 100,\n batcherMaxCalls: 100,\n batcherMaxWait: 1500,\n verifyDefaults: {\n reqId: 'WEBCLIENT',\n },\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,MAAM,EAAE;IACNC,oBAAoB,EAAE;MACpBC,eAAe,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB,IAAI,uCAAuC;MACzFC,KAAK,EAAEH,OAAO,CAACC,GAAG,CAACC,iBAAiB,IAAI;IAC1C;EACF,CAAC;EAEDE,IAAI,EAAE;IACJC,WAAW,EAAE,GAAG;IAChBC,eAAe,EAAE,GAAG;IACpBC,cAAc,EAAE,IAAI;IACpBC,cAAc,EAAE;MACdC,KAAK,EAAE;IACT;EACF;AACF,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","User","config"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport '@webex/internal-plugin-device';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport User from './user';\nimport config from './config';\n\nregisterInternalPlugin('user', User, {\n config,\n});\n\nexport {default} from './user';\n"],"mappings":";;;;;;;;;;;;;AAGA;AAEA;AAEA;AACA;AARA;AACA;AACA;;AAQA,IAAAA,iCAAsB,EAAC,MAAM,EAAEC,aAAI,EAAE;EACnCC,MAAM,EAANA;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["require","_webexCore","_user","_interopRequireDefault","_config","registerInternalPlugin","User","config"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport '@webex/internal-plugin-device';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport User from './user';\nimport config from './config';\n\nregisterInternalPlugin('user', User, {\n config,\n});\n\nexport {default} from './user';\n"],"mappings":";;;;;;;;;;;;;AAGAA,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AARA;AACA;AACA;;AAQA,IAAAK,iCAAsB,EAAC,MAAM,EAAEC,aAAI,EAAE;EACnCC,MAAM,EAANA;AACF,CAAC,CAAC"}
@@ -125,8 +125,7 @@ var UserUUIDBatcher = _webexCore.WebexPlugin.extend({
125
125
  request: function request(payload) {
126
126
  return payload.create ? this.creator.request(payload.email) : this.faker.request(payload.email);
127
127
  },
128
- version: "3.0.0-bnr.4"
128
+ version: "3.0.0"
129
129
  });
130
- var _default = UserUUIDBatcher;
131
- exports.default = _default;
130
+ var _default = exports.default = UserUUIDBatcher;
132
131
  //# sourceMappingURL=user-uuid-batcher.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AbstractUserUUIDRequestBatcher","Batcher","extend","namespace","prepareItem","item","resolve","email","handleHttpSuccess","res","all","body","map","id","handleItemSuccess","handleItemFailure","response","getDeferredForResponse","then","defer","reject","fingerprintRequest","fingerprintResponse","FakeUserUUIDRequestBatcher","submitHttpRequest","payload","webex","request","method","service","resource","RealUserUUIDRequestBatcher","qs","shouldCreateUsers","UserUUIDBatcher","WebexPlugin","children","faker","creator","create"],"sources":["user-uuid-batcher.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Batcher, WebexPlugin} from '@webex/webex-core';\n\n/**\n * @class\n */\nconst AbstractUserUUIDRequestBatcher = Batcher.extend({\n namespace: 'User',\n\n /**\n * @param {string} item\n * @returns {Promise<Object>}\n */\n prepareItem(item) {\n return Promise.resolve({email: item});\n },\n\n /**\n * @param {HttpResponseObject} res\n * @returns {Promise}\n */\n handleHttpSuccess(res) {\n return Promise.all(\n Object.keys(res.body).map((email) => {\n if (res.body[email] && res.body[email].id) {\n return this.handleItemSuccess(email, res.body[email]);\n }\n\n return this.handleItemFailure(email, res.body[email]);\n })\n );\n },\n\n handleItemFailure(email, response) {\n return this.getDeferredForResponse(email).then((defer) => {\n defer.reject(response);\n });\n },\n\n /**\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 * @param {string} email\n * @returns {Promise<string>}\n */\n fingerprintRequest(email) {\n return Promise.resolve(email.email || email);\n },\n\n /**\n * @param {string} email\n * @returns {Promise<string>}\n */\n fingerprintResponse(email) {\n return Promise.resolve(email);\n },\n});\n\n/**\n * @class\n */\nconst FakeUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({\n /**\n * @param {Object} payload\n * @returns {Promise<HttpResponseObject>}\n */\n submitHttpRequest(payload) {\n return this.webex.request({\n method: 'POST',\n service: 'conversation',\n resource: '/users',\n body: payload,\n });\n },\n});\n\n/**\n * @class\n */\nconst RealUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({\n /**\n * @param {Object} payload\n * @returns {Promise<HttpResponseObject>}\n */\n submitHttpRequest(payload) {\n return this.webex.request({\n method: 'POST',\n service: 'conversation',\n resource: '/users',\n body: payload,\n qs: {\n shouldCreateUsers: true,\n },\n });\n },\n});\n\n/**\n * @class\n */\nconst UserUUIDBatcher = WebexPlugin.extend({\n children: {\n faker: FakeUserUUIDRequestBatcher,\n creator: RealUserUUIDRequestBatcher,\n },\n\n /**\n * @param {Object} payload\n * @returns {Promise<Object>}\n */\n request(payload) {\n return payload.create ? this.creator.request(payload.email) : this.faker.request(payload.email);\n },\n});\n\nexport default UserUUIDBatcher;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_webexCore","require","AbstractUserUUIDRequestBatcher","Batcher","extend","namespace","prepareItem","item","_promise","default","resolve","email","handleHttpSuccess","res","_this","all","_keys","body","map","id","handleItemSuccess","handleItemFailure","response","getDeferredForResponse","then","defer","reject","fingerprintRequest","fingerprintResponse","FakeUserUUIDRequestBatcher","submitHttpRequest","payload","webex","request","method","service","resource","RealUserUUIDRequestBatcher","qs","shouldCreateUsers","UserUUIDBatcher","WebexPlugin","children","faker","creator","create","version","_default","exports"],"sources":["user-uuid-batcher.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Batcher, WebexPlugin} from '@webex/webex-core';\n\n/**\n * @class\n */\nconst AbstractUserUUIDRequestBatcher = Batcher.extend({\n namespace: 'User',\n\n /**\n * @param {string} item\n * @returns {Promise<Object>}\n */\n prepareItem(item) {\n return Promise.resolve({email: item});\n },\n\n /**\n * @param {HttpResponseObject} res\n * @returns {Promise}\n */\n handleHttpSuccess(res) {\n return Promise.all(\n Object.keys(res.body).map((email) => {\n if (res.body[email] && res.body[email].id) {\n return this.handleItemSuccess(email, res.body[email]);\n }\n\n return this.handleItemFailure(email, res.body[email]);\n })\n );\n },\n\n handleItemFailure(email, response) {\n return this.getDeferredForResponse(email).then((defer) => {\n defer.reject(response);\n });\n },\n\n /**\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 * @param {string} email\n * @returns {Promise<string>}\n */\n fingerprintRequest(email) {\n return Promise.resolve(email.email || email);\n },\n\n /**\n * @param {string} email\n * @returns {Promise<string>}\n */\n fingerprintResponse(email) {\n return Promise.resolve(email);\n },\n});\n\n/**\n * @class\n */\nconst FakeUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({\n /**\n * @param {Object} payload\n * @returns {Promise<HttpResponseObject>}\n */\n submitHttpRequest(payload) {\n return this.webex.request({\n method: 'POST',\n service: 'conversation',\n resource: '/users',\n body: payload,\n });\n },\n});\n\n/**\n * @class\n */\nconst RealUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({\n /**\n * @param {Object} payload\n * @returns {Promise<HttpResponseObject>}\n */\n submitHttpRequest(payload) {\n return this.webex.request({\n method: 'POST',\n service: 'conversation',\n resource: '/users',\n body: payload,\n qs: {\n shouldCreateUsers: true,\n },\n });\n },\n});\n\n/**\n * @class\n */\nconst UserUUIDBatcher = WebexPlugin.extend({\n children: {\n faker: FakeUserUUIDRequestBatcher,\n creator: RealUserUUIDRequestBatcher,\n },\n\n /**\n * @param {Object} payload\n * @returns {Promise<Object>}\n */\n request(payload) {\n return payload.create ? this.creator.request(payload.email) : this.faker.request(payload.email);\n },\n});\n\nexport default UserUUIDBatcher;\n"],"mappings":";;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA,IAAMC,8BAA8B,GAAGC,kBAAO,CAACC,MAAM,CAAC;EACpDC,SAAS,EAAE,MAAM;EAEjB;AACF;AACA;AACA;EACEC,WAAW,WAAAA,YAACC,IAAI,EAAE;IAChB,OAAOC,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC;MAACC,KAAK,EAAEJ;IAAI,CAAC,CAAC;EACvC,CAAC;EAED;AACF;AACA;AACA;EACEK,iBAAiB,WAAAA,kBAACC,GAAG,EAAE;IAAA,IAAAC,KAAA;IACrB,OAAON,QAAA,CAAAC,OAAA,CAAQM,GAAG,CAChB,IAAAC,KAAA,CAAAP,OAAA,EAAYI,GAAG,CAACI,IAAI,CAAC,CAACC,GAAG,CAAC,UAACP,KAAK,EAAK;MACnC,IAAIE,GAAG,CAACI,IAAI,CAACN,KAAK,CAAC,IAAIE,GAAG,CAACI,IAAI,CAACN,KAAK,CAAC,CAACQ,EAAE,EAAE;QACzC,OAAOL,KAAI,CAACM,iBAAiB,CAACT,KAAK,EAAEE,GAAG,CAACI,IAAI,CAACN,KAAK,CAAC,CAAC;MACvD;MAEA,OAAOG,KAAI,CAACO,iBAAiB,CAACV,KAAK,EAAEE,GAAG,CAACI,IAAI,CAACN,KAAK,CAAC,CAAC;IACvD,CAAC,CACH,CAAC;EACH,CAAC;EAEDU,iBAAiB,WAAAA,kBAACV,KAAK,EAAEW,QAAQ,EAAE;IACjC,OAAO,IAAI,CAACC,sBAAsB,CAACZ,KAAK,CAAC,CAACa,IAAI,CAAC,UAACC,KAAK,EAAK;MACxDA,KAAK,CAACC,MAAM,CAACJ,QAAQ,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACEF,iBAAiB,WAAAA,kBAACT,KAAK,EAAEW,QAAQ,EAAE;IACjC,OAAO,IAAI,CAACC,sBAAsB,CAACZ,KAAK,CAAC,CAACa,IAAI,CAAC,UAACC,KAAK,EAAK;MACxDA,KAAK,CAACf,OAAO,CAACY,QAAQ,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;EACEK,kBAAkB,WAAAA,mBAAChB,KAAK,EAAE;IACxB,OAAOH,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACC,KAAK,CAACA,KAAK,IAAIA,KAAK,CAAC;EAC9C,CAAC;EAED;AACF;AACA;AACA;EACEiB,mBAAmB,WAAAA,oBAACjB,KAAK,EAAE;IACzB,OAAOH,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACC,KAAK,CAAC;EAC/B;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA,IAAMkB,0BAA0B,GAAG3B,8BAA8B,CAACE,MAAM,CAAC;EACvE;AACF;AACA;AACA;EACE0B,iBAAiB,WAAAA,kBAACC,OAAO,EAAE;IACzB,OAAO,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC;MACxBC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE,cAAc;MACvBC,QAAQ,EAAE,QAAQ;MAClBnB,IAAI,EAAEc;IACR,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA,IAAMM,0BAA0B,GAAGnC,8BAA8B,CAACE,MAAM,CAAC;EACvE;AACF;AACA;AACA;EACE0B,iBAAiB,WAAAA,kBAACC,OAAO,EAAE;IACzB,OAAO,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC;MACxBC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE,cAAc;MACvBC,QAAQ,EAAE,QAAQ;MAClBnB,IAAI,EAAEc,OAAO;MACbO,EAAE,EAAE;QACFC,iBAAiB,EAAE;MACrB;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA,IAAMC,eAAe,GAAGC,sBAAW,CAACrC,MAAM,CAAC;EACzCsC,QAAQ,EAAE;IACRC,KAAK,EAAEd,0BAA0B;IACjCe,OAAO,EAAEP;EACX,CAAC;EAED;AACF;AACA;AACA;EACEJ,OAAO,WAAAA,QAACF,OAAO,EAAE;IACf,OAAOA,OAAO,CAACc,MAAM,GAAG,IAAI,CAACD,OAAO,CAACX,OAAO,CAACF,OAAO,CAACpB,KAAK,CAAC,GAAG,IAAI,CAACgC,KAAK,CAACV,OAAO,CAACF,OAAO,CAACpB,KAAK,CAAC;EACjG,CAAC;EAAAmC,OAAA;AACH,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAvC,OAAA,GAEY+B,eAAe"}
@@ -18,15 +18,17 @@ var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/we
18
18
  var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
19
19
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
20
20
  var _common = require("@webex/common");
21
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /*!
23
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
24
+ */
23
25
  var usersByEmail = new _weakMap.default();
24
26
  var usersById = new _weakMap.default();
25
27
 
26
28
  /**
27
29
  * @class
28
30
  */
29
- var UserUUIDStore = /*#__PURE__*/function () {
31
+ var UserUUIDStore = exports.default = /*#__PURE__*/function () {
30
32
  /**
31
33
  * @constructs {UserUUIDStore}
32
34
  */
@@ -121,5 +123,4 @@ var UserUUIDStore = /*#__PURE__*/function () {
121
123
  }]);
122
124
  return UserUUIDStore;
123
125
  }();
124
- exports.default = UserUUIDStore;
125
126
  //# sourceMappingURL=user-uuid-store.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["usersByEmail","usersById","UserUUIDStore","set","user","id","reject","Error","emailAddress","patterns","uuid","test","email","p1","getById","then","u","get","catch","p2","getByEmail","all","ret","resolve"],"sources":["user-uuid-store.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {patterns} from '@webex/common';\n\nconst usersByEmail = new WeakMap();\nconst usersById = new WeakMap();\n\n/**\n * @class\n */\nexport default class UserUUIDStore {\n /**\n * @constructs {UserUUIDStore}\n */\n constructor() {\n usersByEmail.set(this, new Map());\n usersById.set(this, new Map());\n }\n\n /**\n * Adds a user object to the store\n * @param {Object} user\n * @param {string} user.id\n * @param {string} user.emailAddress\n * @returns {Promise}\n */\n add(user) {\n if (!user.id) {\n return Promise.reject(new Error('`user.id` is required'));\n }\n\n if (!user.emailAddress) {\n return Promise.reject(new Error('`user.emailAddress` is required'));\n }\n\n if (!patterns.uuid.test(user.id)) {\n return Promise.reject(new Error('`user.id` does not appear to be a uuid'));\n }\n\n if (!patterns.email.test(user.emailAddress)) {\n return Promise.reject(\n new Error('`user.emailAddress` does not appear to be an email address')\n );\n }\n\n const p1 = this.getById(user.id)\n .then((u) => usersById.get(this).set(user.id, {...u, ...user}))\n .catch(() => usersById.get(this).set(user.id, {...user}));\n\n const p2 = this.getByEmail(user.emailAddress)\n .then((u) => usersByEmail.get(this).set(user.emailAddress, {...u, ...user}))\n .catch(() => usersByEmail.get(this).set(user.emailAddress, {...user}));\n\n return Promise.all([p1, p2]);\n }\n\n /**\n * Retrieves the specified user object from the store\n * @param {string} id\n * @returns {Promise<Object>}\n */\n get(id) {\n if (patterns.uuid.test(id)) {\n return this.getById(id);\n }\n\n if (patterns.email.test(id)) {\n return this.getByEmail(id);\n }\n\n return Promise.reject(new Error('`id` does not appear to be a valid user identifier'));\n }\n\n /**\n * Retrieves the specified user object by id from the store\n * @param {Object} id\n * @returns {Promise<Object>}\n */\n getById(id) {\n const ret = usersById.get(this).get(id);\n\n if (ret) {\n return Promise.resolve(ret);\n }\n\n return Promise.reject(new Error('No user found by specified id'));\n }\n\n /**\n * Retrieves the specified user object by id from the store\n * @param {Object} email\n * @returns {Promise<Object>}\n */\n getByEmail(email) {\n const ret = usersByEmail.get(this).get(email);\n\n if (ret) {\n return Promise.resolve(ret);\n }\n\n return Promise.reject(new Error('No user found by specified email address'));\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_common","require","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","usersByEmail","_weakMap","usersById","UserUUIDStore","exports","_classCallCheck2","set","_map","_createClass2","key","value","add","user","_this","id","_promise","reject","Error","emailAddress","patterns","uuid","test","email","p1","getById","then","u","get","catch","p2","getByEmail","all","ret","resolve"],"sources":["user-uuid-store.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {patterns} from '@webex/common';\n\nconst usersByEmail = new WeakMap();\nconst usersById = new WeakMap();\n\n/**\n * @class\n */\nexport default class UserUUIDStore {\n /**\n * @constructs {UserUUIDStore}\n */\n constructor() {\n usersByEmail.set(this, new Map());\n usersById.set(this, new Map());\n }\n\n /**\n * Adds a user object to the store\n * @param {Object} user\n * @param {string} user.id\n * @param {string} user.emailAddress\n * @returns {Promise}\n */\n add(user) {\n if (!user.id) {\n return Promise.reject(new Error('`user.id` is required'));\n }\n\n if (!user.emailAddress) {\n return Promise.reject(new Error('`user.emailAddress` is required'));\n }\n\n if (!patterns.uuid.test(user.id)) {\n return Promise.reject(new Error('`user.id` does not appear to be a uuid'));\n }\n\n if (!patterns.email.test(user.emailAddress)) {\n return Promise.reject(\n new Error('`user.emailAddress` does not appear to be an email address')\n );\n }\n\n const p1 = this.getById(user.id)\n .then((u) => usersById.get(this).set(user.id, {...u, ...user}))\n .catch(() => usersById.get(this).set(user.id, {...user}));\n\n const p2 = this.getByEmail(user.emailAddress)\n .then((u) => usersByEmail.get(this).set(user.emailAddress, {...u, ...user}))\n .catch(() => usersByEmail.get(this).set(user.emailAddress, {...user}));\n\n return Promise.all([p1, p2]);\n }\n\n /**\n * Retrieves the specified user object from the store\n * @param {string} id\n * @returns {Promise<Object>}\n */\n get(id) {\n if (patterns.uuid.test(id)) {\n return this.getById(id);\n }\n\n if (patterns.email.test(id)) {\n return this.getByEmail(id);\n }\n\n return Promise.reject(new Error('`id` does not appear to be a valid user identifier'));\n }\n\n /**\n * Retrieves the specified user object by id from the store\n * @param {Object} id\n * @returns {Promise<Object>}\n */\n getById(id) {\n const ret = usersById.get(this).get(id);\n\n if (ret) {\n return Promise.resolve(ret);\n }\n\n return Promise.reject(new Error('No user found by specified id'));\n }\n\n /**\n * Retrieves the specified user object by id from the store\n * @param {Object} email\n * @returns {Promise<Object>}\n */\n getByEmail(email) {\n const ret = usersByEmail.get(this).get(email);\n\n if (ret) {\n return Promise.resolve(ret);\n }\n\n return Promise.reject(new Error('No user found by specified email address'));\n }\n}\n"],"mappings":"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"}
package/dist/user.js CHANGED
@@ -16,14 +16,17 @@ var _apply = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/refl
16
16
  var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
18
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/applyDecoratedDescriptor"));
19
- var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
19
+ var _lodash = require("lodash");
20
20
  var _common = require("@webex/common");
21
21
  var _webexCore = require("@webex/webex-core");
22
22
  var _userUuidBatcher = _interopRequireDefault(require("./user-uuid-batcher"));
23
23
  var _userUuidStore = _interopRequireDefault(require("./user-uuid-store"));
24
24
  var _dec, _dec2, _dec3, _dec4, _obj;
25
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor2(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor2(source, key)); }); } return target; }
25
+ /*!
26
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
27
+ */
28
+ 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; }
29
+ 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; }
27
30
  /**
28
31
  * @class
29
32
  */
@@ -111,7 +114,7 @@ var User = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)('@
111
114
  if (!user) {
112
115
  return _promise.default.reject(new Error('`user` is required'));
113
116
  }
114
- if ((0, _isArray2.default)(user)) {
117
+ if ((0, _lodash.isArray)(user)) {
115
118
  return _promise.default.all(user.map(function (u) {
116
119
  return _this2.asUUID(u, options);
117
120
  }));
@@ -448,8 +451,7 @@ var User = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)('@
448
451
  _extractEmailAddress: function _extractEmailAddress(user) {
449
452
  return user.email || user.emailAddress || user.entryEmail || user;
450
453
  },
451
- version: "3.0.0-bnr.4"
454
+ version: "3.0.0"
452
455
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "activate", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "activate"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "getUUID", [_dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "getUUID"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "initialize", [_dec3], (0, _getOwnPropertyDescriptor.default)(_obj, "initialize"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "register", [_dec4], (0, _getOwnPropertyDescriptor.default)(_obj, "register"), _obj)), _obj)));
453
- var _default2 = User;
454
- exports.default = _default2;
456
+ var _default2 = exports.default = User;
455
457
  //# sourceMappingURL=user.js.map
package/dist/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["User","WebexPlugin","extend","waitForValue","oneFlight","keyFactory","email","options","String","create","persist","deprecated","namespace","children","batcher","UserUUIDBatcher","props","hasPassword","default","type","session","store","UserUUIDStore","activate","verificationToken","confirmationCode","id","reject","Error","scope","webex","config","credentials","activateOptions","request","uri","activationUrl","method","body","auth","user","client_id","pass","client_secret","sendImmediately","then","res","set","supertoken","tokenData","asUUID","all","map","u","_extractUUID","force","patterns","uuid","test","resolve","_extractEmailAddress","getUUID","fetchUUID","recordUUID","emailAddress","generateOTP","generateOtpUrl","get","service","resource","tap","getByEmail","userExists","catch","initialize","args","prototype","add","register","verify","_setUser","getUserToken","token","setPasswordUrl","internal","device","userId","headers","authorization","toString","setPassword","password","schemas","updateName","givenName","familyName","displayName","name","update","validateOTP","oneTimePassword","validateOtpUrl","verifyDefaults","services","collectPreauthCatalog","getClientToken","preloginId","shouldRefreshAccessToken","sso","getUserCI","lookupCI","verifyOptions","suppressEmail","userEntities","idBrokerUrl","idbroker","url","identityUrl","identity","entryUUID","entryEmail"],"sources":["user.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {isArray} from 'lodash';\nimport {deprecated, oneFlight, patterns, tap} from '@webex/common';\nimport {persist, WebexPlugin, waitForValue} from '@webex/webex-core';\n\nimport UserUUIDBatcher from './user-uuid-batcher';\nimport UserUUIDStore from './user-uuid-store';\n\n/**\n * @class\n */\nconst User = WebexPlugin.extend({\n namespace: 'User',\n\n children: {\n batcher: UserUUIDBatcher,\n },\n\n props: {\n /**\n * Indicates if the current user is known to have a password.\n * @instance\n * @memberof User\n * @type {boolean}\n */\n hasPassword: {\n default: false,\n type: 'boolean',\n },\n },\n\n session: {\n store: {\n default() {\n return new UserUUIDStore();\n },\n type: 'any',\n },\n },\n\n @waitForValue('@')\n /**\n * Activates a Webex user account and exchanges for user token.\n * @instance\n * @memberof User\n * @param {Object} options\n * @param {Object} options.confirmationCode (required -- optional if verification token is provided)\n * @param {Object} options.id (required -- optional if verification token is provided)\n * @param {Object} options.verificationToken (required -- optional if uuid and verification token provided)\n * @param {Object} options.email (required with verificationToken for Federation/global user)\n * @returns {Promise} Resolves with a userSession\n */\n activate(options = {}) {\n if (!(options.verificationToken || (options.confirmationCode && options.id))) {\n return Promise.reject(\n new Error(\n 'either options.verificationToken is required or both options.confirmationCode and options.id are required'\n )\n );\n }\n\n options.scope = this.webex.config.credentials.scope;\n\n // if we have options.email and options.verificationToken\n // and Federation flag is enabled, flag that we need to\n // lookup user's CI.\n const activateOptions = {...options};\n\n delete activateOptions.email;\n\n return this.request({\n uri: this.webex.config.credentials.activationUrl,\n method: 'POST',\n body: activateOptions,\n auth: {\n user: this.webex.config.credentials.client_id,\n pass: this.webex.config.credentials.client_secret,\n sendImmediately: true,\n },\n }).then((res) => {\n this.webex.credentials.set({supertoken: res.body.tokenData});\n\n return res.body;\n });\n },\n\n /**\n * Converts a user-identifying object to a uuid, perhaps by doing a network\n * lookup\n * @param {string|Object} user\n * @param {Object} options\n * @param {boolean} options.create if true, ensures the return UUID refers to\n * an existing user (rather than creating one deterministically based on email\n * address), even if that user must be created\n * @returns {Promise<string>}\n */\n asUUID(user, options) {\n if (!user) {\n return Promise.reject(new Error('`user` is required'));\n }\n\n if (isArray(user)) {\n return Promise.all(user.map((u) => this.asUUID(u, options)));\n }\n\n const id = this._extractUUID(user);\n\n if (!(options && options.force) && patterns.uuid.test(id)) {\n return Promise.resolve(id);\n }\n\n const email = this._extractEmailAddress(user);\n\n if (!patterns.email.test(email)) {\n return Promise.reject(new Error('Provided user object does not appear to identify a user'));\n }\n\n return this.getUUID(email, options);\n },\n\n /**\n * Requests a uuid from the api\n * @param {string} email\n * @param {Object} options\n * @param {boolean} options.create\n * @returns {Promise<string>}\n */\n fetchUUID(email, options) {\n return this.batcher\n .request({\n email,\n create: options && options.create,\n })\n .then((user) => this.recordUUID({emailAddress: email, ...user}).then(() => user.id));\n },\n /**\n * Generates One Time Password.\n * @instance\n * @param {Object} options\n * @param {string} options.email\n * @param {string} options.id\n * @returns {Promise}\n */\n generateOTP(options = {}) {\n if (!(options.email || options.id)) {\n return Promise.reject(new Error('One of `options.email` or `options.id` is required'));\n }\n\n return this.request({\n uri: this.webex.config.credentials.generateOtpUrl,\n method: 'POST',\n body: options,\n auth: {\n user: this.webex.config.credentials.client_id,\n pass: this.webex.config.credentials.client_secret,\n },\n }).then((res) => res.body);\n },\n\n /**\n * Fetches details about the current user\n * @returns {Promise<Object>}\n */\n get() {\n return this.request({\n service: 'conversation',\n resource: 'users',\n })\n .then((res) => res.body)\n .then(\n tap((user) =>\n this.recordUUID({\n id: user.id,\n // CI endpoints don't use the same user format as actors, so, email may\n // be in one of a few fields\n emailAddress: user.email || user.emailAddress,\n })\n )\n );\n },\n\n /**\n * Converts an email address to a uuid, perhaps by doing a network lookup\n * @param {string} email\n * @param {Object} options\n * @param {boolean} options.create\n * @returns {Promise<string>}\n */\n @oneFlight({keyFactory: (email, options) => email + String(options && options.create)})\n getUUID(email, options) {\n return this.store\n .getByEmail(email)\n .then((user) => {\n if (options && options.create && !user.userExists) {\n return Promise.reject(new Error('User for specified email cannot be confirmed to exist'));\n }\n\n if (!user.id) {\n return Promise.reject(new Error('No id recorded for specified user'));\n }\n\n return user.id;\n })\n .catch(() => this.fetchUUID(email, options));\n },\n\n @persist('@')\n initialize(...args) {\n return Reflect.apply(WebexPlugin.prototype.initialize, this, args);\n },\n\n /**\n * Caches the uuid for the specified email address\n * @param {Object} user\n * @param {string} user.id\n * @param {string} user.emailAddress\n * @returns {Promise}\n */\n recordUUID(user) {\n if (!user) {\n return Promise.reject(new Error('`user` is required'));\n }\n\n if (!user.id) {\n return Promise.reject(new Error('`user.id` is required'));\n }\n\n if (!patterns.uuid.test(user.id)) {\n return Promise.reject(new Error('`user.id` must be a uuid'));\n }\n\n if (!user.emailAddress) {\n return Promise.reject(new Error('`user.emailAddress` is required'));\n }\n\n if (!patterns.email.test(user.emailAddress)) {\n return Promise.reject(new Error('`user.emailAddress` must be an email address'));\n }\n\n return this.store.add(user);\n },\n\n @deprecated('Use User#verify()')\n register(...args) {\n return this.verify(...args);\n },\n\n /**\n * Updates a user with webex.\n * @param {Object} body\n * @private\n * @returns {Promise} Resolves with a response from PATCH request\n */\n _setUser(body) {\n return this.webex.credentials.getUserToken().then((token) =>\n this.request({\n uri: `${this.webex.config.credentials.setPasswordUrl}/${this.webex.internal.device.userId}`,\n method: 'PATCH',\n headers: {\n authorization: token.toString(),\n },\n body,\n })\n );\n },\n\n /**\n * Updates a user's password with webex.\n * @instance\n * @memberof User\n * @param {Object} options\n * @param {string} options.password (required)\n * @param {string} options.email (required when federation enabled)\n * @returns {Promise} Resolves with complete user object containing new password\n */\n setPassword(options) {\n options = options || {};\n if (!options.password) {\n return Promise.reject(new Error('`options.password` is required'));\n }\n\n return this._setUser({\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n password: options.password,\n }).then((res) => {\n this.hasPassword = true;\n\n return res.body;\n });\n },\n\n /**\n * Updates a user's name with webex.\n * @instance\n * @memberof User\n * @param {string} givenName\n * @param {string} familyName\n * @param {string} displayName\n * @returns {Promise<Object>}\n */\n updateName({givenName, familyName, displayName} = {}) {\n if (!(givenName || familyName || displayName)) {\n return Promise.reject(\n new Error('One of `givenName` and `familyName` or `displayName` is required')\n );\n }\n\n return this._setUser({\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n name: {givenName, familyName},\n displayName,\n }).then((res) => res.body);\n },\n\n /**\n * Updates the current user's display name\n * @param {Object} options\n * @param {string} options.displayName\n * @returns {Promise<Object>}\n */\n update(options) {\n options = options || {};\n if (!options.displayName) {\n return Promise.reject(new Error('`options.displayName` is required'));\n }\n\n return this.request({\n method: 'PATCH',\n service: 'conversation',\n resource: 'users/user',\n body: options,\n }).then((res) => res.body);\n },\n\n /**\n * Validated One Time Password.\n * @instance\n * @param {Object} options\n * @param {string} options.email\n * @param {string} options.id\n * @param {string} options.oneTimePassword\n * @returns {Promise}\n */\n validateOTP(options = {}) {\n if (!(options.email || options.id) || !options.oneTimePassword) {\n return Promise.reject(\n new Error(\n 'One of `options.email` or `options.id` and `options.oneTimePassword` are required'\n )\n );\n }\n\n options.scope = this.webex.config.credentials.scope;\n\n return this.request({\n uri: this.webex.config.credentials.validateOtpUrl,\n method: 'POST',\n body: options,\n auth: {\n user: this.webex.config.credentials.client_id,\n pass: this.webex.config.credentials.client_secret,\n },\n }).then((res) => {\n this.webex.credentials.set({supertoken: res.body.tokenData});\n\n return res.body;\n });\n },\n\n /**\n * Determines if the specified user needs to signup or can signin.\n * Triggers activation email if client credentials are used\n * @param {Object} options\n * @param {string} options.email (required)\n * @param {string} options.reqId required if need to check email status\n * @param {string} options.preloginId\n * @returns {Promise<Object>}\n */\n verify(options) {\n options = {...this.config.verifyDefaults, ...options};\n const {email} = options;\n\n if (!email) {\n return Promise.reject(new Error('`options.email` is required'));\n }\n\n return this.webex.internal.services\n .collectPreauthCatalog({email})\n .then(() => this.webex.credentials.getUserToken())\n .catch(() => this.webex.credentials.getClientToken())\n .then((token) =>\n this.request({\n service: 'atlas',\n resource: 'users/activations',\n method: 'POST',\n headers: {\n authorization: token.toString(),\n 'x-prelogin-userid': options.preloginId,\n },\n body: options,\n shouldRefreshAccessToken: false,\n })\n )\n .then((res) => {\n if (res.body.hasPassword || res.body.sso) {\n this.hasPassword = true;\n }\n\n return res.body;\n });\n },\n\n /**\n * If the passed-in lookupCI is true, retrieve the user's\n * CI from Atlas and return the URL's via a Promise.\n * Otherwise, return current CI in config via a Promise.\n * Useful in a Promise chain to retrieve the CI based on\n * conditions like Federation enabled, and suppresses sending\n * an additional email to the user, since this is just a\n * look-up.\n * @param {string} email (required)\n * @param {boolean} lookupCI (required)\n * @returns {Promise<Object>}\n */\n getUserCI(email, lookupCI) {\n if (lookupCI) {\n // call verify first to get the user's CI, but suppress sending another email\n const verifyOptions = {\n email,\n suppressEmail: true,\n };\n\n return this.verify(verifyOptions).then((res) => Promise.resolve(res.userEntities));\n }\n\n return Promise.resolve({\n idBrokerUrl: this.webex.config.credentials.idbroker.url,\n identityUrl: this.webex.config.credentials.identity.url,\n });\n },\n\n /**\n * Extracts the uuid from a user identifying object\n * @param {string|Object} user\n * @private\n * @returns {string}\n */\n _extractUUID(user) {\n return user.entryUUID || user.id || user;\n },\n\n /**\n * Extracts the email address from a user identifying object\n * @param {string|Object} user\n * @private\n * @returns {string}\n */\n _extractEmailAddress(user) {\n return user.email || user.emailAddress || user.entryEmail || user;\n },\n});\n\nexport default User;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","_common","_webexCore","_userUuidBatcher","_interopRequireDefault","_userUuidStore","_dec","_dec2","_dec3","_dec4","_obj","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor2","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","User","WebexPlugin","extend","waitForValue","oneFlight","keyFactory","email","options","String","create","persist","deprecated","namespace","children","batcher","UserUUIDBatcher","props","hasPassword","type","session","store","_default","UserUUIDStore","activate","_this","undefined","verificationToken","confirmationCode","id","_promise","reject","Error","scope","webex","config","credentials","activateOptions","request","uri","activationUrl","method","body","auth","user","client_id","pass","client_secret","sendImmediately","then","res","set","supertoken","tokenData","asUUID","_this2","isArray","all","map","u","_extractUUID","force","patterns","uuid","test","resolve","_extractEmailAddress","getUUID","fetchUUID","_this3","recordUUID","emailAddress","generateOTP","generateOtpUrl","get","_this4","service","resource","tap","_this5","getByEmail","userExists","catch","initialize","_len","args","Array","_key","_apply","prototype","add","register","verify","_setUser","_this6","getUserToken","token","concat","setPasswordUrl","internal","device","userId","headers","authorization","toString","setPassword","_this7","password","schemas","updateName","_ref","givenName","familyName","displayName","name","update","validateOTP","_this8","oneTimePassword","validateOtpUrl","_this9","verifyDefaults","_options","services","collectPreauthCatalog","getClientToken","preloginId","shouldRefreshAccessToken","sso","getUserCI","lookupCI","verifyOptions","suppressEmail","userEntities","idBrokerUrl","idbroker","url","identityUrl","identity","entryUUID","entryEmail","version","_applyDecoratedDescriptor2","_getOwnPropertyDescriptor","_default2","exports"],"sources":["user.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {isArray} from 'lodash';\nimport {deprecated, oneFlight, patterns, tap} from '@webex/common';\nimport {persist, WebexPlugin, waitForValue} from '@webex/webex-core';\n\nimport UserUUIDBatcher from './user-uuid-batcher';\nimport UserUUIDStore from './user-uuid-store';\n\n/**\n * @class\n */\nconst User = WebexPlugin.extend({\n namespace: 'User',\n\n children: {\n batcher: UserUUIDBatcher,\n },\n\n props: {\n /**\n * Indicates if the current user is known to have a password.\n * @instance\n * @memberof User\n * @type {boolean}\n */\n hasPassword: {\n default: false,\n type: 'boolean',\n },\n },\n\n session: {\n store: {\n default() {\n return new UserUUIDStore();\n },\n type: 'any',\n },\n },\n\n @waitForValue('@')\n /**\n * Activates a Webex user account and exchanges for user token.\n * @instance\n * @memberof User\n * @param {Object} options\n * @param {Object} options.confirmationCode (required -- optional if verification token is provided)\n * @param {Object} options.id (required -- optional if verification token is provided)\n * @param {Object} options.verificationToken (required -- optional if uuid and verification token provided)\n * @param {Object} options.email (required with verificationToken for Federation/global user)\n * @returns {Promise} Resolves with a userSession\n */\n activate(options = {}) {\n if (!(options.verificationToken || (options.confirmationCode && options.id))) {\n return Promise.reject(\n new Error(\n 'either options.verificationToken is required or both options.confirmationCode and options.id are required'\n )\n );\n }\n\n options.scope = this.webex.config.credentials.scope;\n\n // if we have options.email and options.verificationToken\n // and Federation flag is enabled, flag that we need to\n // lookup user's CI.\n const activateOptions = {...options};\n\n delete activateOptions.email;\n\n return this.request({\n uri: this.webex.config.credentials.activationUrl,\n method: 'POST',\n body: activateOptions,\n auth: {\n user: this.webex.config.credentials.client_id,\n pass: this.webex.config.credentials.client_secret,\n sendImmediately: true,\n },\n }).then((res) => {\n this.webex.credentials.set({supertoken: res.body.tokenData});\n\n return res.body;\n });\n },\n\n /**\n * Converts a user-identifying object to a uuid, perhaps by doing a network\n * lookup\n * @param {string|Object} user\n * @param {Object} options\n * @param {boolean} options.create if true, ensures the return UUID refers to\n * an existing user (rather than creating one deterministically based on email\n * address), even if that user must be created\n * @returns {Promise<string>}\n */\n asUUID(user, options) {\n if (!user) {\n return Promise.reject(new Error('`user` is required'));\n }\n\n if (isArray(user)) {\n return Promise.all(user.map((u) => this.asUUID(u, options)));\n }\n\n const id = this._extractUUID(user);\n\n if (!(options && options.force) && patterns.uuid.test(id)) {\n return Promise.resolve(id);\n }\n\n const email = this._extractEmailAddress(user);\n\n if (!patterns.email.test(email)) {\n return Promise.reject(new Error('Provided user object does not appear to identify a user'));\n }\n\n return this.getUUID(email, options);\n },\n\n /**\n * Requests a uuid from the api\n * @param {string} email\n * @param {Object} options\n * @param {boolean} options.create\n * @returns {Promise<string>}\n */\n fetchUUID(email, options) {\n return this.batcher\n .request({\n email,\n create: options && options.create,\n })\n .then((user) => this.recordUUID({emailAddress: email, ...user}).then(() => user.id));\n },\n /**\n * Generates One Time Password.\n * @instance\n * @param {Object} options\n * @param {string} options.email\n * @param {string} options.id\n * @returns {Promise}\n */\n generateOTP(options = {}) {\n if (!(options.email || options.id)) {\n return Promise.reject(new Error('One of `options.email` or `options.id` is required'));\n }\n\n return this.request({\n uri: this.webex.config.credentials.generateOtpUrl,\n method: 'POST',\n body: options,\n auth: {\n user: this.webex.config.credentials.client_id,\n pass: this.webex.config.credentials.client_secret,\n },\n }).then((res) => res.body);\n },\n\n /**\n * Fetches details about the current user\n * @returns {Promise<Object>}\n */\n get() {\n return this.request({\n service: 'conversation',\n resource: 'users',\n })\n .then((res) => res.body)\n .then(\n tap((user) =>\n this.recordUUID({\n id: user.id,\n // CI endpoints don't use the same user format as actors, so, email may\n // be in one of a few fields\n emailAddress: user.email || user.emailAddress,\n })\n )\n );\n },\n\n /**\n * Converts an email address to a uuid, perhaps by doing a network lookup\n * @param {string} email\n * @param {Object} options\n * @param {boolean} options.create\n * @returns {Promise<string>}\n */\n @oneFlight({keyFactory: (email, options) => email + String(options && options.create)})\n getUUID(email, options) {\n return this.store\n .getByEmail(email)\n .then((user) => {\n if (options && options.create && !user.userExists) {\n return Promise.reject(new Error('User for specified email cannot be confirmed to exist'));\n }\n\n if (!user.id) {\n return Promise.reject(new Error('No id recorded for specified user'));\n }\n\n return user.id;\n })\n .catch(() => this.fetchUUID(email, options));\n },\n\n @persist('@')\n initialize(...args) {\n return Reflect.apply(WebexPlugin.prototype.initialize, this, args);\n },\n\n /**\n * Caches the uuid for the specified email address\n * @param {Object} user\n * @param {string} user.id\n * @param {string} user.emailAddress\n * @returns {Promise}\n */\n recordUUID(user) {\n if (!user) {\n return Promise.reject(new Error('`user` is required'));\n }\n\n if (!user.id) {\n return Promise.reject(new Error('`user.id` is required'));\n }\n\n if (!patterns.uuid.test(user.id)) {\n return Promise.reject(new Error('`user.id` must be a uuid'));\n }\n\n if (!user.emailAddress) {\n return Promise.reject(new Error('`user.emailAddress` is required'));\n }\n\n if (!patterns.email.test(user.emailAddress)) {\n return Promise.reject(new Error('`user.emailAddress` must be an email address'));\n }\n\n return this.store.add(user);\n },\n\n @deprecated('Use User#verify()')\n register(...args) {\n return this.verify(...args);\n },\n\n /**\n * Updates a user with webex.\n * @param {Object} body\n * @private\n * @returns {Promise} Resolves with a response from PATCH request\n */\n _setUser(body) {\n return this.webex.credentials.getUserToken().then((token) =>\n this.request({\n uri: `${this.webex.config.credentials.setPasswordUrl}/${this.webex.internal.device.userId}`,\n method: 'PATCH',\n headers: {\n authorization: token.toString(),\n },\n body,\n })\n );\n },\n\n /**\n * Updates a user's password with webex.\n * @instance\n * @memberof User\n * @param {Object} options\n * @param {string} options.password (required)\n * @param {string} options.email (required when federation enabled)\n * @returns {Promise} Resolves with complete user object containing new password\n */\n setPassword(options) {\n options = options || {};\n if (!options.password) {\n return Promise.reject(new Error('`options.password` is required'));\n }\n\n return this._setUser({\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n password: options.password,\n }).then((res) => {\n this.hasPassword = true;\n\n return res.body;\n });\n },\n\n /**\n * Updates a user's name with webex.\n * @instance\n * @memberof User\n * @param {string} givenName\n * @param {string} familyName\n * @param {string} displayName\n * @returns {Promise<Object>}\n */\n updateName({givenName, familyName, displayName} = {}) {\n if (!(givenName || familyName || displayName)) {\n return Promise.reject(\n new Error('One of `givenName` and `familyName` or `displayName` is required')\n );\n }\n\n return this._setUser({\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n name: {givenName, familyName},\n displayName,\n }).then((res) => res.body);\n },\n\n /**\n * Updates the current user's display name\n * @param {Object} options\n * @param {string} options.displayName\n * @returns {Promise<Object>}\n */\n update(options) {\n options = options || {};\n if (!options.displayName) {\n return Promise.reject(new Error('`options.displayName` is required'));\n }\n\n return this.request({\n method: 'PATCH',\n service: 'conversation',\n resource: 'users/user',\n body: options,\n }).then((res) => res.body);\n },\n\n /**\n * Validated One Time Password.\n * @instance\n * @param {Object} options\n * @param {string} options.email\n * @param {string} options.id\n * @param {string} options.oneTimePassword\n * @returns {Promise}\n */\n validateOTP(options = {}) {\n if (!(options.email || options.id) || !options.oneTimePassword) {\n return Promise.reject(\n new Error(\n 'One of `options.email` or `options.id` and `options.oneTimePassword` are required'\n )\n );\n }\n\n options.scope = this.webex.config.credentials.scope;\n\n return this.request({\n uri: this.webex.config.credentials.validateOtpUrl,\n method: 'POST',\n body: options,\n auth: {\n user: this.webex.config.credentials.client_id,\n pass: this.webex.config.credentials.client_secret,\n },\n }).then((res) => {\n this.webex.credentials.set({supertoken: res.body.tokenData});\n\n return res.body;\n });\n },\n\n /**\n * Determines if the specified user needs to signup or can signin.\n * Triggers activation email if client credentials are used\n * @param {Object} options\n * @param {string} options.email (required)\n * @param {string} options.reqId required if need to check email status\n * @param {string} options.preloginId\n * @returns {Promise<Object>}\n */\n verify(options) {\n options = {...this.config.verifyDefaults, ...options};\n const {email} = options;\n\n if (!email) {\n return Promise.reject(new Error('`options.email` is required'));\n }\n\n return this.webex.internal.services\n .collectPreauthCatalog({email})\n .then(() => this.webex.credentials.getUserToken())\n .catch(() => this.webex.credentials.getClientToken())\n .then((token) =>\n this.request({\n service: 'atlas',\n resource: 'users/activations',\n method: 'POST',\n headers: {\n authorization: token.toString(),\n 'x-prelogin-userid': options.preloginId,\n },\n body: options,\n shouldRefreshAccessToken: false,\n })\n )\n .then((res) => {\n if (res.body.hasPassword || res.body.sso) {\n this.hasPassword = true;\n }\n\n return res.body;\n });\n },\n\n /**\n * If the passed-in lookupCI is true, retrieve the user's\n * CI from Atlas and return the URL's via a Promise.\n * Otherwise, return current CI in config via a Promise.\n * Useful in a Promise chain to retrieve the CI based on\n * conditions like Federation enabled, and suppresses sending\n * an additional email to the user, since this is just a\n * look-up.\n * @param {string} email (required)\n * @param {boolean} lookupCI (required)\n * @returns {Promise<Object>}\n */\n getUserCI(email, lookupCI) {\n if (lookupCI) {\n // call verify first to get the user's CI, but suppress sending another email\n const verifyOptions = {\n email,\n suppressEmail: true,\n };\n\n return this.verify(verifyOptions).then((res) => Promise.resolve(res.userEntities));\n }\n\n return Promise.resolve({\n idBrokerUrl: this.webex.config.credentials.idbroker.url,\n identityUrl: this.webex.config.credentials.identity.url,\n });\n },\n\n /**\n * Extracts the uuid from a user identifying object\n * @param {string|Object} user\n * @private\n * @returns {string}\n */\n _extractUUID(user) {\n return user.entryUUID || user.id || user;\n },\n\n /**\n * Extracts the email address from a user identifying object\n * @param {string|Object} user\n * @private\n * @returns {string}\n */\n _extractEmailAddress(user) {\n return user.email || user.emailAddress || user.entryEmail || user;\n },\n});\n\nexport default User;\n"],"mappings":"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"}
package/jest.config.js ADDED
@@ -0,0 +1,3 @@
1
+ const config = require('@webex/jest-config-legacy');
2
+
3
+ module.exports = config;
package/package.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-user",
3
- "version": "3.0.0-bnr.4",
4
3
  "description": "",
5
4
  "license": "MIT",
6
5
  "main": "dist/index.js",
@@ -20,17 +19,37 @@
20
19
  ]
21
20
  },
22
21
  "devDependencies": {
22
+ "@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": "3.0.0",
28
+ "@webex/test-helper-mocha": "3.0.0",
29
+ "@webex/test-helper-mock-webex": "3.0.0",
30
+ "@webex/test-helper-test-users": "3.0.0",
31
+ "eslint": "^8.24.0",
32
+ "prettier": "^2.7.1",
23
33
  "sinon": "^9.2.4"
24
34
  },
25
35
  "dependencies": {
26
- "@webex/common": "workspace:^",
27
- "@webex/internal-plugin-device": "workspace:^",
28
- "@webex/internal-plugin-user": "workspace:^",
29
- "@webex/test-helper-chai": "workspace:^",
30
- "@webex/test-helper-mock-webex": "workspace:^",
31
- "@webex/test-helper-test-users": "workspace:^",
32
- "@webex/webex-core": "workspace:^",
36
+ "@webex/common": "3.0.0",
37
+ "@webex/internal-plugin-device": "3.0.0",
38
+ "@webex/test-helper-chai": "3.0.0",
39
+ "@webex/test-helper-mock-webex": "3.0.0",
40
+ "@webex/test-helper-test-users": "3.0.0",
41
+ "@webex/webex-core": "3.0.0",
33
42
  "lodash": "^4.17.21",
34
43
  "uuid": "^3.3.2"
35
- }
36
- }
44
+ },
45
+ "scripts": {
46
+ "build": "yarn build:src",
47
+ "build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
48
+ "deploy:npm": "yarn npm publish",
49
+ "test": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
50
+ "test:browser:broken": "webex-legacy-tools test --integration --runner karma",
51
+ "test:style": "eslint ./src/**/*.*",
52
+ "test:unit": "webex-legacy-tools test --unit --runner jest"
53
+ },
54
+ "version": "3.0.0"
55
+ }
package/process ADDED
@@ -0,0 +1 @@
1
+ module.exports = {browser: true};
@@ -1,7 +0,0 @@
1
- /**
2
- * @class
3
- */
4
- declare const User: any;
5
- export default User;
6
-
7
- export { }
@@ -1,11 +0,0 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.34.4"
9
- }
10
- ]
11
- }
@@ -1,17 +0,0 @@
1
- declare namespace _default {
2
- namespace device {
3
- namespace preDiscoveryServices {
4
- const atlasServiceUrl: string;
5
- const atlas: string;
6
- }
7
- }
8
- namespace user {
9
- const batcherWait: number;
10
- const batcherMaxCalls: number;
11
- const batcherMaxWait: number;
12
- namespace verifyDefaults {
13
- const reqId: string;
14
- }
15
- }
16
- }
17
- export default _default;
@@ -1 +0,0 @@
1
- export { default } from "./user";
@@ -1,5 +0,0 @@
1
- export default UserUUIDBatcher;
2
- /**
3
- * @class
4
- */
5
- declare const UserUUIDBatcher: any;
@@ -1,34 +0,0 @@
1
- /**
2
- * @class
3
- */
4
- export default class UserUUIDStore {
5
- /**
6
- * Adds a user object to the store
7
- * @param {Object} user
8
- * @param {string} user.id
9
- * @param {string} user.emailAddress
10
- * @returns {Promise}
11
- */
12
- add(user: {
13
- id: string;
14
- emailAddress: string;
15
- }): Promise<any>;
16
- /**
17
- * Retrieves the specified user object from the store
18
- * @param {string} id
19
- * @returns {Promise<Object>}
20
- */
21
- get(id: string): Promise<any>;
22
- /**
23
- * Retrieves the specified user object by id from the store
24
- * @param {Object} id
25
- * @returns {Promise<Object>}
26
- */
27
- getById(id: any): Promise<any>;
28
- /**
29
- * Retrieves the specified user object by id from the store
30
- * @param {Object} email
31
- * @returns {Promise<Object>}
32
- */
33
- getByEmail(email: any): Promise<any>;
34
- }
@@ -1,5 +0,0 @@
1
- export default User;
2
- /**
3
- * @class
4
- */
5
- declare const User: any;