@nlabs/reaktor 0.1.10 → 0.1.12
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/package.json +14 -14
- package/lib/config.js +0 -139
- package/lib/data/conversations.js +0 -228
- package/lib/data/dynamodb.js +0 -172
- package/lib/data/email.js +0 -194
- package/lib/data/files.js +0 -463
- package/lib/data/groups.js +0 -401
- package/lib/data/images.js +0 -841
- package/lib/data/index.js +0 -234
- package/lib/data/ios.js +0 -327
- package/lib/data/locations.js +0 -148
- package/lib/data/messages.js +0 -281
- package/lib/data/notifications.js +0 -59
- package/lib/data/payments.js +0 -798
- package/lib/data/posts.js +0 -637
- package/lib/data/reactions.js +0 -243
- package/lib/data/s3.js +0 -133
- package/lib/data/search.js +0 -111
- package/lib/data/sms.js +0 -79
- package/lib/data/subscription.js +0 -311
- package/lib/data/tags.js +0 -343
- package/lib/data/users.js +0 -415
- package/lib/index.js +0 -42
- package/lib/types/apps.js +0 -2
- package/lib/types/arangodb.js +0 -2
- package/lib/types/auth.js +0 -2
- package/lib/types/conversations.js +0 -2
- package/lib/types/email.js +0 -2
- package/lib/types/files.js +0 -2
- package/lib/types/google.js +0 -2
- package/lib/types/groups.js +0 -2
- package/lib/types/images.js +0 -2
- package/lib/types/index.js +0 -210
- package/lib/types/locations.js +0 -2
- package/lib/types/messages.js +0 -2
- package/lib/types/notifications.js +0 -2
- package/lib/types/payments.js +0 -2
- package/lib/types/posts.js +0 -2
- package/lib/types/reactions.js +0 -2
- package/lib/types/tags.js +0 -2
- package/lib/types/users.js +0 -2
- package/lib/utils/analytics.js +0 -59
- package/lib/utils/arangodb.js +0 -131
- package/lib/utils/auth.js +0 -104
- package/lib/utils/graphql.js +0 -19
- package/lib/utils/index.js +0 -78
- package/lib/utils/objects.js +0 -54
- package/lib/utils/redis.js +0 -28
package/lib/data/reactions.js
DELETED
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.postReaction = exports.getUsersByReaction = exports.getReactionsByUser = exports.getGroupReactions = exports.addGroupReaction = void 0;
|
|
7
|
-
|
|
8
|
-
var _utils = require("@nlabs/utils");
|
|
9
|
-
|
|
10
|
-
var _arangojs = require("arangojs");
|
|
11
|
-
|
|
12
|
-
var _utils2 = require("../utils");
|
|
13
|
-
|
|
14
|
-
function _templateObject4() {
|
|
15
|
-
var data = _taggedTemplateLiteral(["LET reactions = (\n FOR post, r IN INBOUND p._id reactions\n COLLECT reactionName = r.value INTO reactionItems\n RETURN {id: p._id, type: reactionName, count: LENGTH(reactionItems[*].r.value)}\n )\n RETURN reactions"]);
|
|
16
|
-
|
|
17
|
-
_templateObject4 = function _templateObject4() {
|
|
18
|
-
return data;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
return data;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function _templateObject3() {
|
|
25
|
-
var data = _taggedTemplateLiteral(["FOR p, r IN INBOUND ", " reaction\n FILTER r.type == \"posts\" && r._from == ", "\n REMOVE r IN reactions\n RETURN r"]);
|
|
26
|
-
|
|
27
|
-
_templateObject3 = function _templateObject3() {
|
|
28
|
-
return data;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
return data;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function _templateObject2() {
|
|
35
|
-
var data = _taggedTemplateLiteral(["FOR g, r IN INBOUND ", " hasReaction\n FILTER r._from == ", "\n COLLECT reactionName = r.value INTO reactionItems\n RETURN {value: reactionName, count: LENGTH(reactionItems[*].r.value)}"]);
|
|
36
|
-
|
|
37
|
-
_templateObject2 = function _templateObject2() {
|
|
38
|
-
return data;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
return data;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function _templateObject() {
|
|
45
|
-
var data = _taggedTemplateLiteral(["FOR g, r IN INBOUND ", " hasReaction\n COLLECT reactionName = r.value INTO reactionItems\n RETURN {value: reactionName, count: LENGTH(reactionItems[*].r.value)}"]);
|
|
46
|
-
|
|
47
|
-
_templateObject = function _templateObject() {
|
|
48
|
-
return data;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
return data;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
55
|
-
|
|
56
|
-
var eventCategory = 'reactions';
|
|
57
|
-
|
|
58
|
-
var addGroupReaction = function addGroupReaction(context) {
|
|
59
|
-
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
60
|
-
var action = 'reaction';
|
|
61
|
-
var database = context.database,
|
|
62
|
-
sessionId = context.userId;
|
|
63
|
-
|
|
64
|
-
if (!sessionId) {
|
|
65
|
-
return (0, _utils2.logException)({
|
|
66
|
-
action: action,
|
|
67
|
-
category: eventCategory,
|
|
68
|
-
label: 'unauthorized',
|
|
69
|
-
value: 'invalid_session'
|
|
70
|
-
}, context).then(function () {
|
|
71
|
-
return null;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
var itemId = params.id,
|
|
76
|
-
_params$value = params.value,
|
|
77
|
-
itemValue = _params$value === void 0 ? 'like' : _params$value;
|
|
78
|
-
var formatItemId = (0, _utils.parseId)(itemId);
|
|
79
|
-
var formatValue = (0, _utils.parseChar)(itemValue, 32);
|
|
80
|
-
var edgeCollection = (0, _utils2.useDb)(database).edgeCollection('hasReaction'); // Remove existing likes
|
|
81
|
-
|
|
82
|
-
var groupDocId = "groups/".concat(formatItemId);
|
|
83
|
-
var userDocId = "users/".concat(sessionId);
|
|
84
|
-
var edgeId = (0, _utils.createHash)("reaction-".concat(formatItemId, "-").concat(sessionId));
|
|
85
|
-
var edge = {
|
|
86
|
-
_key: edgeId,
|
|
87
|
-
added: Date.now(),
|
|
88
|
-
type: 'group',
|
|
89
|
-
value: formatValue
|
|
90
|
-
};
|
|
91
|
-
return edgeCollection.save(edge, userDocId, groupDocId).then(function () {
|
|
92
|
-
return true;
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
exports.addGroupReaction = addGroupReaction;
|
|
97
|
-
|
|
98
|
-
var getGroupReactions = function getGroupReactions(context) {
|
|
99
|
-
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
100
|
-
var action = 'getReactions';
|
|
101
|
-
var database = context.database;
|
|
102
|
-
var groupId = params.id;
|
|
103
|
-
var groupDocId = "groups/".concat((0, _utils.parseId)(groupId)); // Query
|
|
104
|
-
|
|
105
|
-
var aqlQry = (0, _arangojs.aql)(_templateObject(), groupDocId);
|
|
106
|
-
return (0, _utils2.useDb)(database).query(aqlQry).then(function (cursor) {
|
|
107
|
-
return cursor.all();
|
|
108
|
-
}).catch(function (error) {
|
|
109
|
-
return (0, _utils2.logError)({
|
|
110
|
-
action: action,
|
|
111
|
-
category: eventCategory,
|
|
112
|
-
label: 'db_error'
|
|
113
|
-
}, error, context).then(function () {
|
|
114
|
-
return null;
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
exports.getGroupReactions = getGroupReactions;
|
|
120
|
-
|
|
121
|
-
var getReactionsByUser = function getReactionsByUser(context, groupId) {
|
|
122
|
-
var action = 'getReactionsByUser';
|
|
123
|
-
var database = context.database,
|
|
124
|
-
sessionId = context.userId;
|
|
125
|
-
var groupDocId = "groups/".concat((0, _utils.parseId)(groupId));
|
|
126
|
-
var userDocId = "users/".concat(sessionId); // Query
|
|
127
|
-
|
|
128
|
-
var aqlQry = (0, _arangojs.aql)(_templateObject2(), groupDocId, userDocId);
|
|
129
|
-
return (0, _utils2.useDb)(database).query(aqlQry).then(function (cursor) {
|
|
130
|
-
return cursor.all();
|
|
131
|
-
}).catch(function (error) {
|
|
132
|
-
return (0, _utils2.logError)({
|
|
133
|
-
action: action,
|
|
134
|
-
category: eventCategory,
|
|
135
|
-
label: 'db_error'
|
|
136
|
-
}, error, context).then(function () {
|
|
137
|
-
return null;
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
exports.getReactionsByUser = getReactionsByUser;
|
|
143
|
-
|
|
144
|
-
var getUsersByReaction = function getUsersByReaction(context) {
|
|
145
|
-
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
146
|
-
var action = 'getUsersByReaction';
|
|
147
|
-
var database = context.database,
|
|
148
|
-
sessionId = context.userId;
|
|
149
|
-
|
|
150
|
-
if (!sessionId) {
|
|
151
|
-
return (0, _utils2.logException)({
|
|
152
|
-
action: action,
|
|
153
|
-
category: eventCategory,
|
|
154
|
-
label: 'unauthorized',
|
|
155
|
-
value: 'invalid_session'
|
|
156
|
-
}, context).then(function () {
|
|
157
|
-
return null;
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
var _params$filters = params.filters,
|
|
162
|
-
filters = _params$filters === void 0 ? [] : _params$filters,
|
|
163
|
-
groupId = params.id,
|
|
164
|
-
value = params.value;
|
|
165
|
-
var reaction = (0, _utils.parseChar)(value, 32);
|
|
166
|
-
var groupDocId = "groups/".concat((0, _utils.parseId)(groupId));
|
|
167
|
-
var filterStr = filters.map(function (filter) {
|
|
168
|
-
var conditional = filter.conditional,
|
|
169
|
-
name = filter.name,
|
|
170
|
-
queryValue = filter.value;
|
|
171
|
-
var filterCond = conditional;
|
|
172
|
-
|
|
173
|
-
if (conditional !== '>=' && conditional !== '<=' && conditional !== '>' && conditional !== '<') {
|
|
174
|
-
filterCond = '==';
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
switch (name) {
|
|
178
|
-
case 'added':
|
|
179
|
-
return "r.added ".concat(filterCond, " ").concat((0, _utils.parseNum)(queryValue));
|
|
180
|
-
|
|
181
|
-
default:
|
|
182
|
-
return '';
|
|
183
|
-
}
|
|
184
|
-
}).concat(["r.value == \"".concat(reaction, "\""), 'u._id == r._from']).join(' && '); // Query
|
|
185
|
-
|
|
186
|
-
var aqlQry = "FOR g, r IN INBOUND \"".concat(groupDocId, "\" hasReaction\n FOR u IN users\n FILTER ").concat(filterStr, "\n RETURN u");
|
|
187
|
-
return (0, _utils2.useDb)(database).query(aqlQry).then(function (cursor) {
|
|
188
|
-
return cursor.all();
|
|
189
|
-
}).catch(function (error) {
|
|
190
|
-
return (0, _utils2.logError)({
|
|
191
|
-
action: action,
|
|
192
|
-
category: eventCategory,
|
|
193
|
-
label: 'db_error'
|
|
194
|
-
}, error, context).then(function () {
|
|
195
|
-
return null;
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
exports.getUsersByReaction = getUsersByReaction;
|
|
201
|
-
|
|
202
|
-
var postReaction = function postReaction(context, postId) {
|
|
203
|
-
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'like';
|
|
204
|
-
var database = context.database,
|
|
205
|
-
sessionId = context.userId;
|
|
206
|
-
var formatItemId = (0, _utils.parseId)(postId);
|
|
207
|
-
var db = (0, _utils2.useDb)(database);
|
|
208
|
-
var edgeCollection = db.edgeCollection('reactions');
|
|
209
|
-
var now = Date.now(); // Remove existing reaction to post
|
|
210
|
-
|
|
211
|
-
var postDocId = "posts/".concat(formatItemId);
|
|
212
|
-
var userDocId = "users/".concat(sessionId);
|
|
213
|
-
var aqlQry = (0, _arangojs.aql)(_templateObject3(), postDocId, userDocId);
|
|
214
|
-
return db.query(aqlQry).then(function () {
|
|
215
|
-
var edgeId = (0, _utils.createHash)("reaction-".concat(postId, "-").concat(sessionId));
|
|
216
|
-
var edge = {
|
|
217
|
-
_key: edgeId,
|
|
218
|
-
added: now,
|
|
219
|
-
type: 'posts',
|
|
220
|
-
value: type
|
|
221
|
-
};
|
|
222
|
-
return edgeCollection.save(edge, userDocId, postDocId).then(function () {
|
|
223
|
-
var reactionAqlQry = (0, _arangojs.aql)(_templateObject4());
|
|
224
|
-
return db.query(reactionAqlQry).then(function (cursor) {
|
|
225
|
-
return cursor.next();
|
|
226
|
-
}).then(function () {
|
|
227
|
-
var result = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
228
|
-
reactions: []
|
|
229
|
-
};
|
|
230
|
-
return result;
|
|
231
|
-
}).catch(function (error) {
|
|
232
|
-
throw error;
|
|
233
|
-
});
|
|
234
|
-
}).catch(function (error) {
|
|
235
|
-
throw error;
|
|
236
|
-
});
|
|
237
|
-
}).catch(function (error) {
|
|
238
|
-
throw error;
|
|
239
|
-
});
|
|
240
|
-
};
|
|
241
|
-
|
|
242
|
-
exports.postReaction = postReaction;
|
|
243
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL3JlYWN0aW9ucy50cyJdLCJuYW1lcyI6WyJldmVudENhdGVnb3J5IiwiYWRkR3JvdXBSZWFjdGlvbiIsImNvbnRleHQiLCJwYXJhbXMiLCJhY3Rpb24iLCJkYXRhYmFzZSIsInNlc3Npb25JZCIsInVzZXJJZCIsImNhdGVnb3J5IiwibGFiZWwiLCJ2YWx1ZSIsInRoZW4iLCJpdGVtSWQiLCJpZCIsIml0ZW1WYWx1ZSIsImZvcm1hdEl0ZW1JZCIsImZvcm1hdFZhbHVlIiwiZWRnZUNvbGxlY3Rpb24iLCJncm91cERvY0lkIiwidXNlckRvY0lkIiwiZWRnZUlkIiwiZWRnZSIsIl9rZXkiLCJhZGRlZCIsIkRhdGUiLCJub3ciLCJ0eXBlIiwic2F2ZSIsImdldEdyb3VwUmVhY3Rpb25zIiwiZ3JvdXBJZCIsImFxbFFyeSIsImFxbCIsInF1ZXJ5IiwiY3Vyc29yIiwiYWxsIiwiY2F0Y2giLCJlcnJvciIsImdldFJlYWN0aW9uc0J5VXNlciIsImdldFVzZXJzQnlSZWFjdGlvbiIsImZpbHRlcnMiLCJyZWFjdGlvbiIsImZpbHRlclN0ciIsIm1hcCIsImZpbHRlciIsImNvbmRpdGlvbmFsIiwibmFtZSIsInF1ZXJ5VmFsdWUiLCJmaWx0ZXJDb25kIiwiY29uY2F0Iiwiam9pbiIsInBvc3RSZWFjdGlvbiIsInBvc3RJZCIsImRiIiwicG9zdERvY0lkIiwicmVhY3Rpb25BcWxRcnkiLCJuZXh0IiwicmVzdWx0IiwicmVhY3Rpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBS0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFBcUIsR0FBRyxXQUE5Qjs7QUFFTyxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNDLE9BQUQsRUFBMEU7QUFBQSxNQUFwREMsTUFBb0QsdUVBQXpCLEVBQXlCO0FBQ3hHLE1BQU1DLE1BQWMsR0FBRyxVQUF2QjtBQUR3RyxN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Q0ksQ0FBUDtBQWlDRCxDQWhETSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VDaGFyLCBwYXJzZUlkLCBwYXJzZU51bX0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7YXFsLCBEYXRhYmFzZSwgRWRnZUNvbGxlY3Rpb259IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2xpYi9janMvYXFsLXF1ZXJ5JztcbmltcG9ydCB7QXJyYXlDdXJzb3J9IGZyb20gJ2FyYW5nb2pzL2xpYi9janMvY3Vyc29yJztcblxuaW1wb3J0IHtBcGlDb250ZXh0LCBRdWVyeUZpbHRlciwgUmVhY3Rpb25UeXBlLCBVc2VyUmVhY3Rpb25RdWVyeSwgVXNlclJlYWN0aW9uVHlwZSwgVXNlclR5cGV9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7bG9nRXJyb3IsIGxvZ0V4Y2VwdGlvbiwgdXNlRGJ9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ3JlYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBhZGRHcm91cFJlYWN0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHBhcmFtczogVXNlclJlYWN0aW9uVHlwZSA9IHt9KTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ3JlYWN0aW9uJztcbiAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuXG4gIGlmKCFzZXNzaW9uSWQpIHtcbiAgICByZXR1cm4gbG9nRXhjZXB0aW9uKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICd1bmF1dGhvcml6ZWQnLFxuICAgICAgdmFsdWU6ICdpbnZhbGlkX3Nlc3Npb24nXG4gICAgfSwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKTtcbiAgfVxuXG4gIGNvbnN0IHtpZDogaXRlbUlkLCB2YWx1ZTogaXRlbVZhbHVlID0gJ2xpa2UnfSA9IHBhcmFtcztcbiAgY29uc3QgZm9ybWF0SXRlbUlkOiBzdHJpbmcgPSBwYXJzZUlkKGl0ZW1JZCk7XG4gIGNvbnN0IGZvcm1hdFZhbHVlOiBzdHJpbmcgPSBwYXJzZUNoYXIoaXRlbVZhbHVlLCAzMik7XG4gIGNvbnN0IGVkZ2VDb2xsZWN0aW9uID0gdXNlRGIoZGF0YWJhc2UpLmVkZ2VDb2xsZWN0aW9uKCdoYXNSZWFjdGlvbicpO1xuXG4gIC8vIFJlbW92ZSBleGlzdGluZyBsaWtlc1xuICBjb25zdCBncm91cERvY0lkOiBzdHJpbmcgPSBgZ3JvdXBzLyR7Zm9ybWF0SXRlbUlkfWA7XG4gIGNvbnN0IHVzZXJEb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7c2Vzc2lvbklkfWA7XG4gIGNvbnN0IGVkZ2VJZDogc3RyaW5nID0gY3JlYXRlSGFzaChgcmVhY3Rpb24tJHtmb3JtYXRJdGVtSWR9LSR7c2Vzc2lvbklkfWApO1xuICBjb25zdCBlZGdlOiBhbnkgPSB7XG4gICAgX2tleTogZWRnZUlkLFxuICAgIGFkZGVkOiBEYXRlLm5vdygpLFxuICAgIHR5cGU6ICdncm91cCcsXG4gICAgdmFsdWU6IGZvcm1hdFZhbHVlXG4gIH07XG5cbiAgcmV0dXJuIGVkZ2VDb2xsZWN0aW9uLnNhdmUoZWRnZSwgdXNlckRvY0lkLCBncm91cERvY0lkKS50aGVuKCgpID0+IHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEdyb3VwUmVhY3Rpb25zID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHBhcmFtczogVXNlclJlYWN0aW9uVHlwZSA9IHt9KTogUHJvbWlzZTxVc2VyUmVhY3Rpb25UeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldFJlYWN0aW9ucyc7XG4gIGNvbnN0IHtkYXRhYmFzZX0gPSBjb250ZXh0O1xuICBjb25zdCB7aWQ6IGdyb3VwSWR9OiBVc2VyUmVhY3Rpb25UeXBlID0gcGFyYW1zO1xuICBjb25zdCBncm91cERvY0lkOiBzdHJpbmcgPSBgZ3JvdXBzLyR7cGFyc2VJZChncm91cElkKX1gO1xuXG4gIC8vIFF1ZXJ5XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIGcsIHIgSU4gSU5CT1VORCAke2dyb3VwRG9jSWR9IGhhc1JlYWN0aW9uXG4gICAgICBDT0xMRUNUIHJlYWN0aW9uTmFtZSA9IHIudmFsdWUgSU5UTyByZWFjdGlvbkl0ZW1zXG4gICAgICBSRVRVUk4ge3ZhbHVlOiByZWFjdGlvbk5hbWUsIGNvdW50OiBMRU5HVEgocmVhY3Rpb25JdGVtc1sqXS5yLnZhbHVlKX1gO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVhY3Rpb25zQnlVc2VyID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGdyb3VwSWQ6IHN0cmluZyk6IFByb21pc2U8VXNlclJlYWN0aW9uVHlwZVtdPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldFJlYWN0aW9uc0J5VXNlcic7XG4gIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcbiAgY29uc3QgZ3JvdXBEb2NJZDogc3RyaW5nID0gYGdyb3Vwcy8ke3BhcnNlSWQoZ3JvdXBJZCl9YDtcbiAgY29uc3QgdXNlckRvY0lkOiBzdHJpbmcgPSBgdXNlcnMvJHtzZXNzaW9uSWR9YDtcblxuICAvLyBRdWVyeVxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBnLCByIElOIElOQk9VTkQgJHtncm91cERvY0lkfSBoYXNSZWFjdGlvblxuICAgICAgRklMVEVSIHIuX2Zyb20gPT0gJHt1c2VyRG9jSWR9XG4gICAgICBDT0xMRUNUIHJlYWN0aW9uTmFtZSA9IHIudmFsdWUgSU5UTyByZWFjdGlvbkl0ZW1zXG4gICAgICBSRVRVUk4ge3ZhbHVlOiByZWFjdGlvbk5hbWUsIGNvdW50OiBMRU5HVEgocmVhY3Rpb25JdGVtc1sqXS5yLnZhbHVlKX1gO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlcnNCeVJlYWN0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHBhcmFtczogVXNlclJlYWN0aW9uUXVlcnkgPSB7fSk6IFByb21pc2U8VXNlclR5cGVbXT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXRVc2Vyc0J5UmVhY3Rpb24nO1xuICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG5cbiAgaWYoIXNlc3Npb25JZCkge1xuICAgIHJldHVybiBsb2dFeGNlcHRpb24oe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ3VuYXV0aG9yaXplZCcsXG4gICAgICB2YWx1ZTogJ2ludmFsaWRfc2Vzc2lvbidcbiAgICB9LCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuICB9XG5cbiAgY29uc3Qge2ZpbHRlcnMgPSBbXSwgaWQ6IGdyb3VwSWQsIHZhbHVlfTogVXNlclJlYWN0aW9uUXVlcnkgPSBwYXJhbXM7XG4gIGNvbnN0IHJlYWN0aW9uID0gcGFyc2VDaGFyKHZhbHVlLCAzMik7XG4gIGNvbnN0IGdyb3VwRG9jSWQgPSBgZ3JvdXBzLyR7cGFyc2VJZChncm91cElkKX1gO1xuICBjb25zdCBmaWx0ZXJTdHI6IHN0cmluZyA9IGZpbHRlcnNcbiAgICAubWFwKChmaWx0ZXI6IFF1ZXJ5RmlsdGVyKSA9PiB7XG4gICAgICBjb25zdCB7Y29uZGl0aW9uYWwsIG5hbWUsIHZhbHVlOiBxdWVyeVZhbHVlfTogUXVlcnlGaWx0ZXIgPSBmaWx0ZXI7XG4gICAgICBsZXQgZmlsdGVyQ29uZDogc3RyaW5nID0gY29uZGl0aW9uYWw7XG5cbiAgICAgIGlmKGNvbmRpdGlvbmFsICE9PSAnPj0nICYmIGNvbmRpdGlvbmFsICE9PSAnPD0nICYmIGNvbmRpdGlvbmFsICE9PSAnPicgJiYgY29uZGl0aW9uYWwgIT09ICc8Jykge1xuICAgICAgICBmaWx0ZXJDb25kID0gJz09JztcbiAgICAgIH1cblxuICAgICAgc3dpdGNoKG5hbWUpIHtcbiAgICAgICAgY2FzZSAnYWRkZWQnOlxuICAgICAgICAgIHJldHVybiBgci5hZGRlZCAke2ZpbHRlckNvbmR9ICR7cGFyc2VOdW0ocXVlcnlWYWx1ZSl9YDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfSlcbiAgICAuY29uY2F0KFtcbiAgICAgIGByLnZhbHVlID09IFwiJHtyZWFjdGlvbn1cImAsXG4gICAgICAndS5faWQgPT0gci5fZnJvbSdcbiAgICBdKVxuICAgIC5qb2luKCcgJiYgJyk7XG5cbiAgLy8gUXVlcnlcbiAgY29uc3QgYXFsUXJ5OiBzdHJpbmcgPSBgRk9SIGcsIHIgSU4gSU5CT1VORCBcIiR7Z3JvdXBEb2NJZH1cIiBoYXNSZWFjdGlvblxuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiAgJHtmaWx0ZXJTdHJ9XG4gICAgICBSRVRVUk4gdWA7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IHBvc3RSZWFjdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBwb3N0SWQ6IHN0cmluZywgdHlwZTogc3RyaW5nID0gJ2xpa2UnKTogUHJvbWlzZTxSZWFjdGlvblR5cGU+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuICBjb25zdCBmb3JtYXRJdGVtSWQ6IHN0cmluZyA9IHBhcnNlSWQocG9zdElkKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2UpO1xuICBjb25zdCBlZGdlQ29sbGVjdGlvbjogRWRnZUNvbGxlY3Rpb24gPSBkYi5lZGdlQ29sbGVjdGlvbigncmVhY3Rpb25zJyk7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcblxuICAvLyBSZW1vdmUgZXhpc3RpbmcgcmVhY3Rpb24gdG8gcG9zdFxuICBjb25zdCBwb3N0RG9jSWQ6IHN0cmluZyA9IGBwb3N0cy8ke2Zvcm1hdEl0ZW1JZH1gO1xuICBjb25zdCB1c2VyRG9jSWQ6IHN0cmluZyA9IGB1c2Vycy8ke3Nlc3Npb25JZH1gO1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBwLCByIElOIElOQk9VTkQgJHtwb3N0RG9jSWR9IHJlYWN0aW9uXG4gICAgRklMVEVSIHIudHlwZSA9PSBcInBvc3RzXCIgJiYgci5fZnJvbSA9PSAke3VzZXJEb2NJZH1cbiAgICBSRU1PVkUgciBJTiByZWFjdGlvbnNcbiAgICBSRVRVUk4gcmA7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoKSA9PiB7XG4gICAgICBjb25zdCBlZGdlSWQgPSBjcmVhdGVIYXNoKGByZWFjdGlvbi0ke3Bvc3RJZH0tJHtzZXNzaW9uSWR9YCk7XG4gICAgICBjb25zdCBlZGdlOiBhbnkgPSB7XG4gICAgICAgIF9rZXk6IGVkZ2VJZCxcbiAgICAgICAgYWRkZWQ6IG5vdyxcbiAgICAgICAgdHlwZTogJ3Bvc3RzJyxcbiAgICAgICAgdmFsdWU6IHR5cGVcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBlZGdlQ29sbGVjdGlvbi5zYXZlKGVkZ2UsIHVzZXJEb2NJZCwgcG9zdERvY0lkKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVhY3Rpb25BcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYExFVCByZWFjdGlvbnMgPSAoXG4gICAgICAgICAgICBGT1IgcG9zdCwgciBJTiBJTkJPVU5EIHAuX2lkIHJlYWN0aW9uc1xuICAgICAgICAgICAgQ09MTEVDVCByZWFjdGlvbk5hbWUgPSByLnZhbHVlIElOVE8gcmVhY3Rpb25JdGVtc1xuICAgICAgICAgICAgUkVUVVJOIHtpZDogcC5faWQsIHR5cGU6IHJlYWN0aW9uTmFtZSwgY291bnQ6IExFTkdUSChyZWFjdGlvbkl0ZW1zWypdLnIudmFsdWUpfVxuICAgICAgICAgIClcbiAgICAgICAgICBSRVRVUk4gcmVhY3Rpb25zYDtcblxuICAgICAgICAgIHJldHVybiBkYi5xdWVyeShyZWFjdGlvbkFxbFFyeSlcbiAgICAgICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCA9IHtyZWFjdGlvbnM6IFtdfSkgPT4gcmVzdWx0KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuIl19
|
package/lib/data/s3.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.s3DeleteList = exports.s3Delete = exports.s3Put = exports.s3Head = exports.s3Get = void 0;
|
|
7
|
-
|
|
8
|
-
var _awsSdk = _interopRequireWildcard(require("aws-sdk"));
|
|
9
|
-
|
|
10
|
-
var _config = require("../config");
|
|
11
|
-
|
|
12
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
16
|
-
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
17
|
-
*/
|
|
18
|
-
// AWS S3
|
|
19
|
-
// const eventCategory: string = 's3';
|
|
20
|
-
var s3Get = function s3Get(params) {
|
|
21
|
-
return new Promise(function (resolve, reject) {
|
|
22
|
-
_awsSdk.default.config.update(_config.Config.get('aws'));
|
|
23
|
-
|
|
24
|
-
var s3 = new _awsSdk.S3();
|
|
25
|
-
|
|
26
|
-
if (!params.Bucket) {
|
|
27
|
-
params.Bucket = _config.Config.get('aws.Bucket');
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
s3.getObject(params, function (error, output) {
|
|
31
|
-
if (error) {
|
|
32
|
-
return reject(error);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return resolve(output);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
exports.s3Get = s3Get;
|
|
41
|
-
|
|
42
|
-
var s3Head = function s3Head(params) {
|
|
43
|
-
return new Promise(function (resolve, reject) {
|
|
44
|
-
_awsSdk.default.config.update(_config.Config.get('aws'));
|
|
45
|
-
|
|
46
|
-
var s3 = new _awsSdk.S3();
|
|
47
|
-
|
|
48
|
-
if (!params.Bucket) {
|
|
49
|
-
params.Bucket = _config.Config.get('aws.Bucket');
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
s3.headObject(params, function (error, output) {
|
|
53
|
-
if (error) {
|
|
54
|
-
return reject(error);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return resolve(output);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
exports.s3Head = s3Head;
|
|
63
|
-
|
|
64
|
-
var s3Put = function s3Put(params) {
|
|
65
|
-
return new Promise(function (resolve, reject) {
|
|
66
|
-
_awsSdk.default.config.update(_config.Config.get('aws'));
|
|
67
|
-
|
|
68
|
-
var s3 = new _awsSdk.default.S3();
|
|
69
|
-
|
|
70
|
-
if (!params.Bucket) {
|
|
71
|
-
params.Bucket = _config.Config.get('aws.Bucket');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (!params.StorageClass) {
|
|
75
|
-
params.StorageClass = 'REDUCED_REDUNDANCY';
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
s3.putObject(params, function (error, output) {
|
|
79
|
-
if (error) {
|
|
80
|
-
return reject(error);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return resolve(output);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
exports.s3Put = s3Put;
|
|
89
|
-
|
|
90
|
-
var s3Delete = function s3Delete(params) {
|
|
91
|
-
return new Promise(function (resolve, reject) {
|
|
92
|
-
_awsSdk.default.config.update(_config.Config.get('aws'));
|
|
93
|
-
|
|
94
|
-
var s3 = new _awsSdk.S3();
|
|
95
|
-
|
|
96
|
-
if (!params.Bucket) {
|
|
97
|
-
params.Bucket = _config.Config.get('aws.Bucket');
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
s3.deleteObject(params, function (error, output) {
|
|
101
|
-
if (error) {
|
|
102
|
-
return reject(error);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return resolve(output);
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
exports.s3Delete = s3Delete;
|
|
111
|
-
|
|
112
|
-
var s3DeleteList = function s3DeleteList(params) {
|
|
113
|
-
return new Promise(function (resolve, reject) {
|
|
114
|
-
_awsSdk.default.config.update(_config.Config.get('aws'));
|
|
115
|
-
|
|
116
|
-
var s3 = new _awsSdk.S3();
|
|
117
|
-
|
|
118
|
-
if (!params.Bucket) {
|
|
119
|
-
params.Bucket = _config.Config.get('aws.Bucket');
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
s3.deleteObjects(params, function (error, output) {
|
|
123
|
-
if (error) {
|
|
124
|
-
return reject(error);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return resolve(output);
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
exports.s3DeleteList = s3DeleteList;
|
|
133
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL3MzLnRzIl0sIm5hbWVzIjpbInMzR2V0IiwicGFyYW1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhd3MiLCJjb25maWciLCJ1cGRhdGUiLCJDb25maWciLCJnZXQiLCJzMyIsIlMzIiwiQnVja2V0IiwiZ2V0T2JqZWN0IiwiZXJyb3IiLCJvdXRwdXQiLCJzM0hlYWQiLCJoZWFkT2JqZWN0IiwiczNQdXQiLCJTdG9yYWdlQ2xhc3MiLCJwdXRPYmplY3QiLCJzM0RlbGV0ZSIsImRlbGV0ZU9iamVjdCIsInMzRGVsZXRlTGlzdCIsImRlbGV0ZU9iamVjdHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQTs7QUFjQTs7OztBQWxCQTs7OztBQW9CQTtBQUNBO0FBRU8sSUFBTUEsS0FBSyxHQUFHLFNBQVJBLEtBQVEsQ0FBQ0MsTUFBRDtBQUFBLFNBQ25CLElBQUlDLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDL0JDLG9CQUFJQyxNQUFKLENBQVdDLE1BQVgsQ0FBa0JDLGVBQU9DLEdBQVAsQ0FBVyxLQUFYLENBQWxCOztBQUNBLFFBQU1DLEVBQU0sR0FBRyxJQUFJQyxVQUFKLEVBQWY7O0FBRUEsUUFBRyxDQUFDVixNQUFNLENBQUNXLE1BQVgsRUFBbUI7QUFDakJYLE1BQUFBLE1BQU0sQ0FBQ1csTUFBUCxHQUFnQkosZUFBT0MsR0FBUCxDQUFXLFlBQVgsQ0FBaEI7QUFDRDs7QUFFREMsSUFBQUEsRUFBRSxDQUFDRyxTQUFILENBQWFaLE1BQWIsRUFBcUIsVUFBQ2EsS0FBRCxFQUFlQyxNQUFmLEVBQTJDO0FBQzlELFVBQUdELEtBQUgsRUFBVTtBQUNSLGVBQU9WLE1BQU0sQ0FBQ1UsS0FBRCxDQUFiO0FBQ0Q7O0FBRUQsYUFBT1gsT0FBTyxDQUFDWSxNQUFELENBQWQ7QUFDRCxLQU5EO0FBT0QsR0FmRCxDQURtQjtBQUFBLENBQWQ7Ozs7QUFrQkEsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1B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SUFBSUMsVUFBSixFQUFmOztBQUVBLFFBQUcsQ0FBQ1YsTUFBTSxDQUFDVyxNQUFYLEVBQW1CO0FBQ2pCWCxNQUFBQSxNQUFNLENBQUNXLE1BQVAsR0FBZ0JKLGVBQU9DLEdBQVAsQ0FBVyxZQUFYLENBQWhCO0FBQ0Q7O0FBRURDLElBQUFBLEVBQUUsQ0FBQ2MsYUFBSCxDQUFpQnZCLE1BQWpCLEVBQXlCLFVBQUNhLEtBQUQsRUFBZUMsTUFBZixFQUErQztBQUN0RSxVQUFHRCxLQUFILEVBQVU7QUFDUixlQUFPVixNQUFNLENBQUNVLEtBQUQsQ0FBYjtBQUNEOztBQUNELGFBQU9YLE9BQU8sQ0FBQ1ksTUFBRCxDQUFkO0FBQ0QsS0FMRDtBQU1ELEdBZEQsQ0FEMEI7QUFBQSxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgYXdzLCB7UzN9IGZyb20gJ2F3cy1zZGsnO1xuaW1wb3J0IHtcbiAgRGVsZXRlT2JqZWN0T3V0cHV0LFxuICBEZWxldGVPYmplY3RSZXF1ZXN0LFxuICBEZWxldGVPYmplY3RzT3V0cHV0LFxuICBEZWxldGVPYmplY3RzUmVxdWVzdCxcbiAgR2V0T2JqZWN0T3V0cHV0LFxuICBHZXRPYmplY3RSZXF1ZXN0LFxuICBIZWFkT2JqZWN0T3V0cHV0LFxuICBIZWFkT2JqZWN0UmVxdWVzdCxcbiAgUHV0T2JqZWN0T3V0cHV0LFxuICBQdXRPYmplY3RSZXF1ZXN0XG59IGZyb20gJ2F3cy1zZGsvY2xpZW50cy9zMyc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcnO1xuXG4vLyBBV1MgUzNcbi8vIGNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdzMyc7XG5cbmV4cG9ydCBjb25zdCBzM0dldCA9IChwYXJhbXM6IEdldE9iamVjdFJlcXVlc3QpOiBQcm9taXNlPEdldE9iamVjdE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgICBjb25zdCBzMzogUzMgPSBuZXcgUzMoKTtcblxuICAgIGlmKCFwYXJhbXMuQnVja2V0KSB7XG4gICAgICBwYXJhbXMuQnVja2V0ID0gQ29uZmlnLmdldCgnYXdzLkJ1Y2tldCcpO1xuICAgIH1cblxuICAgIHMzLmdldE9iamVjdChwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogR2V0T2JqZWN0T3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBzM0hlYWQgPSAocGFyYW1zOiBIZWFkT2JqZWN0UmVxdWVzdCk6IFByb21pc2U8SGVhZE9iamVjdE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgICBjb25zdCBzMzogUzMgPSBuZXcgUzMoKTtcblxuICAgIGlmKCFwYXJhbXMuQnVja2V0KSB7XG4gICAgICBwYXJhbXMuQnVja2V0ID0gQ29uZmlnLmdldCgnYXdzLkJ1Y2tldCcpO1xuICAgIH1cblxuICAgIHMzLmhlYWRPYmplY3QocGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IEhlYWRPYmplY3RPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG5cblxuZXhwb3J0IGNvbnN0IHMzUHV0ID0gKHBhcmFtczogUHV0T2JqZWN0UmVxdWVzdCk6IFByb21pc2U8UHV0T2JqZWN0T3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IHMzID0gbmV3IGF3cy5TMygpO1xuXG4gICAgaWYoIXBhcmFtcy5CdWNrZXQpIHtcbiAgICAgIHBhcmFtcy5CdWNrZXQgPSBDb25maWcuZ2V0KCdhd3MuQnVja2V0Jyk7XG4gICAgfVxuXG4gICAgaWYoIXBhcmFtcy5TdG9yYWdlQ2xhc3MpIHtcbiAgICAgIHBhcmFtcy5TdG9yYWdlQ2xhc3MgPSAnUkVEVUNFRF9SRURVTkRBTkNZJztcbiAgICB9XG5cbiAgICBzMy5wdXRPYmplY3QocGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IFB1dE9iamVjdE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IHMzRGVsZXRlID0gKHBhcmFtczogRGVsZXRlT2JqZWN0UmVxdWVzdCk6IFByb21pc2U8RGVsZXRlT2JqZWN0T3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IHMzOiBTMyA9IG5ldyBTMygpO1xuXG4gICAgaWYoIXBhcmFtcy5CdWNrZXQpIHtcbiAgICAgIHBhcmFtcy5CdWNrZXQgPSBDb25maWcuZ2V0KCdhd3MuQnVja2V0Jyk7XG4gICAgfVxuXG4gICAgczMuZGVsZXRlT2JqZWN0KHBhcmFtcywgKGVycm9yLCBvdXRwdXQ6IERlbGV0ZU9iamVjdE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IHMzRGVsZXRlTGlzdCA9IChwYXJhbXM6IERlbGV0ZU9iamVjdHNSZXF1ZXN0KTogUHJvbWlzZTxEZWxldGVPYmplY3RzT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IHMzOiBTMyA9IG5ldyBTMygpO1xuXG4gICAgaWYoIXBhcmFtcy5CdWNrZXQpIHtcbiAgICAgIHBhcmFtcy5CdWNrZXQgPSBDb25maWcuZ2V0KCdhd3MuQnVja2V0Jyk7XG4gICAgfVxuXG4gICAgczMuZGVsZXRlT2JqZWN0cyhwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogRGVsZXRlT2JqZWN0c091dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcbiJdfQ==
|
package/lib/data/search.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getSearchList = void 0;
|
|
7
|
-
|
|
8
|
-
var _arangojs = require("arangojs");
|
|
9
|
-
|
|
10
|
-
var _flatten = _interopRequireDefault(require("lodash/flatten"));
|
|
11
|
-
|
|
12
|
-
var _uniqBy = _interopRequireDefault(require("lodash/uniqBy"));
|
|
13
|
-
|
|
14
|
-
var _utils = require("../utils");
|
|
15
|
-
|
|
16
|
-
var _users = require("./users");
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
|
|
22
|
-
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; }
|
|
23
|
-
|
|
24
|
-
function _templateObject() {
|
|
25
|
-
var data = _taggedTemplateLiteral(["FOR u IN FULLTEXT(", ", ", ", ", ", 50) RETURN u"]);
|
|
26
|
-
|
|
27
|
-
_templateObject = function _templateObject() {
|
|
28
|
-
return data;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
return data;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
35
|
-
|
|
36
|
-
var eventCategory = 'search';
|
|
37
|
-
|
|
38
|
-
var getSearchList = function getSearchList(context, query, from, to) {
|
|
39
|
-
var action = 'getList';
|
|
40
|
-
var database = context.database;
|
|
41
|
-
var isString = true;
|
|
42
|
-
|
|
43
|
-
if (isString) {
|
|
44
|
-
var fields = [{
|
|
45
|
-
collection: 'users',
|
|
46
|
-
field: 'first'
|
|
47
|
-
}, {
|
|
48
|
-
collection: 'users',
|
|
49
|
-
field: 'last'
|
|
50
|
-
}, {
|
|
51
|
-
collection: 'users',
|
|
52
|
-
field: 'email'
|
|
53
|
-
}, {
|
|
54
|
-
collection: 'users',
|
|
55
|
-
field: 'username'
|
|
56
|
-
}, {
|
|
57
|
-
collection: 'users',
|
|
58
|
-
field: 'name'
|
|
59
|
-
}];
|
|
60
|
-
return Promise.all(fields.map(function (obj) {
|
|
61
|
-
var qry = "prefix:".concat(query);
|
|
62
|
-
var userQry = (0, _arangojs.aql)(_templateObject(), obj.collection, obj.field, qry);
|
|
63
|
-
return (0, _utils.useDb)(database).query(userQry).then(function (cursor) {
|
|
64
|
-
return cursor.all();
|
|
65
|
-
});
|
|
66
|
-
})).then(function (results) {
|
|
67
|
-
var list = (0, _uniqBy.default)((0, _flatten.default)(results), '_key');
|
|
68
|
-
return list.map(function (item) {
|
|
69
|
-
var itemId = item._id,
|
|
70
|
-
itemName = item.name;
|
|
71
|
-
var collectionIdList = itemId.split('/');
|
|
72
|
-
var collection = collectionIdList[0];
|
|
73
|
-
var name = collection === 'users' ? (0, _users.getDisplayName)(item) : itemName;
|
|
74
|
-
return _objectSpread({}, item, {
|
|
75
|
-
name: name
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
var limit = (0, _utils.getLimit)(from, to);
|
|
82
|
-
var aqlQry = "FOR u IN users\n FILTER u.phone == \"".concat(query, "\"\n ").concat(limit.aql, "\n RETURN u");
|
|
83
|
-
return (0, _utils.useDb)(database).query(aqlQry).then(function (cursor) {
|
|
84
|
-
return cursor.all();
|
|
85
|
-
}).then(function () {
|
|
86
|
-
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
87
|
-
return list.map(function () {
|
|
88
|
-
var item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
89
|
-
var itemId = item._id,
|
|
90
|
-
itemName = item.name;
|
|
91
|
-
var collectionIdList = itemId.split('/');
|
|
92
|
-
var collection = collectionIdList[0];
|
|
93
|
-
var name = collection === 'users' ? (0, _users.getDisplayName)(item) : itemName;
|
|
94
|
-
return _objectSpread({}, item, {
|
|
95
|
-
name: name
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
}).catch(function (error) {
|
|
99
|
-
return (0, _utils.logException)({
|
|
100
|
-
action: action,
|
|
101
|
-
category: eventCategory,
|
|
102
|
-
label: 'db_error',
|
|
103
|
-
value: error.message
|
|
104
|
-
}, context).then(function () {
|
|
105
|
-
return null;
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
exports.getSearchList = getSearchList;
|
|
111
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL3NlYXJjaC50cyJdLCJuYW1lcyI6WyJldmVudENhdGVnb3J5IiwiZ2V0U2VhcmNoTGlzdCIsImNvbnRleHQiLCJxdWVyeSIsImZyb20iLCJ0byIsImFjdGlvbiIsImRhdGFiYXNlIiwiaXNTdHJpbmciLCJmaWVsZHMiLCJjb2xsZWN0aW9uIiwiZmllbGQiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwib2JqIiwicXJ5IiwidXNlclFyeSIsImFxbCIsInRoZW4iLCJjdXJzb3IiLCJyZXN1bHRzIiwibGlzdCIsIml0ZW0iLCJpdGVtSWQiLCJfaWQiLCJpdGVtTmFtZSIsIm5hbWUiLCJjb2xsZWN0aW9uSWRMaXN0Iiwic3BsaXQiLCJsaW1pdCIsImFxbFFyeSIsImNhdGNoIiwiZXJyb3IiLCJjYXRlZ29yeSIsImxhYmVsIiwidmFsdWUiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBS0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFBcUIsR0FBRyxRQUE5Qjs7QUFFTyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLE9BQUQsRUFBc0JDLEtBQXRCLEVBQXFDQyxJQUFyQyxFQUFtREMsRUFBbkQsRUFBdUY7QUFDbEgsTUFBTUMsTUFBYyxHQUFHLFNBQXZCO0FBRGtILE1BRTNHQyxRQUYyRyxHQUUvRkwsT0FGK0YsQ0FFM0dLLFFBRjJHO0FBR2xILE1BQU1DLFFBQWlCLEdBQUcsSUFBMUI7O0FBRUEsTUFBR0EsUUFBSCxFQUFhO0FBQ1gsUUFBTUMsTUFBYSxHQUFHLENBQ3BCO0FBQUNDLE1BQUFBLFVBQVUsRUFBRSxPQUFiO0FBQXNCQyxNQUFBQSxLQUFLLEVBQUU7QUFBN0IsS0FEb0IsRUFFcEI7QUFBQ0QsTUFBQUEsVUFBVSxFQUFFLE9BQWI7QUFBc0JDLE1BQUFBLEtBQUssRUFBRTtBQUE3QixLQUZvQixFQUdwQjtBQUFDRCxNQUFBQSxVQUFVLEVBQUUs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LGFBRjBCO0FBR3BDbUMsTUFBQUEsS0FBSyxFQUFFLFVBSDZCO0FBSXBDQyxNQUFBQSxLQUFLLEVBQUVILEtBQUssQ0FBQ0k7QUFKdUIsS0FBYixFQUt0Qm5DLE9BTHNCLEVBS2JpQixJQUxhLENBS1I7QUFBQSxhQUFNLElBQU47QUFBQSxLQUxRLENBQWxCO0FBQUEsR0FWRixDQUFQO0FBZ0JELENBdkRNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7YXFsfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9saWIvY2pzL2FxbC1xdWVyeSc7XG5pbXBvcnQge0FycmF5Q3Vyc29yfSBmcm9tICdhcmFuZ29qcy9saWIvY2pzL2N1cnNvcic7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuXG5pbXBvcnQge0FyYW5nb0RCTGltaXR9IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aCc7XG5pbXBvcnQge1VzZXJUeXBlfSBmcm9tICcuLi90eXBlcy91c2Vycyc7XG5pbXBvcnQge2dldExpbWl0LCBsb2dFeGNlcHRpb24sIHVzZURifSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge2dldERpc3BsYXlOYW1lfSBmcm9tICcuL3VzZXJzJztcblxuY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ3NlYXJjaCc7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWFyY2hMaXN0ID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHF1ZXJ5OiBzdHJpbmcsIGZyb206IG51bWJlciwgdG86IG51bWJlcik6IFByb21pc2U8VXNlclR5cGVbXT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXRMaXN0JztcbiAgY29uc3Qge2RhdGFiYXNlfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGlzU3RyaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBpZihpc1N0cmluZykge1xuICAgIGNvbnN0IGZpZWxkczogYW55W10gPSBbXG4gICAgICB7Y29sbGVjdGlvbjogJ3VzZXJzJywgZmllbGQ6ICdmaXJzdCd9LFxuICAgICAge2NvbGxlY3Rpb246ICd1c2VycycsIGZpZWxkOiAnbGFzdCd9LFxuICAgICAge2NvbGxlY3Rpb246ICd1c2VycycsIGZpZWxkOiAnZW1haWwnfSxcbiAgICAgIHtjb2xsZWN0aW9uOiAndXNlcnMnLCBmaWVsZDogJ3VzZXJuYW1lJ30sXG4gICAgICB7Y29sbGVjdGlvbjogJ3VzZXJzJywgZmllbGQ6ICduYW1lJ31cbiAgICBdO1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKGZpZWxkcy5tYXAoKG9iaikgPT4ge1xuICAgICAgY29uc3QgcXJ5OiBzdHJpbmcgPSBgcHJlZml4OiR7cXVlcnl9YDtcbiAgICAgIGNvbnN0IHVzZXJRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiB1IElOIEZVTExURVhUKCR7b2JqLmNvbGxlY3Rpb259LCAke29iai5maWVsZH0sICR7cXJ5fSwgNTApIFJFVFVSTiB1YDtcbiAgICAgIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkodXNlclFyeSkudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKTtcbiAgICB9KSlcbiAgICAgIC50aGVuKChyZXN1bHRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB1bmlxQnkoZmxhdHRlbihyZXN1bHRzKSwgJ19rZXknKTtcblxuICAgICAgICByZXR1cm4gbGlzdC5tYXAoKGl0ZW06IFVzZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qge19pZDogaXRlbUlkLCBuYW1lOiBpdGVtTmFtZX0gPSBpdGVtO1xuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb25JZExpc3Q6IHN0cmluZ1tdID0gaXRlbUlkLnNwbGl0KCcvJyk7XG4gICAgICAgICAgY29uc3QgY29sbGVjdGlvbjogc3RyaW5nID0gY29sbGVjdGlvbklkTGlzdFswXTtcbiAgICAgICAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBjb2xsZWN0aW9uID09PSAndXNlcnMnID8gZ2V0RGlzcGxheU5hbWUoaXRlbSkgOiBpdGVtTmFtZTtcblxuICAgICAgICAgIHJldHVybiB7Li4uaXRlbSwgbmFtZX07XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBjb25zdCBsaW1pdDogQXJhbmdvREJMaW1pdCA9IGdldExpbWl0KGZyb20sIHRvKTtcbiAgY29uc3QgYXFsUXJ5OiBzdHJpbmcgPSBgRk9SIHUgSU4gdXNlcnNcbiAgICAgICAgRklMVEVSIHUucGhvbmUgPT0gXCIke3F1ZXJ5fVwiXG4gICAgICAgICR7bGltaXQuYXFsfVxuICAgICAgICBSRVRVUk4gdWA7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAudGhlbigobGlzdDogVXNlclR5cGVbXSA9IFtdKSA9PiBsaXN0Lm1hcCgoaXRlbSA9IHt9KSA9PiB7XG4gICAgICBjb25zdCB7X2lkOiBpdGVtSWQsIG5hbWU6IGl0ZW1OYW1lfSA9IGl0ZW07XG4gICAgICBjb25zdCBjb2xsZWN0aW9uSWRMaXN0OiBzdHJpbmdbXSA9IGl0ZW1JZC5zcGxpdCgnLycpO1xuICAgICAgY29uc3QgY29sbGVjdGlvbjogc3RyaW5nID0gY29sbGVjdGlvbklkTGlzdFswXTtcbiAgICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IGNvbGxlY3Rpb24gPT09ICd1c2VycycgPyBnZXREaXNwbGF5TmFtZShpdGVtKSA6IGl0ZW1OYW1lO1xuXG4gICAgICByZXR1cm4gey4uLml0ZW0sIG5hbWV9O1xuICAgIH0pKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFeGNlcHRpb24oe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJyxcbiAgICAgIHZhbHVlOiBlcnJvci5tZXNzYWdlXG4gICAgfSwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuIl19
|
package/lib/data/sms.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.sendSmsTemplate = exports.sendSms = void 0;
|
|
7
|
-
|
|
8
|
-
var _utils = require("@nlabs/utils");
|
|
9
|
-
|
|
10
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
11
|
-
|
|
12
|
-
var _twilio = _interopRequireDefault(require("twilio"));
|
|
13
|
-
|
|
14
|
-
var _config = require("../config");
|
|
15
|
-
|
|
16
|
-
var _email = require("./email");
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
22
|
-
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
23
|
-
*/
|
|
24
|
-
// const eventCategory: string = 'sms';
|
|
25
|
-
// Twilio
|
|
26
|
-
var sendSms = function sendSms(params) {
|
|
27
|
-
var _params$app = params.app,
|
|
28
|
-
app = _params$app === void 0 ? {} : _params$app,
|
|
29
|
-
content = params.content,
|
|
30
|
-
_params$user = params.user,
|
|
31
|
-
user = _params$user === void 0 ? {} : _params$user;
|
|
32
|
-
var country = user.country || 'US';
|
|
33
|
-
var phone = (0, _utils.parsePhone)(user.phone, country);
|
|
34
|
-
var templateContent = (0, _email.appTemplate)(app, content);
|
|
35
|
-
var twilio = (0, _twilio.default)(_config.Config.get('twilio.sid'), _config.Config.get('twilio.token'));
|
|
36
|
-
var cfg = {
|
|
37
|
-
body: templateContent,
|
|
38
|
-
from: _config.Config.get('twilio.number'),
|
|
39
|
-
to: phone
|
|
40
|
-
};
|
|
41
|
-
return new Promise(function (resolve, reject) {
|
|
42
|
-
twilio.sendMessage(cfg, function (error, data) {
|
|
43
|
-
if (error) {
|
|
44
|
-
reject(new Error(error.error_message));
|
|
45
|
-
} else {
|
|
46
|
-
resolve(data);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
exports.sendSms = sendSms;
|
|
53
|
-
|
|
54
|
-
var sendSmsTemplate = function sendSmsTemplate(templateName, smsParams) {
|
|
55
|
-
var app = smsParams.app,
|
|
56
|
-
user = smsParams.user,
|
|
57
|
-
vars = smsParams.vars;
|
|
58
|
-
|
|
59
|
-
try {
|
|
60
|
-
var data = _fs.default.readFileSync("./templates/sms/".concat(templateName, ".txt"), 'utf8');
|
|
61
|
-
|
|
62
|
-
var text = (0, _email.appTemplate)(app, data, vars);
|
|
63
|
-
var params = {
|
|
64
|
-
app: app,
|
|
65
|
-
text: text,
|
|
66
|
-
user: user
|
|
67
|
-
};
|
|
68
|
-
return sendSms(params).then(function (res) {
|
|
69
|
-
return res.status === 'queued';
|
|
70
|
-
}).catch(function (error) {
|
|
71
|
-
throw error;
|
|
72
|
-
});
|
|
73
|
-
} catch (error) {
|
|
74
|
-
return Promise.reject(error);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
exports.sendSmsTemplate = sendSmsTemplate;
|
|
79
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL3Ntcy50cyJdLCJuYW1lcyI6WyJzZW5kU21zIiwicGFyYW1zIiwiYXBwIiwiY29udGVudCIsInVzZXIiLCJjb3VudHJ5IiwicGhvbmUiLCJ0ZW1wbGF0ZUNvbnRlbnQiLCJ0d2lsaW8iLCJDb25maWciLCJnZXQiLCJjZmciLCJib2R5IiwiZnJvbSIsInRvIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJzZW5kTWVzc2FnZSIsImVycm9yIiwiZGF0YSIsIkVycm9yIiwiZXJyb3JfbWVzc2FnZSIsInNlbmRTbXNUZW1wbGF0ZSIsInRlbXBsYXRlTmFtZSIsInNtc1BhcmFtcyIsInZhcnMiLCJmcyIsInJlYWRGaWxlU3luYyIsInRleHQiLCJ0aGVuIiwicmVzIiwic3RhdHVzIiwiY2F0Y2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQTs7OztBQVZBOzs7O0FBWUE7QUFFQTtBQUNPLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBZ0M7QUFBQSxvQkFLakRBLE1BTGlELENBRW5EQyxHQUZtRDtBQUFBLE1BRW5EQSxHQUZtRCw0QkFFN0MsRUFGNkM7QUFBQSxNQUduREMsT0FIbUQsR0FLakRGLE1BTGlELENBR25ERSxPQUhtRDtBQUFBLHFCQUtqREYsTUFMaUQsQ0FJbkRHLElBSm1EO0FBQUEsTUFJbkRBLElBSm1ELDZCQUk1QyxFQUo0QztBQU9yRCxNQUFNQyxPQUFPLEdBQUdELElBQUksQ0FBQ0MsT0FBTCxJQUFnQixJQUFoQztBQUNBLE1BQU1DLEtBQUssR0FBRyx1QkFBV0YsSUFBSSxDQUFDRSxLQUFoQixFQUF1QkQsT0FBdkIsQ0FBZDtBQUNBLE1BQU1FLGVBQXVCLEdBQUcsd0JBQVlMLEdBQVosRUFBaUJDLE9BQWpCLENBQWhDO0FBRUEsTUFBTUssTUFBVyxHQUFHLHFCQUFVQyxlQUFPQyxHQUFQLENBQVcsWUFBWCxDQUFWLEVBQW9DRCxlQUFPQyxHQUFQLENBQVcsY0FBWCxDQUFwQyxDQUFwQjtBQUNBLE1BQU1DLEdBQXNCLEdBQUc7QUFDN0JDLElBQUFBLElBQUksRUFBRUwsZUFEdUI7QUFFN0JNLElBQUFBLElBQUksRUFBRUosZUFBT0MsR0FBUCxDQUFXLGVBQVgsQ0FGdUI7QUFHN0JJLElBQUFBLEVBQUUsRUFBRVI7QUFIeUIsR0FBL0I7QUFNQSxTQUFPLElBQUlTLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDdENULElBQUFBLE1BQU0sQ0FBQ1UsV0FBUCxDQUFtQlAsR0FBbkIsRUFBd0IsVUFBQ1EsS0FBRCxFQUFRQyxJQUFSLEVBQWlCO0FBQ3ZDLFVBQUdELEtBQUgsRUFBVTtBQUNSRixRQUFBQSxNQUFNLENBQUMsSUFBSUksS0FBSixDQUFVRixLQUFLLENBQUNHLGFBQWhCLENBQUQsQ0FBTjtBQUNELE9BRkQsTUFFTztBQUNMTixRQUFBQSxPQUFPLENBQUNJLElBQUQsQ0FBUDtBQUNEO0FBQ0YsS0FORDtBQU9ELEdBUk0sQ0FBUDtBQVNELENBM0JNOzs7O0FBNkJBLElBQU1HLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsWUFBRCxFQUF1QkMsU0FBdkIsRUFBc0U7QUFBQSxNQUM1RnZCLEdBRDRGLEdBQ3pFdUIsU0FEeUUsQ0FDNUZ2QixHQUQ0RjtBQUFBLE1BQ3ZGRSxJQUR1RixHQUN6RXFCLFNBRHlFLENBQ3ZGckIsSUFEdUY7QUFBQSxNQUNqRnNCLElBRGlGLEdBQ3pFRCxTQUR5RSxDQUNqRkMsSUFEaUY7O0FBRW5HLE1BQUk7QUFDRixRQUFNTixJQUFJLEdBQUdPLFlBQUdDLFlBQUgsMkJBQW1DSixZQUFuQyxXQUF1RCxNQUF2RCxDQUFiOztBQUNBLFFBQU1LLElBQUksR0FBRyx3QkFBWTNCLEdBQVosRUFBaUJrQixJQUFqQixFQUF1Qk0sSUFBdkIsQ0FBYjtBQUNBLFFBQU16QixNQUFNLEdBQUc7QUFBQ0MsTUFBQUEsR0FBRyxFQUFIQSxHQUFEO0FBQU0yQixNQUFBQSxJQUFJLEVBQUpBLElBQU47QUFBWXpCLE1BQUFBLElBQUksRUFBSkE7QUFBWixLQUFmO0FBRUEsV0FBT0osT0FBTyxDQUFDQyxNQUFELENBQVAsQ0FDSjZCLElBREksQ0FDQyxVQUFDQyxHQUFEO0FBQUEsYUFBU0EsR0FBRyxDQUFDQyxNQUFKLEtBQWUsUUFBeEI7QUFBQSxLQURELEVBRUpDLEtBRkksQ0FFRSxVQUFDZCxLQUFELEVBQWtCO0FBQ3ZCLFlBQU1BLEtBQU47QUFDRCxLQUpJLENBQVA7QUFLRCxHQVZELENBVUUsT0FBTUEsS0FBTixFQUFhO0FBQ2IsV0FBT0osT0FBTyxDQUFDRSxNQUFSLENBQWVFLEtBQWYsQ0FBUDtBQUNEO0FBQ0YsQ0FmTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3BhcnNlUGhvbmV9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHR3aWxpb1NkayBmcm9tICd0d2lsaW8nO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7U01TUGFyYW1zVHlwZSwgVHdpbGlvT3B0aW9uc1R5cGV9IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHthcHBUZW1wbGF0ZX0gZnJvbSAnLi9lbWFpbCc7XG5cbi8vIGNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdzbXMnO1xuXG4vLyBUd2lsaW9cbmV4cG9ydCBjb25zdCBzZW5kU21zID0gKHBhcmFtczogU01TUGFyYW1zVHlwZSk6IGFueSA9PiB7XG4gIGNvbnN0IHtcbiAgICBhcHAgPSB7fSxcbiAgICBjb250ZW50LFxuICAgIHVzZXIgPSB7fVxuICB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGNvdW50cnkgPSB1c2VyLmNvdW50cnkgfHwgJ1VTJztcbiAgY29uc3QgcGhvbmUgPSBwYXJzZVBob25lKHVzZXIucGhvbmUsIGNvdW50cnkpO1xuICBjb25zdCB0ZW1wbGF0ZUNvbnRlbnQ6IHN0cmluZyA9IGFwcFRlbXBsYXRlKGFwcCwgY29udGVudCk7XG5cbiAgY29uc3QgdHdpbGlvOiBhbnkgPSB0d2lsaW9TZGsoQ29uZmlnLmdldCgndHdpbGlvLnNpZCcpLCBDb25maWcuZ2V0KCd0d2lsaW8udG9rZW4nKSk7XG4gIGNvbnN0IGNmZzogVHdpbGlvT3B0aW9uc1R5cGUgPSB7XG4gICAgYm9keTogdGVtcGxhdGVDb250ZW50LFxuICAgIGZyb206IENvbmZpZy5nZXQoJ3R3aWxpby5udW1iZXInKSxcbiAgICB0bzogcGhvbmVcbiAgfTtcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHR3aWxpby5zZW5kTWVzc2FnZShjZmcsIChlcnJvciwgZGF0YSkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihlcnJvci5lcnJvcl9tZXNzYWdlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHNlbmRTbXNUZW1wbGF0ZSA9ICh0ZW1wbGF0ZU5hbWU6IHN0cmluZywgc21zUGFyYW1zOiBTTVNQYXJhbXNUeXBlKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IHthcHAsIHVzZXIsIHZhcnN9ID0gc21zUGFyYW1zO1xuICB0cnkge1xuICAgIGNvbnN0IGRhdGEgPSBmcy5yZWFkRmlsZVN5bmMoYC4vdGVtcGxhdGVzL3Ntcy8ke3RlbXBsYXRlTmFtZX0udHh0YCwgJ3V0ZjgnKTtcbiAgICBjb25zdCB0ZXh0ID0gYXBwVGVtcGxhdGUoYXBwLCBkYXRhLCB2YXJzKTtcbiAgICBjb25zdCBwYXJhbXMgPSB7YXBwLCB0ZXh0LCB1c2VyfTtcblxuICAgIHJldHVybiBzZW5kU21zKHBhcmFtcylcbiAgICAgIC50aGVuKChyZXMpID0+IHJlcy5zdGF0dXMgPT09ICdxdWV1ZWQnKVxuICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gIH1cbn07XG4iXX0=
|