@nlabs/reaktor 0.1.6 → 0.1.7
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/lib/config.js +20 -11
- package/lib/data/conversations.js +69 -39
- package/lib/data/dynamodb.js +60 -27
- package/lib/data/email.js +50 -19
- package/lib/data/files.js +103 -46
- package/lib/data/groups.js +114 -67
- package/lib/data/images.js +168 -100
- package/lib/data/index.js +234 -24
- package/lib/data/ios.js +48 -23
- package/lib/data/locations.js +45 -29
- package/lib/data/messages.d.ts +2 -2
- package/lib/data/messages.js +105 -72
- package/lib/data/notifications.js +31 -14
- package/lib/data/payments.js +164 -114
- package/lib/data/posts.js +144 -87
- package/lib/data/reactions.js +58 -33
- package/lib/data/s3.js +54 -24
- package/lib/data/search.js +32 -19
- package/lib/data/sms.js +35 -15
- package/lib/data/subscription.js +78 -51
- package/lib/data/tags.js +90 -51
- package/lib/data/users.js +118 -70
- package/lib/index.js +42 -8
- package/lib/types/apps.js +1 -1
- package/lib/types/arangodb.js +1 -1
- package/lib/types/auth.js +1 -1
- package/lib/types/conversations.js +1 -1
- package/lib/types/email.js +1 -1
- package/lib/types/files.js +1 -1
- package/lib/types/google.js +1 -1
- package/lib/types/groups.js +1 -1
- package/lib/types/images.js +1 -1
- package/lib/types/index.js +210 -22
- package/lib/types/locations.js +1 -1
- package/lib/types/messages.d.ts +12 -7
- package/lib/types/messages.js +1 -1
- package/lib/types/notifications.js +1 -1
- package/lib/types/payments.js +1 -1
- package/lib/types/posts.js +1 -1
- package/lib/types/reactions.js +1 -1
- package/lib/types/tags.js +1 -1
- package/lib/types/users.d.ts +0 -1
- package/lib/types/users.js +1 -1
- package/lib/utils/analytics.js +23 -11
- package/lib/utils/arangodb.js +48 -19
- package/lib/utils/auth.js +31 -15
- package/lib/utils/graphql.js +16 -4
- package/lib/utils/index.js +78 -11
- package/lib/utils/objects.js +30 -10
- package/lib/utils/redis.js +21 -8
- package/package.json +5 -5
- package/index.d.ts +0 -1
package/lib/types/index.js
CHANGED
|
@@ -1,22 +1,210 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _apps = require("./apps");
|
|
8
|
+
|
|
9
|
+
Object.keys(_apps).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
Object.defineProperty(exports, key, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function get() {
|
|
14
|
+
return _apps[key];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _arangodb = require("./arangodb");
|
|
20
|
+
|
|
21
|
+
Object.keys(_arangodb).forEach(function (key) {
|
|
22
|
+
if (key === "default" || key === "__esModule") return;
|
|
23
|
+
Object.defineProperty(exports, key, {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function get() {
|
|
26
|
+
return _arangodb[key];
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
var _auth = require("./auth");
|
|
32
|
+
|
|
33
|
+
Object.keys(_auth).forEach(function (key) {
|
|
34
|
+
if (key === "default" || key === "__esModule") return;
|
|
35
|
+
Object.defineProperty(exports, key, {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function get() {
|
|
38
|
+
return _auth[key];
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
var _conversations = require("./conversations");
|
|
44
|
+
|
|
45
|
+
Object.keys(_conversations).forEach(function (key) {
|
|
46
|
+
if (key === "default" || key === "__esModule") return;
|
|
47
|
+
Object.defineProperty(exports, key, {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function get() {
|
|
50
|
+
return _conversations[key];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
var _email = require("./email");
|
|
56
|
+
|
|
57
|
+
Object.keys(_email).forEach(function (key) {
|
|
58
|
+
if (key === "default" || key === "__esModule") return;
|
|
59
|
+
Object.defineProperty(exports, key, {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function get() {
|
|
62
|
+
return _email[key];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
var _files = require("./files");
|
|
68
|
+
|
|
69
|
+
Object.keys(_files).forEach(function (key) {
|
|
70
|
+
if (key === "default" || key === "__esModule") return;
|
|
71
|
+
Object.defineProperty(exports, key, {
|
|
72
|
+
enumerable: true,
|
|
73
|
+
get: function get() {
|
|
74
|
+
return _files[key];
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
var _google = require("./google");
|
|
80
|
+
|
|
81
|
+
Object.keys(_google).forEach(function (key) {
|
|
82
|
+
if (key === "default" || key === "__esModule") return;
|
|
83
|
+
Object.defineProperty(exports, key, {
|
|
84
|
+
enumerable: true,
|
|
85
|
+
get: function get() {
|
|
86
|
+
return _google[key];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
var _groups = require("./groups");
|
|
92
|
+
|
|
93
|
+
Object.keys(_groups).forEach(function (key) {
|
|
94
|
+
if (key === "default" || key === "__esModule") return;
|
|
95
|
+
Object.defineProperty(exports, key, {
|
|
96
|
+
enumerable: true,
|
|
97
|
+
get: function get() {
|
|
98
|
+
return _groups[key];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
var _images = require("./images");
|
|
104
|
+
|
|
105
|
+
Object.keys(_images).forEach(function (key) {
|
|
106
|
+
if (key === "default" || key === "__esModule") return;
|
|
107
|
+
Object.defineProperty(exports, key, {
|
|
108
|
+
enumerable: true,
|
|
109
|
+
get: function get() {
|
|
110
|
+
return _images[key];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
var _locations = require("./locations");
|
|
116
|
+
|
|
117
|
+
Object.keys(_locations).forEach(function (key) {
|
|
118
|
+
if (key === "default" || key === "__esModule") return;
|
|
119
|
+
Object.defineProperty(exports, key, {
|
|
120
|
+
enumerable: true,
|
|
121
|
+
get: function get() {
|
|
122
|
+
return _locations[key];
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
var _messages = require("./messages");
|
|
128
|
+
|
|
129
|
+
Object.keys(_messages).forEach(function (key) {
|
|
130
|
+
if (key === "default" || key === "__esModule") return;
|
|
131
|
+
Object.defineProperty(exports, key, {
|
|
132
|
+
enumerable: true,
|
|
133
|
+
get: function get() {
|
|
134
|
+
return _messages[key];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
var _notifications = require("./notifications");
|
|
140
|
+
|
|
141
|
+
Object.keys(_notifications).forEach(function (key) {
|
|
142
|
+
if (key === "default" || key === "__esModule") return;
|
|
143
|
+
Object.defineProperty(exports, key, {
|
|
144
|
+
enumerable: true,
|
|
145
|
+
get: function get() {
|
|
146
|
+
return _notifications[key];
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
var _payments = require("./payments");
|
|
152
|
+
|
|
153
|
+
Object.keys(_payments).forEach(function (key) {
|
|
154
|
+
if (key === "default" || key === "__esModule") return;
|
|
155
|
+
Object.defineProperty(exports, key, {
|
|
156
|
+
enumerable: true,
|
|
157
|
+
get: function get() {
|
|
158
|
+
return _payments[key];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
var _posts = require("./posts");
|
|
164
|
+
|
|
165
|
+
Object.keys(_posts).forEach(function (key) {
|
|
166
|
+
if (key === "default" || key === "__esModule") return;
|
|
167
|
+
Object.defineProperty(exports, key, {
|
|
168
|
+
enumerable: true,
|
|
169
|
+
get: function get() {
|
|
170
|
+
return _posts[key];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
var _reactions = require("./reactions");
|
|
176
|
+
|
|
177
|
+
Object.keys(_reactions).forEach(function (key) {
|
|
178
|
+
if (key === "default" || key === "__esModule") return;
|
|
179
|
+
Object.defineProperty(exports, key, {
|
|
180
|
+
enumerable: true,
|
|
181
|
+
get: function get() {
|
|
182
|
+
return _reactions[key];
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
var _tags = require("./tags");
|
|
188
|
+
|
|
189
|
+
Object.keys(_tags).forEach(function (key) {
|
|
190
|
+
if (key === "default" || key === "__esModule") return;
|
|
191
|
+
Object.defineProperty(exports, key, {
|
|
192
|
+
enumerable: true,
|
|
193
|
+
get: function get() {
|
|
194
|
+
return _tags[key];
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
var _users = require("./users");
|
|
200
|
+
|
|
201
|
+
Object.keys(_users).forEach(function (key) {
|
|
202
|
+
if (key === "default" || key === "__esModule") return;
|
|
203
|
+
Object.defineProperty(exports, key, {
|
|
204
|
+
enumerable: true,
|
|
205
|
+
get: function get() {
|
|
206
|
+
return _users[key];
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vYXBwcyc7XG5leHBvcnQgKiBmcm9tICcuL2FyYW5nb2RiJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnNhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbWFpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZ29vZ2xlJztcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXBzJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vcGF5bWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3N0cyc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3RhZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycyc7XG4iXX0=
|
package/lib/types/locations.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
package/lib/types/messages.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
export interface
|
|
2
|
-
readonly _key?: string;
|
|
3
|
-
readonly added?: number;
|
|
1
|
+
export interface MessageInputType {
|
|
4
2
|
readonly content?: string;
|
|
3
|
+
readonly convoId?: string;
|
|
5
4
|
readonly files?: string[];
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
5
|
+
readonly images?: string[];
|
|
6
|
+
readonly itemId?: string;
|
|
7
|
+
readonly itemType?: string;
|
|
8
|
+
readonly msgId?: string;
|
|
9
9
|
readonly read?: boolean;
|
|
10
10
|
readonly saved?: boolean;
|
|
11
|
-
readonly
|
|
11
|
+
readonly userId?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface MessageType extends MessageInputType {
|
|
14
|
+
readonly _key?: string;
|
|
15
|
+
readonly added?: number;
|
|
16
|
+
readonly modified?: number;
|
|
12
17
|
}
|
package/lib/types/messages.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
package/lib/types/payments.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
package/lib/types/posts.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
package/lib/types/reactions.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
package/lib/types/tags.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
package/lib/types/users.d.ts
CHANGED
package/lib/types/users.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
package/lib/utils/analytics.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.logInfo = exports.logException = exports.logError = void 0;
|
|
7
|
+
|
|
8
|
+
var _graphqlErrors = require("graphql-errors");
|
|
9
|
+
|
|
1
10
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
|
|
2
11
|
|
|
3
12
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
13
|
|
|
5
|
-
|
|
6
|
-
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
7
|
-
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
8
|
-
*/
|
|
9
|
-
import { UserError } from 'graphql-errors';
|
|
10
|
-
export var logError = function logError(params, error, session) {
|
|
14
|
+
var logError = function logError(params, error, session) {
|
|
11
15
|
var _ref = error || {},
|
|
12
16
|
_ref$column = _ref.column,
|
|
13
17
|
column = _ref$column === void 0 ? null : _ref$column,
|
|
@@ -32,16 +36,24 @@ export var logError = function logError(params, error, session) {
|
|
|
32
36
|
|
|
33
37
|
console.log('Reaktor Error:', _objectSpread({}, updatedParams, session));
|
|
34
38
|
console.log(error);
|
|
35
|
-
return Promise.reject(isInternal ? error : new UserError(label));
|
|
39
|
+
return Promise.reject(isInternal ? error : new _graphqlErrors.UserError(label));
|
|
36
40
|
};
|
|
37
|
-
|
|
41
|
+
|
|
42
|
+
exports.logError = logError;
|
|
43
|
+
|
|
44
|
+
var logException = function logException(params, session) {
|
|
38
45
|
params.type = 'exception';
|
|
39
46
|
var label = params.label;
|
|
40
47
|
console.log('Reaktor Exception:', _objectSpread({}, params, session));
|
|
41
|
-
return Promise.reject(new UserError(label));
|
|
48
|
+
return Promise.reject(new _graphqlErrors.UserError(label));
|
|
42
49
|
};
|
|
43
|
-
|
|
50
|
+
|
|
51
|
+
exports.logException = logException;
|
|
52
|
+
|
|
53
|
+
var logInfo = function logInfo(params, session) {
|
|
44
54
|
params.type = 'log';
|
|
45
55
|
console.log('Reaktor Log:', _objectSpread({}, params, session));
|
|
46
56
|
};
|
|
47
|
-
|
|
57
|
+
|
|
58
|
+
exports.logInfo = logInfo;
|
|
59
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hbmFseXRpY3MudHMiXSwibmFtZXMiOlsibG9nRXJyb3IiLCJwYXJhbXMiLCJlcnJvciIsInNlc3Npb24iLCJjb2x1bW4iLCJpc0ludGVybmFsIiwibGFiZWwiLCJsaW5lIiwibWVzc2FnZSIsInNvdXJjZSIsInVwZGF0ZWRQYXJhbXMiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsIlByb21pc2UiLCJyZWplY3QiLCJVc2VyRXJyb3IiLCJsb2dFeGNlcHRpb24iLCJsb2dJbmZvIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7Ozs7OztBQUVPLElBQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLE1BQUQsRUFBU0MsS0FBVCxFQUFnQkMsT0FBaEIsRUFBMEM7QUFBQSxhQVE1REQsS0FBSyxJQUFJLEVBUm1EO0FBQUEseUJBRTlERSxNQUY4RDtBQUFBLE1BRTlEQSxNQUY4RCw0QkFFckQsSUFGcUQ7QUFBQSw2QkFHOURDLFVBSDhEO0FBQUEsTUFHOURBLFVBSDhELGdDQUdqRCxLQUhpRDtBQUFBLHdCQUk5REMsS0FKOEQ7QUFBQSxNQUk5REEsS0FKOEQsMkJBSXRELEVBSnNEO0FBQUEsdUJBSzlEQyxJQUw4RDtBQUFBLE1BSzlEQSxJQUw4RCwwQkFLdkQsSUFMdUQ7QUFBQSwwQkFNOURDLE9BTjhEO0FBQUEsTUFNOURBLE9BTjhELDZCQU1wRCxFQU5vRDtBQUFBLHlCQU85REMsTUFQOEQ7QUFBQSxNQU85REEsTUFQOEQsNEJBT3JELEVBUHFEOztBQVVoRSxNQUFNQyxhQUFhLHFCQUNkVCxNQURjO0FBRWpCRyxJQUFBQSxNQUFNLEVBQU5BLE1BRmlCO0FBR2pCRyxJQUFBQSxJQUFJLEVBQUpBLElBSGlCO0FBSWpCQyxJQUFBQSxPQUFPLEVBQVBBLE9BSmlCO0FBS2pCQyxJQUFBQSxNQUFNLEVBQU5BLE1BTGlCO0FBTWpCRSxJQUFBQSxJQUFJLEVBQUU7QUFOVyxJQUFuQjs7QUFTQUMsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksZ0JBQVosb0JBQWtDSCxhQUFsQyxFQUFvRFAsT0FBcEQ7QUFDQVMsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlYLEtBQVo7QUFDQSxTQUFPWSxPQUFPLENBQUNDLE1BQVIsQ0FBZVYsVUFBVSxHQUFHSCxLQUFILEdBQVcsSUFBSWMsd0JBQUosQ0FBY1YsS0FBZCxDQUFwQyxDQUFQO0FBQ0QsQ0F0Qk07Ozs7QUF3QkEsSUFBTVcsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ2hCLE1BQUQsRUFBU0UsT0FBVCxFQUFtQztBQUM3REYsRUFBQUEsTUFBTSxDQUFDVSxJQUFQLEdBQWMsV0FBZDtBQUQ2RCxNQUV0REwsS0FGc0QsR0FFN0NMLE1BRjZDLENBRXRESyxLQUZzRDtBQUc3RE0sRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksb0JBQVosb0JBQXNDWixNQUF0QyxFQUFpREUsT0FBakQ7QUFDQSxTQUFPVyxPQUFPLENBQUNDLE1BQVIsQ0FBZSxJQUFJQyx3QkFBSixDQUFjVixLQUFkLENBQWYsQ0FBUDtBQUNELENBTE07Ozs7QUFPQSxJQUFNWSxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDakIsTUFBRCxFQUFTRSxPQUFULEVBQTJCO0FBQ2hERixFQUFBQSxNQUFNLENBQUNVLElBQVAsR0FBYyxLQUFkO0FBQ0FDLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLGNBQVosb0JBQWdDWixNQUFoQyxFQUEyQ0UsT0FBM0M7QUFDRCxDQUhNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7VXNlckVycm9yfSBmcm9tICdncmFwaHFsLWVycm9ycyc7XG5cbmV4cG9ydCBjb25zdCBsb2dFcnJvciA9IChwYXJhbXMsIGVycm9yLCBzZXNzaW9uKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbHVtbiA9IG51bGwsXG4gICAgaXNJbnRlcm5hbCA9IGZhbHNlLFxuICAgIGxhYmVsID0gJycsXG4gICAgbGluZSA9IG51bGwsXG4gICAgbWVzc2FnZSA9ICcnLFxuICAgIHNvdXJjZSA9ICcnXG4gIH0gPSBlcnJvciB8fCB7fTtcblxuICBjb25zdCB1cGRhdGVkUGFyYW1zID0ge1xuICAgIC4uLnBhcmFtcyxcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZSxcbiAgICB0eXBlOiAnZXJyb3InXG4gIH07XG5cbiAgY29uc29sZS5sb2coJ1JlYWt0b3IgRXJyb3I6Jywgey4uLnVwZGF0ZWRQYXJhbXMsIC4uLnNlc3Npb259KTtcbiAgY29uc29sZS5sb2coZXJyb3IpO1xuICByZXR1cm4gUHJvbWlzZS5yZWplY3QoaXNJbnRlcm5hbCA/IGVycm9yIDogbmV3IFVzZXJFcnJvcihsYWJlbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ0V4Y2VwdGlvbiA9IChwYXJhbXMsIHNlc3Npb24pOiBQcm9taXNlPGFueT4gPT4ge1xuICBwYXJhbXMudHlwZSA9ICdleGNlcHRpb24nO1xuICBjb25zdCB7bGFiZWx9ID0gcGFyYW1zO1xuICBjb25zb2xlLmxvZygnUmVha3RvciBFeGNlcHRpb246Jywgey4uLnBhcmFtcywgLi4uc2Vzc2lvbn0pO1xuICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFVzZXJFcnJvcihsYWJlbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ0luZm8gPSAocGFyYW1zLCBzZXNzaW9uKTogdm9pZCA9PiB7XG4gIHBhcmFtcy50eXBlID0gJ2xvZyc7XG4gIGNvbnNvbGUubG9nKCdSZWFrdG9yIExvZzonLCB7Li4ucGFyYW1zLCAuLi5zZXNzaW9ufSk7XG59O1xuIl19
|
package/lib/utils/arangodb.js
CHANGED
|
@@ -1,27 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRange = exports.getLimit = exports.dbPathObjList = exports.dbPathObjJSON = exports.dbPathObjItem = exports.useDb = exports.db = void 0;
|
|
7
|
+
|
|
8
|
+
var _utils = require("@nlabs/utils");
|
|
9
|
+
|
|
10
|
+
var _arangojs = require("arangojs");
|
|
11
|
+
|
|
12
|
+
var _config = require("../config");
|
|
13
|
+
|
|
1
14
|
/**
|
|
2
15
|
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
16
|
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
17
|
*/
|
|
5
|
-
import { parseNum } from '@nlabs/utils';
|
|
6
|
-
import { Database } from 'arangojs';
|
|
7
|
-
import { Config } from '../config';
|
|
8
18
|
// Create database
|
|
9
|
-
var database = new Database({
|
|
10
|
-
url: Config.get('arangodb.apiUrl')
|
|
19
|
+
var database = new _arangojs.Database({
|
|
20
|
+
url: _config.Config.get('arangodb.apiUrl')
|
|
11
21
|
});
|
|
12
|
-
database.useDatabase(Config.get('arangodb.database'));
|
|
13
|
-
database.useBasicAuth(Config.get('arangodb.username'), Config.get('arangodb.password')); // ArangoDB Utils
|
|
22
|
+
database.useDatabase(_config.Config.get('arangodb.database'));
|
|
23
|
+
database.useBasicAuth(_config.Config.get('arangodb.username'), _config.Config.get('arangodb.password')); // ArangoDB Utils
|
|
24
|
+
|
|
25
|
+
var db = database;
|
|
26
|
+
exports.db = db;
|
|
14
27
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
url: Config.get('arangodb.apiUrl')
|
|
28
|
+
var useDb = function useDb(database) {
|
|
29
|
+
var db = new _arangojs.Database({
|
|
30
|
+
url: _config.Config.get('arangodb.apiUrl')
|
|
19
31
|
});
|
|
20
32
|
db.useDatabase(database);
|
|
21
|
-
db.useBasicAuth(Config.get('arangodb.username'), Config.get('arangodb.password'));
|
|
33
|
+
db.useBasicAuth(_config.Config.get('arangodb.username'), _config.Config.get('arangodb.password'));
|
|
22
34
|
return db;
|
|
23
35
|
};
|
|
24
|
-
|
|
36
|
+
|
|
37
|
+
exports.useDb = useDb;
|
|
38
|
+
|
|
39
|
+
var dbPathObjItem = function dbPathObjItem(pathSet) {
|
|
25
40
|
var routeKey = pathSet[0];
|
|
26
41
|
var collection = routeKey.replace('ById', '');
|
|
27
42
|
var keys = pathSet[1];
|
|
@@ -33,7 +48,10 @@ export var dbPathObjItem = function dbPathObjItem(pathSet) {
|
|
|
33
48
|
routeKey: routeKey
|
|
34
49
|
};
|
|
35
50
|
};
|
|
36
|
-
|
|
51
|
+
|
|
52
|
+
exports.dbPathObjItem = dbPathObjItem;
|
|
53
|
+
|
|
54
|
+
var dbPathObjJSON = function dbPathObjJSON(json) {
|
|
37
55
|
var collectionKeys = Object.keys(json);
|
|
38
56
|
var routeKey = collectionKeys[0];
|
|
39
57
|
var collection = routeKey.replace('ById', '');
|
|
@@ -46,7 +64,10 @@ export var dbPathObjJSON = function dbPathObjJSON(json) {
|
|
|
46
64
|
routeKey: routeKey
|
|
47
65
|
};
|
|
48
66
|
};
|
|
49
|
-
|
|
67
|
+
|
|
68
|
+
exports.dbPathObjJSON = dbPathObjJSON;
|
|
69
|
+
|
|
70
|
+
var dbPathObjList = function dbPathObjList(pathSet) {
|
|
50
71
|
var routeKey = pathSet[0];
|
|
51
72
|
var ranges = pathSet[1];
|
|
52
73
|
var props = pathSet[2];
|
|
@@ -56,10 +77,13 @@ export var dbPathObjList = function dbPathObjList(pathSet) {
|
|
|
56
77
|
routeKey: routeKey
|
|
57
78
|
};
|
|
58
79
|
};
|
|
59
|
-
|
|
80
|
+
|
|
81
|
+
exports.dbPathObjList = dbPathObjList;
|
|
82
|
+
|
|
83
|
+
var getLimit = function getLimit() {
|
|
60
84
|
var start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
61
85
|
var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 30;
|
|
62
|
-
var num = parseNum(to) - parseNum(start);
|
|
86
|
+
var num = (0, _utils.parseNum)(to) - (0, _utils.parseNum)(start);
|
|
63
87
|
|
|
64
88
|
if (num > 50) {
|
|
65
89
|
num = 50;
|
|
@@ -71,7 +95,10 @@ export var getLimit = function getLimit() {
|
|
|
71
95
|
start: start
|
|
72
96
|
};
|
|
73
97
|
};
|
|
74
|
-
|
|
98
|
+
|
|
99
|
+
exports.getLimit = getLimit;
|
|
100
|
+
|
|
101
|
+
var getRange = function getRange(from, to) {
|
|
75
102
|
var updatedFrom = from || 0;
|
|
76
103
|
var updatedTo = to || 15;
|
|
77
104
|
updatedTo = updatedTo - 1;
|
|
@@ -95,4 +122,6 @@ export var getRange = function getRange(from, to) {
|
|
|
95
122
|
to: updatedTo
|
|
96
123
|
};
|
|
97
124
|
};
|
|
98
|
-
|
|
125
|
+
|
|
126
|
+
exports.getRange = getRange;
|
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hcmFuZ29kYi50cyJdLCJuYW1lcyI6WyJkYXRhYmFzZSIsIkRhdGFiYXNlIiwidXJsIiwiQ29uZmlnIiwiZ2V0IiwidXNlRGF0YWJhc2UiLCJ1c2VCYXNpY0F1dGgiLCJkYiIsInVzZURiIiwiZGJQYXRoT2JqSXRlbSIsInBhdGhTZXQiLCJyb3V0ZUtleSIsImNvbGxlY3Rpb24iLCJyZXBsYWNlIiwia2V5cyIsInByb3BzIiwiZGJQYXRoT2JqSlNPTiIsImpzb24iLCJjb2xsZWN0aW9uS2V5cyIsIk9iamVjdCIsIml0ZW1PYmoiLCJkYlBhdGhPYmpMaXN0IiwicmFuZ2VzIiwiZ2V0TGltaXQiLCJzdGFydCIsInRvIiwibnVtIiwiYXFsIiwiZ2V0UmFuZ2UiLCJmcm9tIiwidXBkYXRlZEZyb20iLCJ1cGRhdGVkVG8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFFQTs7QUFQQTs7OztBQVVBO0FBQ0EsSUFBTUEsUUFBa0IsR0FBRyxJQUFJQyxrQkFBSixDQUFhO0FBQ3RDQyxFQUFBQSxHQUFHLEVBQUVDLGVBQU9DLEdBQVAsQ0FBVyxpQkFBWDtBQURpQyxDQUFiLENBQTNCO0FBR0FKLFFBQVEsQ0FBQ0ssV0FBVCxDQUFxQkYsZUFBT0MsR0FBUCxDQUFXLG1CQUFYLENBQXJCO0FBQ0FKLFFBQVEsQ0FBQ00sWUFBVCxDQUFzQkgsZUFBT0MsR0FBUCxDQUFXLG1CQUFYLENBQXRCLEVBQXVERCxlQUFPQyxHQUFQLENBQVcsbUJBQVgsQ0FBdkQsRSxDQUVBOztBQUNPLElBQU1HLEVBQVksR0FBR1AsUUFBckI7OztBQUVBLElBQU1RLEtBQUssR0FBRyxTQUFSQSxLQUFRLENBQUNSLFFBQUQsRUFBZ0M7QUFDbkQsTUFBTU8sRUFBRSxHQUFHLElBQUlOLGtCQUFKLENBQWE7QUFBQ0MsSUFBQUEsR0FBRyxFQUFFQyxlQUFPQyxHQUFQLENBQVcsaUJBQVg7QUFBTixHQUFiLENBQVg7QUFFQUcsRUFBQUEsRUFBRSxDQUFDRixXQUFILENBQWVMLFFBQWY7QUFDQU8sRUFBQUEsRUFBRSxDQUFDRCxZQUFILENBQWdCSCxlQUFPQyxHQUFQLENBQVcsbUJBQVgsQ0FBaEIsRUFBaURELGVBQU9DLEdBQVAsQ0FBVyxtQkFBWCxDQUFqRDtBQUVBLFNBQU9HLEVBQVA7QUFDRCxDQVBNOzs7O0FBU0EsSUFBTUUsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxPQUFELEVBQWlDO0FBQzVELE1BQU1DLFFBQWdCLEdBQUdELE9BQU8sQ0FBQyxDQUFELENBQWhDO0FBQ0EsTUFBTUUsVUFBa0IsR0FBR0QsUUFBUSxDQUFDRSxPQUFULENBQWlCLE1BQWpCLEVBQXlCLEVBQXpCLENBQTNCO0FBQ0EsTUFBTUMsSUFBYyxHQUFHSixPQUFPLENBQUMsQ0FBRCxDQUE5QjtBQUNBLE1BQU1LLEtBQVUsR0FBR0wsT0FBTyxDQUFDLENBQUQsQ0FBMUI7QUFFQSxTQUFPO0FBQ0xFLElBQUFBLFVBQVUsRUFBVkEsVUFESztBQUVMRSxJQUFBQSxJQUFJLEVBQUpBLElBRks7QUFHTEMsSUFBQUEsS0FBSyxFQUFMQSxLQUhLO0FBSUxKLElBQUFBLFFBQVEsRUFBUkE7QUFKSyxHQUFQO0FBTUQsQ0FaTTs7OztBQWNBLElBQU1LLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0MsSUFBRCxFQUE4QjtBQUN6RCxNQUFNQyxjQUF3QixHQUFHQyxNQUFNLENBQUNMLElBQVAsQ0FBWUcsSUFBWixDQUFqQztBQUNBLE1BQU1OLFFBQWdCLEdBQUdPLGNBQWMsQ0FBQyxDQUFELENBQXZDO0FBQ0EsTUFBTU4sVUFBa0IsR0FBR0QsUUFBUSxDQUFDRSxPQUFULENBQWlCLE1BQWpCLEVBQXlCLEVBQXpCLENBQTNCO0FBQ0EsTUFBTU8sT0FBWSxHQUFHSCxJQUFJLENBQUNOLFFBQUQsQ0FBekI7QUFDQSxNQUFNRyxJQUFjLEdBQUdLLE1BQU0sQ0FBQ0wsSUFBUCxDQUFZTSxPQUFaLENBQXZCO0FBRUEsU0FBTztBQUNMUixJQUFBQSxVQUFVLEVBQVZBLFVBREs7QUFFTFEsSUFBQUEsT0FBTyxFQUFQQSxPQUZLO0FBR0xOLElBQUFBLElBQUksRUFBSkEsSUFISztBQUlMSCxJQUFBQSxRQUFRLEVBQVJBO0FBSkssR0FBUDtBQU1ELENBYk07Ozs7QUFlQSxJQUFNVSxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNYLE9BQUQsRUFBaUM7QUFDNUQsTUFBTUMsUUFBZ0IsR0FBR0QsT0FBTyxDQUFDLENBQUQsQ0FBaEM7QUFDQSxNQUFNWSxNQUFXLEdBQUdaLE9BQU8sQ0FBQyxDQUFELENBQTNCO0FBQ0EsTUFBTUssS0FBVSxHQUFHTCxPQUFPLENBQUMsQ0FBRCxDQUExQjtBQUVBLFNBQU87QUFDTEssSUFBQUEsS0FBSyxFQUFMQSxLQURLO0FBRUxPLElBQUFBLE1BQU0sRUFBTkEsTUFGSztBQUdMWCxJQUFBQSxRQUFRLEVBQVJBO0FBSEssR0FBUDtBQUtELENBVk07Ozs7QUFZQSxJQUFNWSxRQUFRLEdBQUcsU0FBWEEsUUFBVyxHQUF1RDtBQUFBLE1BQXREQyxLQUFzRCx1RUFBdEMsQ0FBc0M7QUFBQSxNQUFuQ0MsRUFBbUMsdUVBQXRCLEVBQXNCO0FBQzdFLE1BQUlDLEdBQUcsR0FBRyxxQkFBU0QsRUFBVCxJQUFlLHFCQUFTRCxLQUFULENBQXpCOztBQUVBLE1BQUdFLEdBQUcsR0FBRyxFQUFULEVBQWE7QUFDWEEsSUFBQUEsR0FBRyxHQUFHLEVBQU47QUFDRDs7QUFFRCxTQUFPO0FBQUNDLElBQUFBLEdBQUcsa0JBQVdILEtBQVgsZUFBcUJFLEdBQXJCLENBQUo7QUFBZ0NBLElBQUFBLEdBQUcsRUFBSEEsR0FBaEM7QUFBcUNGLElBQUFBLEtBQUssRUFBTEE7QUFBckMsR0FBUDtBQUNELENBUk07Ozs7QUFVQSxJQUFNSSxRQUFRLEdBQUcsU0FBWEEsUUFBVyxDQUFDQyxJQUFELEVBQWVKLEVBQWYsRUFBeUM7QUFDL0QsTUFBSUssV0FBbUIsR0FBR0QsSUFBSSxJQUFJLENBQWxDO0FBQ0EsTUFBSUUsU0FBaUIsR0FBR04sRUFBRSxJQUFJLEVBQTlCO0FBQ0FNLEVBQUFBLFNBQVMsR0FBR0EsU0FBUyxHQUFHLENBQXhCOztBQUVBLE1BQUdBLFNBQVMsR0FBRyxDQUFmLEVBQWtCO0FBQ2hCQSxJQUFBQSxTQUFTLEdBQUcsQ0FBWjtBQUNELEdBRkQsTUFFTyxJQUFHTixFQUFFLEdBQUcsRUFBUixFQUFZO0FBQ2pCTSxJQUFBQSxTQUFTLEdBQUcsRUFBWjtBQUNEOztBQUVELE1BQUdELFdBQVcsR0FBRyxDQUFqQixFQUFvQjtBQUNsQkEsSUFBQUEsV0FBVyxHQUFHLENBQWQ7QUFDRDs7QUFDRCxNQUFHQSxXQUFXLEdBQUdDLFNBQWpCLEVBQTRCO0FBQzFCRCxJQUFBQSxXQUFXLEdBQUdDLFNBQWQ7QUFDRDs7QUFFRCxTQUFPO0FBQUNGLElBQUFBLElBQUksRUFBRUMsV0FBUDtBQUFvQkwsSUFBQUEsRUFBRSxFQUFFTTtBQUF4QixHQUFQO0FBQ0QsQ0FuQk0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtwYXJzZU51bX0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7RGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge0FyYW5nb0RCTGltaXQsIEFyYW5nb0RCUGF0aE9iamVjdCwgUmFuZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYic7XG5cbi8vIENyZWF0ZSBkYXRhYmFzZVxuY29uc3QgZGF0YWJhc2U6IERhdGFiYXNlID0gbmV3IERhdGFiYXNlKHtcbiAgdXJsOiBDb25maWcuZ2V0KCdhcmFuZ29kYi5hcGlVcmwnKVxufSk7XG5kYXRhYmFzZS51c2VEYXRhYmFzZShDb25maWcuZ2V0KCdhcmFuZ29kYi5kYXRhYmFzZScpKTtcbmRhdGFiYXNlLnVzZUJhc2ljQXV0aChDb25maWcuZ2V0KCdhcmFuZ29kYi51c2VybmFtZScpLCBDb25maWcuZ2V0KCdhcmFuZ29kYi5wYXNzd29yZCcpKTtcblxuLy8gQXJhbmdvREIgVXRpbHNcbmV4cG9ydCBjb25zdCBkYjogRGF0YWJhc2UgPSBkYXRhYmFzZTtcblxuZXhwb3J0IGNvbnN0IHVzZURiID0gKGRhdGFiYXNlOiBzdHJpbmcpOiBEYXRhYmFzZSA9PiB7XG4gIGNvbnN0IGRiID0gbmV3IERhdGFiYXNlKHt1cmw6IENvbmZpZy5nZXQoJ2FyYW5nb2RiLmFwaVVybCcpfSk7XG5cbiAgZGIudXNlRGF0YWJhc2UoZGF0YWJhc2UpO1xuICBkYi51c2VCYXNpY0F1dGgoQ29uZmlnLmdldCgnYXJhbmdvZGIudXNlcm5hbWUnKSwgQ29uZmlnLmdldCgnYXJhbmdvZGIucGFzc3dvcmQnKSk7XG5cbiAgcmV0dXJuIGRiO1xufTtcblxuZXhwb3J0IGNvbnN0IGRiUGF0aE9iakl0ZW0gPSAocGF0aFNldCk6IEFyYW5nb0RCUGF0aE9iamVjdCA9PiB7XG4gIGNvbnN0IHJvdXRlS2V5OiBzdHJpbmcgPSBwYXRoU2V0WzBdO1xuICBjb25zdCBjb2xsZWN0aW9uOiBzdHJpbmcgPSByb3V0ZUtleS5yZXBsYWNlKCdCeUlkJywgJycpO1xuICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IHBhdGhTZXRbMV07XG4gIGNvbnN0IHByb3BzOiBhbnkgPSBwYXRoU2V0WzJdO1xuXG4gIHJldHVybiB7XG4gICAgY29sbGVjdGlvbixcbiAgICBrZXlzLFxuICAgIHByb3BzLFxuICAgIHJvdXRlS2V5XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGJQYXRoT2JqSlNPTiA9IChqc29uKTogQXJhbmdvREJQYXRoT2JqZWN0ID0+IHtcbiAgY29uc3QgY29sbGVjdGlvbktleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoanNvbik7XG4gIGNvbnN0IHJvdXRlS2V5OiBzdHJpbmcgPSBjb2xsZWN0aW9uS2V5c1swXTtcbiAgY29uc3QgY29sbGVjdGlvbjogc3RyaW5nID0gcm91dGVLZXkucmVwbGFjZSgnQnlJZCcsICcnKTtcbiAgY29uc3QgaXRlbU9iajogYW55ID0ganNvbltyb3V0ZUtleV07XG4gIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoaXRlbU9iaik7XG5cbiAgcmV0dXJuIHtcbiAgICBjb2xsZWN0aW9uLFxuICAgIGl0ZW1PYmosXG4gICAga2V5cyxcbiAgICByb3V0ZUtleVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRiUGF0aE9iakxpc3QgPSAocGF0aFNldCk6IEFyYW5nb0RCUGF0aE9iamVjdCA9PiB7XG4gIGNvbnN0IHJvdXRlS2V5OiBzdHJpbmcgPSBwYXRoU2V0WzBdO1xuICBjb25zdCByYW5nZXM6IGFueSA9IHBhdGhTZXRbMV07XG4gIGNvbnN0IHByb3BzOiBhbnkgPSBwYXRoU2V0WzJdO1xuXG4gIHJldHVybiB7XG4gICAgcHJvcHMsXG4gICAgcmFuZ2VzLFxuICAgIHJvdXRlS2V5XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGltaXQgPSAoc3RhcnQ6IG51bWJlciA9IDAsIHRvOiBudW1iZXIgPSAzMCk6IEFyYW5nb0RCTGltaXQgPT4ge1xuICBsZXQgbnVtID0gcGFyc2VOdW0odG8pIC0gcGFyc2VOdW0oc3RhcnQpO1xuXG4gIGlmKG51bSA+IDUwKSB7XG4gICAgbnVtID0gNTA7XG4gIH1cblxuICByZXR1cm4ge2FxbDogYExJTUlUICR7c3RhcnR9LCAke251bX1gLCBudW0sIHN0YXJ0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSYW5nZSA9IChmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpOiBSYW5nZVR5cGUgPT4ge1xuICBsZXQgdXBkYXRlZEZyb206IG51bWJlciA9IGZyb20gfHwgMDtcbiAgbGV0IHVwZGF0ZWRUbzogbnVtYmVyID0gdG8gfHwgMTU7XG4gIHVwZGF0ZWRUbyA9IHVwZGF0ZWRUbyAtIDE7XG5cbiAgaWYodXBkYXRlZFRvIDwgMCkge1xuICAgIHVwZGF0ZWRUbyA9IDA7XG4gIH0gZWxzZSBpZih0byA+IDUwKSB7XG4gICAgdXBkYXRlZFRvID0gNTA7XG4gIH1cblxuICBpZih1cGRhdGVkRnJvbSA8IDApIHtcbiAgICB1cGRhdGVkRnJvbSA9IDA7XG4gIH1cbiAgaWYodXBkYXRlZEZyb20gPiB1cGRhdGVkVG8pIHtcbiAgICB1cGRhdGVkRnJvbSA9IHVwZGF0ZWRUbztcbiAgfVxuXG4gIHJldHVybiB7ZnJvbTogdXBkYXRlZEZyb20sIHRvOiB1cGRhdGVkVG99O1xufTtcbiJdfQ==
|
package/lib/utils/auth.js
CHANGED
|
@@ -1,23 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseContext = exports.getLambdaData = exports.parseJsonData = void 0;
|
|
7
|
+
|
|
8
|
+
var _utils = require("@nlabs/utils");
|
|
9
|
+
|
|
10
|
+
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
|
|
11
|
+
|
|
12
|
+
var _isString = _interopRequireDefault(require("lodash/isString"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
1
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
|
|
2
17
|
|
|
3
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
19
|
|
|
5
|
-
|
|
6
|
-
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
7
|
-
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
8
|
-
*/
|
|
9
|
-
import { createHash } from '@nlabs/utils';
|
|
10
|
-
import isPlainObject from 'lodash/isPlainObject';
|
|
11
|
-
import isString from 'lodash/isString';
|
|
12
|
-
export var parseJsonData = function parseJsonData(data) {
|
|
20
|
+
var parseJsonData = function parseJsonData(data) {
|
|
13
21
|
try {
|
|
14
22
|
return JSON.parse(data);
|
|
15
23
|
} catch (error) {
|
|
16
24
|
return data;
|
|
17
25
|
}
|
|
18
26
|
};
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
|
|
28
|
+
exports.parseJsonData = parseJsonData;
|
|
29
|
+
|
|
30
|
+
var getLambdaData = function getLambdaData(data) {
|
|
31
|
+
if ((0, _isPlainObject.default)(data)) {
|
|
21
32
|
var queryData = data.body || data['body-json'];
|
|
22
33
|
var requestContext = data.requestContext,
|
|
23
34
|
isOffline = data.isOffline;
|
|
@@ -29,7 +40,7 @@ export var getLambdaData = function getLambdaData(data) {
|
|
|
29
40
|
isOffline: isOffline
|
|
30
41
|
}
|
|
31
42
|
};
|
|
32
|
-
} else if (
|
|
43
|
+
} else if ((0, _isString.default)(data)) {
|
|
33
44
|
return {
|
|
34
45
|
body: parseJsonData(data),
|
|
35
46
|
context: {}
|
|
@@ -41,7 +52,10 @@ export var getLambdaData = function getLambdaData(data) {
|
|
|
41
52
|
context: {}
|
|
42
53
|
};
|
|
43
54
|
};
|
|
44
|
-
|
|
55
|
+
|
|
56
|
+
exports.getLambdaData = getLambdaData;
|
|
57
|
+
|
|
58
|
+
var parseContext = function parseContext(appId, data) {
|
|
45
59
|
var _data$authorizer = data.authorizer,
|
|
46
60
|
authorizer = _data$authorizer === void 0 ? {} : _data$authorizer,
|
|
47
61
|
identity = data.identity,
|
|
@@ -55,7 +69,7 @@ export var parseContext = function parseContext(appId, data) {
|
|
|
55
69
|
_claims$userType = claims.userType,
|
|
56
70
|
userType = _claims$userType === void 0 ? 'default' : _claims$userType;
|
|
57
71
|
var ipAddress = identity.sourceIp;
|
|
58
|
-
var userId = createHash(sub, null);
|
|
72
|
+
var userId = (0, _utils.createHash)(sub, null);
|
|
59
73
|
return {
|
|
60
74
|
appId: appId,
|
|
61
75
|
database: appId,
|
|
@@ -69,7 +83,7 @@ export var parseContext = function parseContext(appId, data) {
|
|
|
69
83
|
} else if (isOffline) {
|
|
70
84
|
var _sub = 'a54224df-b74e-4398-a4ad-8be991c1f1ed';
|
|
71
85
|
|
|
72
|
-
var _userId = createHash(_sub, null);
|
|
86
|
+
var _userId = (0, _utils.createHash)(_sub, null);
|
|
73
87
|
|
|
74
88
|
return {
|
|
75
89
|
appId: appId,
|
|
@@ -85,4 +99,6 @@ export var parseContext = function parseContext(appId, data) {
|
|
|
85
99
|
|
|
86
100
|
return null;
|
|
87
101
|
};
|
|
88
|
-
|
|
102
|
+
|
|
103
|
+
exports.parseContext = parseContext;
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbInBhcnNlSnNvbkRhdGEiLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwiZXJyb3IiLCJnZXRMYW1iZGFEYXRhIiwicXVlcnlEYXRhIiwiYm9keSIsInJlcXVlc3RDb250ZXh0IiwiaXNPZmZsaW5lIiwiY29udGV4dCIsInBhcnNlQ29udGV4dCIsImFwcElkIiwiYXV0aG9yaXplciIsImlkZW50aXR5IiwiY2xhaW1zIiwidXNlcm5hbWUiLCJlbWFpbCIsInN1YiIsInVzZXJUeXBlIiwiaXBBZGRyZXNzIiwic291cmNlSXAiLCJ1c2VySWQiLCJkYXRhYmFzZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlPLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0MsSUFBRCxFQUFlO0FBQzFDLE1BQUk7QUFDRixXQUFPQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0YsSUFBWCxDQUFQO0FBQ0QsR0FGRCxDQUVFLE9BQU1HLEtBQU4sRUFBYTtBQUNiLFdBQU9ILElBQVA7QUFDRDtBQUNGLENBTk07Ozs7QUFRQSxJQUFNSSxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNKLElBQUQsRUFBZTtBQUMxQyxNQUFHLDRCQUFjQSxJQUFkLENBQUgsRUFBd0I7QUFDdEIsUUFBTUssU0FBUyxHQUFHTCxJQUFJLENBQUNNLElBQUwsSUFBYU4sSUFBSSxDQUFDLFdBQUQsQ0FBbkM7QUFEc0IsUUFFZk8sY0FGZSxHQUVjUCxJQUZkLENBRWZPLGNBRmU7QUFBQSxRQUVDQyxTQUZELEdBRWNSLElBRmQsQ0FFQ1EsU0FGRDtBQUl0QixXQUFPO0FBQ0xGLE1BQUFBLElBQUksRUFBRUQsU0FBUyxHQUFHTixhQUFhLENBQUNNLFNBQUQsQ0FBaEIsR0FBOEJMLElBRHhDO0FBRUxTLE1BQUFBLE9BQU8sRUFBRUYsY0FBYyxxQkFBT0EsY0FBUDtBQUF1QkMsUUFBQUEsU0FBUyxFQUFUQTtBQUF2QixXQUFvQztBQUFDQSxRQUFBQSxTQUFTLEVBQVRBO0FBQUQ7QUFGdEQsS0FBUDtBQUlELEdBUkQsTUFRTyxJQUFHLHVCQUFTUixJQUFULENBQUgsRUFBbUI7QUFDeEIsV0FBTztBQUNMTSxNQUFBQSxJQUFJLEVBQUVQLGFBQWEsQ0FBQ0MsSUFBRCxDQURkO0FBRUxTLE1BQUFBLE9BQU8sRUFBRTtBQUZKLEtBQVA7QUFJRDs7QUFFRCxTQUFPO0FBQ0xILElBQUFBLElBQUksRUFBRSxFQUREO0FBRUxHLElBQUFBLE9BQU8sRUFBRTtBQUZKLEdBQVA7QUFJRCxDQXBCTTs7OztBQXNCQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxLQUFELEVBQWdCWCxJQUFoQixFQUEwQztBQUFBLHlCQUNyQkEsSUFEcUIsQ0FDN0RZLFVBRDZEO0FBQUEsTUFDN0RBLFVBRDZELGlDQUNoRCxFQURnRDtBQUFBLE1BQzVDQyxRQUQ0QyxHQUNyQmIsSUFEcUIsQ0FDNUNhLFFBRDRDO0FBQUEsTUFDbENMLFNBRGtDLEdBQ3JCUixJQURxQixDQUNsQ1EsU0FEa0M7QUFBQSxNQUU3RE0sTUFGNkQsR0FFbkRGLFVBRm1ELENBRTdERSxNQUY2RDs7QUFJcEUsTUFBR0EsTUFBSCxFQUFXO0FBQUEsUUFDb0JDLFFBRHBCLEdBQ2tFRCxNQURsRSxDQUNELGtCQURDO0FBQUEsUUFDOEJFLEtBRDlCLEdBQ2tFRixNQURsRSxDQUM4QkUsS0FEOUI7QUFBQSxRQUNxQ0MsR0FEckMsR0FDa0VILE1BRGxFLENBQ3FDRyxHQURyQztBQUFBLDJCQUNrRUgsTUFEbEUsQ0FDMENJLFFBRDFDO0FBQUEsUUFDMENBLFFBRDFDLGlDQUNxRCxTQURyRDtBQUFBLFFBRVFDLFNBRlIsR0FFcUJOLFFBRnJCLENBRUZPLFFBRkU7QUFHVCxRQUFNQyxNQUFjLEdBQUcsdUJBQVdKLEdBQVgsRUFBZ0IsSUFBaEIsQ0FBdkI7QUFDQSxXQUFPO0FBQUNOLE1BQUFBLEtBQUssRUFBTEEsS0FBRDtBQUFRVyxNQUFBQSxRQUFRLEVBQUVYLEtBQWxCO0FBQXlCSyxNQUFBQSxLQUFLLEVBQUxBLEtBQXpCO0FBQWdDRyxNQUFBQSxTQUFTLEVBQVRBLFNBQWhDO0FBQTJDRixNQUFBQSxHQUFHLEVBQUhBLEdBQTNDO0FBQWdESSxNQUFBQSxNQUFNLEVBQU5BLE1BQWhEO0FBQXdESCxNQUFBQSxRQUFRLEVBQVJBLFFBQXhEO0FBQWtFSCxNQUFBQSxRQUFRLEVBQVJBO0FBQWxFLEtBQVA7QUFDRCxHQUxELE1BS08sSUFBR1AsU0FBSCxFQUFjO0FBQ25CLFFBQU1TLElBQVcsR0FBRyxzQ0FBcEI7O0FBQ0EsUUFBTUksT0FBYyxHQUFHLHVCQUFXSixJQUFYLEVBQWdCLElBQWhCLENBQXZCOztBQUVBLFdBQU87QUFDTE4sTUFBQUEsS0FBSyxFQUFMQSxLQURLO0FBRUxXLE1BQUFBLFFBQVEsRUFBRVgsS0FGTDtBQUdMSyxNQUFBQSxLQUFLLEVBQUUsdUJBSEY7QUFJTEcsTUFBQUEsU0FBUyxFQUFFLFNBSk47QUFLTEYsTUFBQUEsR0FBRyxFQUFIQSxJQUxLO0FBTUxJLE1BQUFBLE1BQU0sRUFBTkEsT0FOSztBQU9MSCxNQUFBQSxRQUFRLEVBQUUsQ0FQTDtBQVFMSCxNQUFBQSxRQUFRLEVBQUU7QUFSTCxLQUFQO0FBVUQ7O0FBRUQsU0FBTyxJQUFQO0FBQ0QsQ0ExQk0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjcmVhdGVIYXNofSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IGlzUGxhaW5PYmplY3QgZnJvbSAnbG9kYXNoL2lzUGxhaW5PYmplY3QnO1xuaW1wb3J0IGlzU3RyaW5nIGZyb20gJ2xvZGFzaC9pc1N0cmluZyc7XG5cbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aCc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb25EYXRhID0gKGRhdGEpOiBhbnkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMYW1iZGFEYXRhID0gKGRhdGE6IGFueSkgPT4ge1xuICBpZihpc1BsYWluT2JqZWN0KGRhdGEpKSB7XG4gICAgY29uc3QgcXVlcnlEYXRhID0gZGF0YS5ib2R5IHx8IGRhdGFbJ2JvZHktanNvbiddO1xuICAgIGNvbnN0IHtyZXF1ZXN0Q29udGV4dCwgaXNPZmZsaW5lfSA9IGRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYm9keTogcXVlcnlEYXRhID8gcGFyc2VKc29uRGF0YShxdWVyeURhdGEpIDogZGF0YSxcbiAgICAgIGNvbnRleHQ6IHJlcXVlc3RDb250ZXh0ID8gey4uLnJlcXVlc3RDb250ZXh0LCBpc09mZmxpbmV9IDoge2lzT2ZmbGluZX1cbiAgICB9O1xuICB9IGVsc2UgaWYoaXNTdHJpbmcoZGF0YSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm9keTogcGFyc2VKc29uRGF0YShkYXRhKSxcbiAgICAgIGNvbnRleHQ6IHt9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYm9keToge30sXG4gICAgY29udGV4dDoge31cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUNvbnRleHQgPSAoYXBwSWQ6IHN0cmluZywgZGF0YTogYW55KTogQXBpQ29udGV4dCA9PiB7XG4gIGNvbnN0IHthdXRob3JpemVyID0ge30sIGlkZW50aXR5LCBpc09mZmxpbmV9ID0gZGF0YTtcbiAgY29uc3Qge2NsYWltc30gPSBhdXRob3JpemVyO1xuXG4gIGlmKGNsYWltcykge1xuICAgIGNvbnN0IHtbJ2NvZ25pdG86dXNlcm5hbWUnXTogdXNlcm5hbWUsIGVtYWlsLCBzdWIsIHVzZXJUeXBlID0gJ2RlZmF1bHQnfSA9IGNsYWltcztcbiAgICBjb25zdCB7c291cmNlSXA6IGlwQWRkcmVzc30gPSBpZGVudGl0eTtcbiAgICBjb25zdCB1c2VySWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goc3ViLCBudWxsKTtcbiAgICByZXR1cm4ge2FwcElkLCBkYXRhYmFzZTogYXBwSWQsIGVtYWlsLCBpcEFkZHJlc3MsIHN1YiwgdXNlcklkLCB1c2VyVHlwZSwgdXNlcm5hbWV9O1xuICB9IGVsc2UgaWYoaXNPZmZsaW5lKSB7XG4gICAgY29uc3Qgc3ViOiBzdHJpbmcgPSAnYTU0MjI0ZGYtYjc0ZS00Mzk4LWE0YWQtOGJlOTkxYzFmMWVkJztcbiAgICBjb25zdCB1c2VySWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goc3ViLCBudWxsKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhcHBJZCxcbiAgICAgIGRhdGFiYXNlOiBhcHBJZCxcbiAgICAgIGVtYWlsOiAndGVzdEBuaXRyb2dlbmxhYnMuY29tJyxcbiAgICAgIGlwQWRkcmVzczogJzEuMS4xLjEnLFxuICAgICAgc3ViLFxuICAgICAgdXNlcklkLFxuICAgICAgdXNlclR5cGU6IDEsXG4gICAgICB1c2VybmFtZTogJ3Rlc3RlcidcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuIl19
|