@webex/internal-plugin-user 2.59.1 → 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 +6 -6
- package/README.md +42 -42
- package/babel.config.js +3 -3
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/user-uuid-batcher.js +36 -36
- package/dist/user-uuid-batcher.js.map +1 -1
- package/dist/user-uuid-store.js +22 -22
- package/dist/user-uuid-store.js.map +1 -1
- package/dist/user.js +112 -112
- package/dist/user.js.map +1 -1
- package/jest.config.js +3 -3
- package/package.json +18 -17
- package/process +1 -1
- package/src/config.js +21 -21
- package/src/index.js +15 -15
- package/src/user-uuid-batcher.js +128 -128
- package/src/user-uuid-store.js +105 -105
- package/src/user.js +466 -466
- package/test/integration/spec/user.js +380 -380
- package/test/unit/spec/user-uuid-batcher.js +98 -98
- package/test/unit/spec/user.js +155 -155
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
|
-
[](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
|
+
[](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: {
|
package/dist/config.js.map
CHANGED
|
@@ -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.
|
|
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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"}
|
package/dist/user-uuid-store.js
CHANGED
|
@@ -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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"}
|