@webex/internal-plugin-user 2.59.2 → 2.59.3-next.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/.eslintrc.js CHANGED
@@ -1,6 +1,6 @@
1
- const config = {
2
- root: true,
3
- extends: ['@webex/eslint-config-legacy'],
4
- };
5
-
6
- module.exports = config;
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
package/README.md CHANGED
@@ -1,42 +1,42 @@
1
- # @webex/internal-plugin-user
2
-
3
- [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
-
5
- > Plugin for the User services
6
-
7
- This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
-
9
- - [Install](#install)
10
- - [Usage](#usage)
11
- - [Contribute](#contribute)
12
- - [Maintainers](#maintainers)
13
- - [License](#license)
14
-
15
- ## Install
16
-
17
- ```bash
18
- npm install --save @webex/internal-plugin-user
19
- ```
20
-
21
- ## Usage
22
-
23
- ```js
24
- import '@webex/internal-plugin-user';
25
-
26
- import WebexCore from '@webex/webex-core';
27
-
28
- const webex = new WebexCore();
29
- webex.internal.user.WHATEVER;
30
- ```
31
-
32
- ## Maintainers
33
-
34
- This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
35
-
36
- ## Contribute
37
-
38
- Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
39
-
40
- ## License
41
-
42
- © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
1
+ # @webex/internal-plugin-user
2
+
3
+ [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
+
5
+ > Plugin for the User services
6
+
7
+ This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
+
9
+ - [Install](#install)
10
+ - [Usage](#usage)
11
+ - [Contribute](#contribute)
12
+ - [Maintainers](#maintainers)
13
+ - [License](#license)
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npm install --save @webex/internal-plugin-user
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ```js
24
+ import '@webex/internal-plugin-user';
25
+
26
+ import WebexCore from '@webex/webex-core';
27
+
28
+ const webex = new WebexCore();
29
+ webex.internal.user.WHATEVER;
30
+ ```
31
+
32
+ ## Maintainers
33
+
34
+ This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
35
+
36
+ ## Contribute
37
+
38
+ Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
39
+
40
+ ## License
41
+
42
+ © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
package/babel.config.js CHANGED
@@ -1,3 +1,3 @@
1
- const babelConfigLegacy = require('@webex/babel-config-legacy');
2
-
3
- module.exports = babelConfigLegacy;
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
package/dist/config.js CHANGED
@@ -5,8 +5,8 @@ _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- /*!
9
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
8
+ /*!
9
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
10
10
  */
11
11
  var _default = {
12
12
  device: {
@@ -1 +1 @@
1
- {"version":3,"names":["_default","device","preDiscoveryServices","atlasServiceUrl","process","env","ATLAS_SERVICE_URL","atlas","user","batcherWait","batcherMaxCalls","batcherMaxWait","verifyDefaults","reqId","exports","default"],"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,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;AAAAC,OAAA,CAAAC,OAAA,GAAAf,QAAA"}
1
+ {"version":3,"names":["_default","device","preDiscoveryServices","atlasServiceUrl","process","env","ATLAS_SERVICE_URL","atlas","user","batcherWait","batcherMaxCalls","batcherMaxWait","verifyDefaults","reqId","exports","default"],"sources":["config.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nexport default {\r\n device: {\r\n preDiscoveryServices: {\r\n atlasServiceUrl: process.env.ATLAS_SERVICE_URL || 'https://atlas-a.wbx2.com/admin/api/v1',\r\n atlas: process.env.ATLAS_SERVICE_URL || 'https://atlas-a.wbx2.com/admin/api/v1',\r\n },\r\n },\r\n\r\n user: {\r\n batcherWait: 100,\r\n batcherMaxCalls: 100,\r\n batcherMaxWait: 1500,\r\n verifyDefaults: {\r\n reqId: 'WEBCLIENT',\r\n },\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,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;AAAAC,OAAA,CAAAC,OAAA,GAAAf,QAAA"}
package/dist/index.js CHANGED
@@ -15,8 +15,8 @@ require("@webex/internal-plugin-device");
15
15
  var _webexCore = require("@webex/webex-core");
16
16
  var _user = _interopRequireDefault(require("./user"));
17
17
  var _config = _interopRequireDefault(require("./config"));
18
- /*!
19
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
18
+ /*!
19
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
20
20
  */
21
21
 
22
22
  (0, _webexCore.registerInternalPlugin)('user', _user.default, {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["require","_webexCore","_user","_interopRequireDefault","_config","registerInternalPlugin","User","config"],"sources":["index.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\nimport '@webex/internal-plugin-device';\r\n\r\nimport {registerInternalPlugin} from '@webex/webex-core';\r\n\r\nimport User from './user';\r\nimport config from './config';\r\n\r\nregisterInternalPlugin('user', User, {\r\n config,\r\n});\r\n\r\nexport {default} from './user';\r\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"}
@@ -9,27 +9,27 @@ exports.default = void 0;
9
9
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
10
10
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
11
11
  var _webexCore = require("@webex/webex-core");
12
- /*!
13
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
12
+ /*!
13
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
14
14
  */
15
15
 
16
- /**
17
- * @class
16
+ /**
17
+ * @class
18
18
  */
19
19
  var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
20
20
  namespace: 'User',
21
- /**
22
- * @param {string} item
23
- * @returns {Promise<Object>}
21
+ /**
22
+ * @param {string} item
23
+ * @returns {Promise<Object>}
24
24
  */
25
25
  prepareItem: function prepareItem(item) {
26
26
  return _promise.default.resolve({
27
27
  email: item
28
28
  });
29
29
  },
30
- /**
31
- * @param {HttpResponseObject} res
32
- * @returns {Promise}
30
+ /**
31
+ * @param {HttpResponseObject} res
32
+ * @returns {Promise}
33
33
  */
34
34
  handleHttpSuccess: function handleHttpSuccess(res) {
35
35
  var _this = this;
@@ -45,39 +45,39 @@ var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
45
45
  defer.reject(response);
46
46
  });
47
47
  },
48
- /**
49
- * @param {string} email
50
- * @param {Object} response
51
- * @returns {Promise}
48
+ /**
49
+ * @param {string} email
50
+ * @param {Object} response
51
+ * @returns {Promise}
52
52
  */
53
53
  handleItemSuccess: function handleItemSuccess(email, response) {
54
54
  return this.getDeferredForResponse(email).then(function (defer) {
55
55
  defer.resolve(response);
56
56
  });
57
57
  },
58
- /**
59
- * @param {string} email
60
- * @returns {Promise<string>}
58
+ /**
59
+ * @param {string} email
60
+ * @returns {Promise<string>}
61
61
  */
62
62
  fingerprintRequest: function fingerprintRequest(email) {
63
63
  return _promise.default.resolve(email.email || email);
64
64
  },
65
- /**
66
- * @param {string} email
67
- * @returns {Promise<string>}
65
+ /**
66
+ * @param {string} email
67
+ * @returns {Promise<string>}
68
68
  */
69
69
  fingerprintResponse: function fingerprintResponse(email) {
70
70
  return _promise.default.resolve(email);
71
71
  }
72
72
  });
73
73
 
74
- /**
75
- * @class
74
+ /**
75
+ * @class
76
76
  */
77
77
  var FakeUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
78
- /**
79
- * @param {Object} payload
80
- * @returns {Promise<HttpResponseObject>}
78
+ /**
79
+ * @param {Object} payload
80
+ * @returns {Promise<HttpResponseObject>}
81
81
  */
82
82
  submitHttpRequest: function submitHttpRequest(payload) {
83
83
  return this.webex.request({
@@ -89,13 +89,13 @@ var FakeUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
89
89
  }
90
90
  });
91
91
 
92
- /**
93
- * @class
92
+ /**
93
+ * @class
94
94
  */
95
95
  var RealUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
96
- /**
97
- * @param {Object} payload
98
- * @returns {Promise<HttpResponseObject>}
96
+ /**
97
+ * @param {Object} payload
98
+ * @returns {Promise<HttpResponseObject>}
99
99
  */
100
100
  submitHttpRequest: function submitHttpRequest(payload) {
101
101
  return this.webex.request({
@@ -110,22 +110,22 @@ var RealUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
110
110
  }
111
111
  });
112
112
 
113
- /**
114
- * @class
113
+ /**
114
+ * @class
115
115
  */
116
116
  var UserUUIDBatcher = _webexCore.WebexPlugin.extend({
117
117
  children: {
118
118
  faker: FakeUserUUIDRequestBatcher,
119
119
  creator: RealUserUUIDRequestBatcher
120
120
  },
121
- /**
122
- * @param {Object} payload
123
- * @returns {Promise<Object>}
121
+ /**
122
+ * @param {Object} payload
123
+ * @returns {Promise<Object>}
124
124
  */
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: "2.59.2"
128
+ version: "2.59.0"
129
129
  });
130
130
  var _default = UserUUIDBatcher;
131
131
  exports.default = _default;
@@ -1 +1 @@
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":"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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":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {Batcher, WebexPlugin} from '@webex/webex-core';\r\n\r\n/**\r\n * @class\r\n */\r\nconst AbstractUserUUIDRequestBatcher = Batcher.extend({\r\n namespace: 'User',\r\n\r\n /**\r\n * @param {string} item\r\n * @returns {Promise<Object>}\r\n */\r\n prepareItem(item) {\r\n return Promise.resolve({email: item});\r\n },\r\n\r\n /**\r\n * @param {HttpResponseObject} res\r\n * @returns {Promise}\r\n */\r\n handleHttpSuccess(res) {\r\n return Promise.all(\r\n Object.keys(res.body).map((email) => {\r\n if (res.body[email] && res.body[email].id) {\r\n return this.handleItemSuccess(email, res.body[email]);\r\n }\r\n\r\n return this.handleItemFailure(email, res.body[email]);\r\n })\r\n );\r\n },\r\n\r\n handleItemFailure(email, response) {\r\n return this.getDeferredForResponse(email).then((defer) => {\r\n defer.reject(response);\r\n });\r\n },\r\n\r\n /**\r\n * @param {string} email\r\n * @param {Object} response\r\n * @returns {Promise}\r\n */\r\n handleItemSuccess(email, response) {\r\n return this.getDeferredForResponse(email).then((defer) => {\r\n defer.resolve(response);\r\n });\r\n },\r\n\r\n /**\r\n * @param {string} email\r\n * @returns {Promise<string>}\r\n */\r\n fingerprintRequest(email) {\r\n return Promise.resolve(email.email || email);\r\n },\r\n\r\n /**\r\n * @param {string} email\r\n * @returns {Promise<string>}\r\n */\r\n fingerprintResponse(email) {\r\n return Promise.resolve(email);\r\n },\r\n});\r\n\r\n/**\r\n * @class\r\n */\r\nconst FakeUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({\r\n /**\r\n * @param {Object} payload\r\n * @returns {Promise<HttpResponseObject>}\r\n */\r\n submitHttpRequest(payload) {\r\n return this.webex.request({\r\n method: 'POST',\r\n service: 'conversation',\r\n resource: '/users',\r\n body: payload,\r\n });\r\n },\r\n});\r\n\r\n/**\r\n * @class\r\n */\r\nconst RealUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({\r\n /**\r\n * @param {Object} payload\r\n * @returns {Promise<HttpResponseObject>}\r\n */\r\n submitHttpRequest(payload) {\r\n return this.webex.request({\r\n method: 'POST',\r\n service: 'conversation',\r\n resource: '/users',\r\n body: payload,\r\n qs: {\r\n shouldCreateUsers: true,\r\n },\r\n });\r\n },\r\n});\r\n\r\n/**\r\n * @class\r\n */\r\nconst UserUUIDBatcher = WebexPlugin.extend({\r\n children: {\r\n faker: FakeUserUUIDRequestBatcher,\r\n creator: RealUserUUIDRequestBatcher,\r\n },\r\n\r\n /**\r\n * @param {Object} payload\r\n * @returns {Promise<Object>}\r\n */\r\n request(payload) {\r\n return payload.create ? this.creator.request(payload.email) : this.faker.request(payload.email);\r\n },\r\n});\r\n\r\nexport default UserUUIDBatcher;\r\n"],"mappings":"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"}
@@ -23,12 +23,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
23
23
  var usersByEmail = new _weakMap.default();
24
24
  var usersById = new _weakMap.default();
25
25
 
26
- /**
27
- * @class
26
+ /**
27
+ * @class
28
28
  */
29
29
  var UserUUIDStore = /*#__PURE__*/function () {
30
- /**
31
- * @constructs {UserUUIDStore}
30
+ /**
31
+ * @constructs {UserUUIDStore}
32
32
  */
33
33
  function UserUUIDStore() {
34
34
  (0, _classCallCheck2.default)(this, UserUUIDStore);
@@ -36,12 +36,12 @@ var UserUUIDStore = /*#__PURE__*/function () {
36
36
  usersById.set(this, new _map.default());
37
37
  }
38
38
 
39
- /**
40
- * Adds a user object to the store
41
- * @param {Object} user
42
- * @param {string} user.id
43
- * @param {string} user.emailAddress
44
- * @returns {Promise}
39
+ /**
40
+ * Adds a user object to the store
41
+ * @param {Object} user
42
+ * @param {string} user.id
43
+ * @param {string} user.emailAddress
44
+ * @returns {Promise}
45
45
  */
46
46
  (0, _createClass2.default)(UserUUIDStore, [{
47
47
  key: "add",
@@ -72,10 +72,10 @@ var UserUUIDStore = /*#__PURE__*/function () {
72
72
  return _promise.default.all([p1, p2]);
73
73
  }
74
74
 
75
- /**
76
- * Retrieves the specified user object from the store
77
- * @param {string} id
78
- * @returns {Promise<Object>}
75
+ /**
76
+ * Retrieves the specified user object from the store
77
+ * @param {string} id
78
+ * @returns {Promise<Object>}
79
79
  */
80
80
  }, {
81
81
  key: "get",
@@ -89,10 +89,10 @@ var UserUUIDStore = /*#__PURE__*/function () {
89
89
  return _promise.default.reject(new Error('`id` does not appear to be a valid user identifier'));
90
90
  }
91
91
 
92
- /**
93
- * Retrieves the specified user object by id from the store
94
- * @param {Object} id
95
- * @returns {Promise<Object>}
92
+ /**
93
+ * Retrieves the specified user object by id from the store
94
+ * @param {Object} id
95
+ * @returns {Promise<Object>}
96
96
  */
97
97
  }, {
98
98
  key: "getById",
@@ -104,10 +104,10 @@ var UserUUIDStore = /*#__PURE__*/function () {
104
104
  return _promise.default.reject(new Error('No user found by specified id'));
105
105
  }
106
106
 
107
- /**
108
- * Retrieves the specified user object by id from the store
109
- * @param {Object} email
110
- * @returns {Promise<Object>}
107
+ /**
108
+ * Retrieves the specified user object by id from the store
109
+ * @param {Object} email
110
+ * @returns {Promise<Object>}
111
111
  */
112
112
  }, {
113
113
  key: "getByEmail",
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","Object","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","usersByEmail","_weakMap","usersById","UserUUIDStore","_classCallCheck2","set","_map","_createClass2","value","add","user","_this","id","_promise","reject","Error","emailAddress","patterns","uuid","test","email","p1","getById","then","u","get","catch","p2","getByEmail","all","ret","resolve","exports"],"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","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","Object","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","usersByEmail","_weakMap","usersById","UserUUIDStore","_classCallCheck2","set","_map","_createClass2","value","add","user","_this","id","_promise","reject","Error","emailAddress","patterns","uuid","test","email","p1","getById","then","u","get","catch","p2","getByEmail","all","ret","resolve","exports"],"sources":["user-uuid-store.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {patterns} from '@webex/common';\r\n\r\nconst usersByEmail = new WeakMap();\r\nconst usersById = new WeakMap();\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class UserUUIDStore {\r\n /**\r\n * @constructs {UserUUIDStore}\r\n */\r\n constructor() {\r\n usersByEmail.set(this, new Map());\r\n usersById.set(this, new Map());\r\n }\r\n\r\n /**\r\n * Adds a user object to the store\r\n * @param {Object} user\r\n * @param {string} user.id\r\n * @param {string} user.emailAddress\r\n * @returns {Promise}\r\n */\r\n add(user) {\r\n if (!user.id) {\r\n return Promise.reject(new Error('`user.id` is required'));\r\n }\r\n\r\n if (!user.emailAddress) {\r\n return Promise.reject(new Error('`user.emailAddress` is required'));\r\n }\r\n\r\n if (!patterns.uuid.test(user.id)) {\r\n return Promise.reject(new Error('`user.id` does not appear to be a uuid'));\r\n }\r\n\r\n if (!patterns.email.test(user.emailAddress)) {\r\n return Promise.reject(\r\n new Error('`user.emailAddress` does not appear to be an email address')\r\n );\r\n }\r\n\r\n const p1 = this.getById(user.id)\r\n .then((u) => usersById.get(this).set(user.id, {...u, ...user}))\r\n .catch(() => usersById.get(this).set(user.id, {...user}));\r\n\r\n const p2 = this.getByEmail(user.emailAddress)\r\n .then((u) => usersByEmail.get(this).set(user.emailAddress, {...u, ...user}))\r\n .catch(() => usersByEmail.get(this).set(user.emailAddress, {...user}));\r\n\r\n return Promise.all([p1, p2]);\r\n }\r\n\r\n /**\r\n * Retrieves the specified user object from the store\r\n * @param {string} id\r\n * @returns {Promise<Object>}\r\n */\r\n get(id) {\r\n if (patterns.uuid.test(id)) {\r\n return this.getById(id);\r\n }\r\n\r\n if (patterns.email.test(id)) {\r\n return this.getByEmail(id);\r\n }\r\n\r\n return Promise.reject(new Error('`id` does not appear to be a valid user identifier'));\r\n }\r\n\r\n /**\r\n * Retrieves the specified user object by id from the store\r\n * @param {Object} id\r\n * @returns {Promise<Object>}\r\n */\r\n getById(id) {\r\n const ret = usersById.get(this).get(id);\r\n\r\n if (ret) {\r\n return Promise.resolve(ret);\r\n }\r\n\r\n return Promise.reject(new Error('No user found by specified id'));\r\n }\r\n\r\n /**\r\n * Retrieves the specified user object by id from the store\r\n * @param {Object} email\r\n * @returns {Promise<Object>}\r\n */\r\n getByEmail(email) {\r\n const ret = usersByEmail.get(this).get(email);\r\n\r\n if (ret) {\r\n return Promise.resolve(ret);\r\n }\r\n\r\n return Promise.reject(new Error('No user found by specified email address'));\r\n }\r\n}\r\n"],"mappings":"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"}