@webex/internal-plugin-user 3.0.0-beta.8 → 3.0.0-bnr.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/README.md +1 -3
- package/dist/config.js +0 -3
- package/dist/config.js.map +1 -1
- package/dist/index.js +2 -9
- package/dist/index.js.map +1 -1
- package/dist/internal-plugin-user.d.ts +7 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/types/config.d.ts +17 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/user-uuid-batcher.d.ts +5 -0
- package/dist/types/user-uuid-store.d.ts +34 -0
- package/dist/types/user.d.ts +5 -0
- package/dist/user-uuid-batcher.js +4 -21
- package/dist/user-uuid-batcher.js.map +1 -1
- package/dist/user-uuid-store.js +17 -37
- package/dist/user-uuid-store.js.map +1 -1
- package/dist/user.js +18 -82
- package/dist/user.js.map +1 -1
- package/package.json +8 -8
- package/src/config.js +5 -5
- package/src/index.js +2 -3
- package/src/user-uuid-batcher.js +22 -22
- package/src/user-uuid-store.js +7 -6
- package/src/user.js +90 -81
- package/test/integration/spec/user.js +130 -87
- package/test/unit/spec/user-uuid-batcher.js +22 -19
- package/test/unit/spec/user.js +83 -35
package/README.md
CHANGED
|
@@ -21,14 +21,12 @@ npm install --save @webex/internal-plugin-user
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
23
|
```js
|
|
24
|
-
|
|
25
24
|
import '@webex/internal-plugin-user';
|
|
26
25
|
|
|
27
26
|
import WebexCore from '@webex/webex-core';
|
|
28
27
|
|
|
29
28
|
const webex = new WebexCore();
|
|
30
|
-
webex.internal.user.WHATEVER
|
|
31
|
-
|
|
29
|
+
webex.internal.user.WHATEVER;
|
|
32
30
|
```
|
|
33
31
|
|
|
34
32
|
## Maintainers
|
package/dist/config.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
|
|
9
7
|
exports.default = void 0;
|
|
10
|
-
|
|
11
8
|
/*!
|
|
12
9
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
13
10
|
*/
|
package/dist/config.js.map
CHANGED
|
@@ -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'
|
|
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"}
|
package/dist/index.js
CHANGED
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
_Object$defineProperty(exports, "default", {
|
|
12
9
|
enumerable: true,
|
|
13
10
|
get: function get() {
|
|
14
11
|
return _user.default;
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
|
-
|
|
14
|
+
require("@webex/internal-plugin-device");
|
|
18
15
|
var _webexCore = require("@webex/webex-core");
|
|
19
|
-
|
|
20
16
|
var _user = _interopRequireDefault(require("./user"));
|
|
21
|
-
|
|
22
17
|
var _config = _interopRequireDefault(require("./config"));
|
|
23
|
-
|
|
24
|
-
require("@webex/internal-plugin-device");
|
|
25
|
-
|
|
26
18
|
/*!
|
|
27
19
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
28
20
|
*/
|
|
21
|
+
|
|
29
22
|
(0, _webexCore.registerInternalPlugin)('user', _user.default, {
|
|
30
23
|
config: _config.default
|
|
31
24
|
});
|
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 */\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport User from './user';\nimport config from './config';\n\
|
|
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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./user";
|
|
@@ -0,0 +1,34 @@
|
|
|
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,21 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
13
9
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
14
|
-
|
|
15
10
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
16
|
-
|
|
17
11
|
var _webexCore = require("@webex/webex-core");
|
|
18
|
-
|
|
19
12
|
/*!
|
|
20
13
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
21
14
|
*/
|
|
@@ -25,7 +18,6 @@ var _webexCore = require("@webex/webex-core");
|
|
|
25
18
|
*/
|
|
26
19
|
var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
|
|
27
20
|
namespace: 'User',
|
|
28
|
-
|
|
29
21
|
/**
|
|
30
22
|
* @param {string} item
|
|
31
23
|
* @returns {Promise<Object>}
|
|
@@ -35,19 +27,16 @@ var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
|
|
|
35
27
|
email: item
|
|
36
28
|
});
|
|
37
29
|
},
|
|
38
|
-
|
|
39
30
|
/**
|
|
40
31
|
* @param {HttpResponseObject} res
|
|
41
32
|
* @returns {Promise}
|
|
42
33
|
*/
|
|
43
34
|
handleHttpSuccess: function handleHttpSuccess(res) {
|
|
44
35
|
var _this = this;
|
|
45
|
-
|
|
46
36
|
return _promise.default.all((0, _keys.default)(res.body).map(function (email) {
|
|
47
37
|
if (res.body[email] && res.body[email].id) {
|
|
48
38
|
return _this.handleItemSuccess(email, res.body[email]);
|
|
49
39
|
}
|
|
50
|
-
|
|
51
40
|
return _this.handleItemFailure(email, res.body[email]);
|
|
52
41
|
}));
|
|
53
42
|
},
|
|
@@ -56,7 +45,6 @@ var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
|
|
|
56
45
|
defer.reject(response);
|
|
57
46
|
});
|
|
58
47
|
},
|
|
59
|
-
|
|
60
48
|
/**
|
|
61
49
|
* @param {string} email
|
|
62
50
|
* @param {Object} response
|
|
@@ -67,7 +55,6 @@ var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
|
|
|
67
55
|
defer.resolve(response);
|
|
68
56
|
});
|
|
69
57
|
},
|
|
70
|
-
|
|
71
58
|
/**
|
|
72
59
|
* @param {string} email
|
|
73
60
|
* @returns {Promise<string>}
|
|
@@ -75,7 +62,6 @@ var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
|
|
|
75
62
|
fingerprintRequest: function fingerprintRequest(email) {
|
|
76
63
|
return _promise.default.resolve(email.email || email);
|
|
77
64
|
},
|
|
78
|
-
|
|
79
65
|
/**
|
|
80
66
|
* @param {string} email
|
|
81
67
|
* @returns {Promise<string>}
|
|
@@ -84,11 +70,10 @@ var AbstractUserUUIDRequestBatcher = _webexCore.Batcher.extend({
|
|
|
84
70
|
return _promise.default.resolve(email);
|
|
85
71
|
}
|
|
86
72
|
});
|
|
73
|
+
|
|
87
74
|
/**
|
|
88
75
|
* @class
|
|
89
76
|
*/
|
|
90
|
-
|
|
91
|
-
|
|
92
77
|
var FakeUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
|
|
93
78
|
/**
|
|
94
79
|
* @param {Object} payload
|
|
@@ -103,10 +88,10 @@ var FakeUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
|
|
|
103
88
|
});
|
|
104
89
|
}
|
|
105
90
|
});
|
|
91
|
+
|
|
106
92
|
/**
|
|
107
93
|
* @class
|
|
108
94
|
*/
|
|
109
|
-
|
|
110
95
|
var RealUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
|
|
111
96
|
/**
|
|
112
97
|
* @param {Object} payload
|
|
@@ -124,16 +109,15 @@ var RealUserUUIDRequestBatcher = AbstractUserUUIDRequestBatcher.extend({
|
|
|
124
109
|
});
|
|
125
110
|
}
|
|
126
111
|
});
|
|
112
|
+
|
|
127
113
|
/**
|
|
128
114
|
* @class
|
|
129
115
|
*/
|
|
130
|
-
|
|
131
116
|
var UserUUIDBatcher = _webexCore.WebexPlugin.extend({
|
|
132
117
|
children: {
|
|
133
118
|
faker: FakeUserUUIDRequestBatcher,
|
|
134
119
|
creator: RealUserUUIDRequestBatcher
|
|
135
120
|
},
|
|
136
|
-
|
|
137
121
|
/**
|
|
138
122
|
* @param {Object} payload
|
|
139
123
|
* @returns {Promise<Object>}
|
|
@@ -141,9 +125,8 @@ var UserUUIDBatcher = _webexCore.WebexPlugin.extend({
|
|
|
141
125
|
request: function request(payload) {
|
|
142
126
|
return payload.create ? this.creator.request(payload.email) : this.faker.request(payload.email);
|
|
143
127
|
},
|
|
144
|
-
version: "3.0.0-
|
|
128
|
+
version: "3.0.0-bnr.0"
|
|
145
129
|
});
|
|
146
|
-
|
|
147
130
|
var _default = UserUUIDBatcher;
|
|
148
131
|
exports.default = _default;
|
|
149
132
|
//# 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(Object.keys(res.body).map((email) => {\n
|
|
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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"}
|
package/dist/user-uuid-store.js
CHANGED
|
@@ -1,38 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
6
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
3
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
9
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
10
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
11
|
value: true
|
|
9
12
|
});
|
|
10
|
-
|
|
11
13
|
exports.default = void 0;
|
|
12
|
-
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
13
15
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
14
|
-
|
|
15
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
16
|
-
|
|
17
17
|
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
18
|
-
|
|
19
18
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
20
|
-
|
|
21
19
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
22
|
-
|
|
23
|
-
var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
|
|
24
|
-
|
|
25
20
|
var _common = require("@webex/common");
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
29
|
-
*/
|
|
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; }
|
|
30
23
|
var usersByEmail = new _weakMap.default();
|
|
31
24
|
var usersById = new _weakMap.default();
|
|
25
|
+
|
|
32
26
|
/**
|
|
33
27
|
* @class
|
|
34
28
|
*/
|
|
35
|
-
|
|
36
29
|
var UserUUIDStore = /*#__PURE__*/function () {
|
|
37
30
|
/**
|
|
38
31
|
* @constructs {UserUUIDStore}
|
|
@@ -42,6 +35,7 @@ var UserUUIDStore = /*#__PURE__*/function () {
|
|
|
42
35
|
usersByEmail.set(this, new _map.default());
|
|
43
36
|
usersById.set(this, new _map.default());
|
|
44
37
|
}
|
|
38
|
+
|
|
45
39
|
/**
|
|
46
40
|
* Adds a user object to the store
|
|
47
41
|
* @param {Object} user
|
|
@@ -49,97 +43,83 @@ var UserUUIDStore = /*#__PURE__*/function () {
|
|
|
49
43
|
* @param {string} user.emailAddress
|
|
50
44
|
* @returns {Promise}
|
|
51
45
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
46
|
(0, _createClass2.default)(UserUUIDStore, [{
|
|
55
47
|
key: "add",
|
|
56
48
|
value: function add(user) {
|
|
57
49
|
var _this = this;
|
|
58
|
-
|
|
59
50
|
if (!user.id) {
|
|
60
51
|
return _promise.default.reject(new Error('`user.id` is required'));
|
|
61
52
|
}
|
|
62
|
-
|
|
63
53
|
if (!user.emailAddress) {
|
|
64
54
|
return _promise.default.reject(new Error('`user.emailAddress` is required'));
|
|
65
55
|
}
|
|
66
|
-
|
|
67
56
|
if (!_common.patterns.uuid.test(user.id)) {
|
|
68
57
|
return _promise.default.reject(new Error('`user.id` does not appear to be a uuid'));
|
|
69
58
|
}
|
|
70
|
-
|
|
71
59
|
if (!_common.patterns.email.test(user.emailAddress)) {
|
|
72
60
|
return _promise.default.reject(new Error('`user.emailAddress` does not appear to be an email address'));
|
|
73
61
|
}
|
|
74
|
-
|
|
75
62
|
var p1 = this.getById(user.id).then(function (u) {
|
|
76
|
-
return usersById.get(_this).set(user.id, (
|
|
63
|
+
return usersById.get(_this).set(user.id, _objectSpread(_objectSpread({}, u), user));
|
|
77
64
|
}).catch(function () {
|
|
78
|
-
return usersById.get(_this).set(user.id, (
|
|
65
|
+
return usersById.get(_this).set(user.id, _objectSpread({}, user));
|
|
79
66
|
});
|
|
80
67
|
var p2 = this.getByEmail(user.emailAddress).then(function (u) {
|
|
81
|
-
return usersByEmail.get(_this).set(user.emailAddress, (
|
|
68
|
+
return usersByEmail.get(_this).set(user.emailAddress, _objectSpread(_objectSpread({}, u), user));
|
|
82
69
|
}).catch(function () {
|
|
83
|
-
return usersByEmail.get(_this).set(user.emailAddress, (
|
|
70
|
+
return usersByEmail.get(_this).set(user.emailAddress, _objectSpread({}, user));
|
|
84
71
|
});
|
|
85
72
|
return _promise.default.all([p1, p2]);
|
|
86
73
|
}
|
|
74
|
+
|
|
87
75
|
/**
|
|
88
76
|
* Retrieves the specified user object from the store
|
|
89
77
|
* @param {string} id
|
|
90
78
|
* @returns {Promise<Object>}
|
|
91
79
|
*/
|
|
92
|
-
|
|
93
80
|
}, {
|
|
94
81
|
key: "get",
|
|
95
82
|
value: function get(id) {
|
|
96
83
|
if (_common.patterns.uuid.test(id)) {
|
|
97
84
|
return this.getById(id);
|
|
98
85
|
}
|
|
99
|
-
|
|
100
86
|
if (_common.patterns.email.test(id)) {
|
|
101
87
|
return this.getByEmail(id);
|
|
102
88
|
}
|
|
103
|
-
|
|
104
89
|
return _promise.default.reject(new Error('`id` does not appear to be a valid user identifier'));
|
|
105
90
|
}
|
|
91
|
+
|
|
106
92
|
/**
|
|
107
93
|
* Retrieves the specified user object by id from the store
|
|
108
94
|
* @param {Object} id
|
|
109
95
|
* @returns {Promise<Object>}
|
|
110
96
|
*/
|
|
111
|
-
|
|
112
97
|
}, {
|
|
113
98
|
key: "getById",
|
|
114
99
|
value: function getById(id) {
|
|
115
100
|
var ret = usersById.get(this).get(id);
|
|
116
|
-
|
|
117
101
|
if (ret) {
|
|
118
102
|
return _promise.default.resolve(ret);
|
|
119
103
|
}
|
|
120
|
-
|
|
121
104
|
return _promise.default.reject(new Error('No user found by specified id'));
|
|
122
105
|
}
|
|
106
|
+
|
|
123
107
|
/**
|
|
124
108
|
* Retrieves the specified user object by id from the store
|
|
125
109
|
* @param {Object} email
|
|
126
110
|
* @returns {Promise<Object>}
|
|
127
111
|
*/
|
|
128
|
-
|
|
129
112
|
}, {
|
|
130
113
|
key: "getByEmail",
|
|
131
114
|
value: function getByEmail(email) {
|
|
132
115
|
var ret = usersByEmail.get(this).get(email);
|
|
133
|
-
|
|
134
116
|
if (ret) {
|
|
135
117
|
return _promise.default.resolve(ret);
|
|
136
118
|
}
|
|
137
|
-
|
|
138
119
|
return _promise.default.reject(new Error('No user found by specified email address'));
|
|
139
120
|
}
|
|
140
121
|
}]);
|
|
141
122
|
return UserUUIDStore;
|
|
142
123
|
}();
|
|
143
|
-
|
|
144
124
|
exports.default = UserUUIDStore;
|
|
145
125
|
//# 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(new Error('`user.emailAddress` does not appear to be an email address'));\n }\n\n const p1 = this.getById(user.id)\n .then((u) => usersById.get(this).set(user.id,
|
|
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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"}
|