drapcode-utility 1.2.1 → 1.2.2
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/build/encryption/KMS.js +1 -1
- package/build/encryption/crypt.js +2 -2
- package/build/encryption/file.js +4 -4
- package/build/encryption/index.js +14 -14
- package/build/encryption/model.d.ts +2 -2
- package/build/index.js +1 -5
- package/build/middlewares/error-logger.js +6 -6
- package/build/middlewares/interceptor-logger-new.js +6 -6
- package/build/middlewares/interceptor-logger.js +3 -3
- package/build/middlewares/redis/request-log.js +4 -4
- package/build/utils/check-error.js +8 -12
- package/build/utils/date-util.js +3 -3
- package/build/utils/query-parser.js +56 -58
- package/build/utils/query-paser-new.js +51 -53
- package/build/utils/s3-util.js +19 -22
- package/build/utils/util.d.ts +2 -1
- package/build/utils/util.js +96 -12
- package/build/utils/uuid-generator.js +2 -2
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (
|
|
17
|
+
while (_) try {
|
|
18
18
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
19
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
20
|
switch (op[0]) {
|
|
@@ -35,14 +35,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
ar[i] = from[i];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
39
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
40
|
+
to[j] = from[i];
|
|
41
|
+
return to;
|
|
46
42
|
};
|
|
47
43
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
48
44
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -89,7 +85,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
89
85
|
searchQueryObj = null;
|
|
90
86
|
if (searchObj) {
|
|
91
87
|
_a = getSearchObjQuery(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _a.searchAggregateQuery, likeQuery = _a.likeQuery;
|
|
92
|
-
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery
|
|
88
|
+
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery), searchAggregateQuery);
|
|
93
89
|
console.log("likeQuery after getSearchObjQuery", JSON.stringify(likeQuery));
|
|
94
90
|
if (likeQuery && likeQuery.length > 0) {
|
|
95
91
|
searchQueryObj = likeQuery;
|
|
@@ -107,7 +103,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
107
103
|
else if (searchObj) {
|
|
108
104
|
console.log("I donot have filter query");
|
|
109
105
|
_b = getSearchObjQuery(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _b.searchAggregateQuery, likeQuery = _b.likeQuery;
|
|
110
|
-
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery
|
|
106
|
+
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery), searchAggregateQuery);
|
|
111
107
|
if (likeQuery.length) {
|
|
112
108
|
// aggregateQuery.push({ $match: { $or: likeQuery } });
|
|
113
109
|
aggregateQuery.push({ $match: { $and: likeQuery } });
|
|
@@ -128,7 +124,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
128
124
|
if (field.type === "belongsTo") {
|
|
129
125
|
aggregateQuery.push({
|
|
130
126
|
$lookup: {
|
|
131
|
-
from: ""
|
|
127
|
+
from: "" + collectionName_1,
|
|
132
128
|
localField: field.fieldName,
|
|
133
129
|
foreignField: "uuid",
|
|
134
130
|
as: field.fieldName,
|
|
@@ -143,8 +139,8 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
143
139
|
else {
|
|
144
140
|
aggregateQuery.push({
|
|
145
141
|
$lookup: {
|
|
146
|
-
from: ""
|
|
147
|
-
let: (_b = {}, _b[""
|
|
142
|
+
from: "" + collectionName_1,
|
|
143
|
+
let: (_b = {}, _b["" + field.fieldName] = "$" + field.fieldName, _b),
|
|
148
144
|
pipeline: [
|
|
149
145
|
{
|
|
150
146
|
$match: {
|
|
@@ -154,10 +150,10 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
154
150
|
{
|
|
155
151
|
$cond: {
|
|
156
152
|
if: {
|
|
157
|
-
$in: ["$$"
|
|
153
|
+
$in: ["$$" + field.fieldName, ["", null]],
|
|
158
154
|
},
|
|
159
155
|
then: [],
|
|
160
|
-
else: { $ifNull: ["$$"
|
|
156
|
+
else: { $ifNull: ["$$" + field.fieldName, []] },
|
|
161
157
|
},
|
|
162
158
|
},
|
|
163
159
|
],
|
|
@@ -190,10 +186,10 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
190
186
|
aggregateQuery.push({
|
|
191
187
|
$lookup: {
|
|
192
188
|
from: "user",
|
|
193
|
-
let: (_c = {}, _c[""
|
|
189
|
+
let: (_c = {}, _c["" + field.fieldName] = "$" + field.fieldName, _c),
|
|
194
190
|
pipeline: [
|
|
195
191
|
{
|
|
196
|
-
$match: { $expr: { $eq: ["$uuid", "$$"
|
|
192
|
+
$match: { $expr: { $eq: ["$uuid", "$$" + field.fieldName] } },
|
|
197
193
|
},
|
|
198
194
|
{ $project: { _id: 0, password: 0 } },
|
|
199
195
|
],
|
|
@@ -205,7 +201,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
205
201
|
_e.sent();
|
|
206
202
|
_e.label = 2;
|
|
207
203
|
case 2:
|
|
208
|
-
if (finder != "COUNT" && !
|
|
204
|
+
if (finder != "COUNT" && !util_1.isEmpty(projection)) {
|
|
209
205
|
aggregateQuery.push({ $project: projection });
|
|
210
206
|
}
|
|
211
207
|
if (finder === "COUNT") {
|
|
@@ -226,8 +222,8 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
226
222
|
}
|
|
227
223
|
console.log("==> aggregateQuery", aggregateQuery);
|
|
228
224
|
console.log("==> aggregateQuery", JSON.stringify(aggregateQuery));
|
|
229
|
-
queryStr = ".aggregate("
|
|
230
|
-
str = "req.db.collection('"
|
|
225
|
+
queryStr = ".aggregate(" + JSON.stringify(aggregateQuery) + ", { collation: { locale: \"en\" } })";
|
|
226
|
+
str = "req.db.collection('" + collectionName + "')" + queryStr;
|
|
231
227
|
str += ".toArray()";
|
|
232
228
|
return [2 /*return*/, str];
|
|
233
229
|
}
|
|
@@ -267,7 +263,7 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser,
|
|
|
267
263
|
filterQuery[lastKey].push(mongoQuery);
|
|
268
264
|
}
|
|
269
265
|
else {
|
|
270
|
-
filterQuery["$or"
|
|
266
|
+
filterQuery["$or" + index] = [mongoQuery];
|
|
271
267
|
}
|
|
272
268
|
}
|
|
273
269
|
else if (queryObj.conjunctionType == "AND") {
|
|
@@ -276,11 +272,11 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser,
|
|
|
276
272
|
filterQuery[lastKey].push(mongoQuery);
|
|
277
273
|
}
|
|
278
274
|
else {
|
|
279
|
-
filterQuery["$and"
|
|
275
|
+
filterQuery["$and" + index] = [mongoQuery];
|
|
280
276
|
}
|
|
281
277
|
}
|
|
282
278
|
else {
|
|
283
|
-
filterQuery["$or"
|
|
279
|
+
filterQuery["$or" + index] = [mongoQuery];
|
|
284
280
|
}
|
|
285
281
|
});
|
|
286
282
|
console.log("==> *** filterQuery mongoFilterQuery :>> ", filterQuery);
|
|
@@ -293,19 +289,21 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser,
|
|
|
293
289
|
var mongoSelectQuery = function (query) {
|
|
294
290
|
if (query === void 0) { query = {}; }
|
|
295
291
|
var projection = {};
|
|
296
|
-
var fieldsInclude = query.fieldsInclude, fieldsExclude = query.fieldsExclude;
|
|
292
|
+
var fieldsInclude = query.fieldsInclude, fieldsExclude = query.fieldsExclude, finder = query.finder;
|
|
297
293
|
if (!fieldsExclude)
|
|
298
294
|
fieldsExclude = [];
|
|
299
295
|
if (fieldsInclude[0] === "*") {
|
|
300
296
|
fieldsExclude.map(function (field) {
|
|
301
297
|
if (field)
|
|
302
|
-
return (projection[""
|
|
298
|
+
return (projection["" + field] = 0);
|
|
303
299
|
});
|
|
304
300
|
}
|
|
305
301
|
else {
|
|
302
|
+
if (["FIND_ALL", "FIND"].includes(finder))
|
|
303
|
+
fieldsInclude = util_1.processFieldsInlcude(fieldsInclude);
|
|
306
304
|
fieldsInclude.map(function (field) {
|
|
307
305
|
if (field)
|
|
308
|
-
return (projection[""
|
|
306
|
+
return (projection["" + field] = 1);
|
|
309
307
|
});
|
|
310
308
|
}
|
|
311
309
|
return projection;
|
|
@@ -337,7 +335,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
337
335
|
//TODO: In case of this, we assign some random string to avoid resulting all values
|
|
338
336
|
//TODO: This is use case in Spot Factor Project, where a new user with blank value able to see all records
|
|
339
337
|
//TODO: Discussed on meet
|
|
340
|
-
fieldValue = "random_string_since_field_not_present_"
|
|
338
|
+
fieldValue = "random_string_since_field_not_present_" + moment_1.default(1318874398806).valueOf();
|
|
341
339
|
}
|
|
342
340
|
console.log("fieldValue queryToMongo 1", fieldValue);
|
|
343
341
|
var isDate = checkDate(fieldValue);
|
|
@@ -405,7 +403,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
405
403
|
return _q = {},
|
|
406
404
|
_q[field] = {
|
|
407
405
|
$gte: fieldValue,
|
|
408
|
-
$lt:
|
|
406
|
+
$lt: date_util_1.nextDayDate(fieldValue),
|
|
409
407
|
},
|
|
410
408
|
_q;
|
|
411
409
|
// Todo: Remove this if works properly
|
|
@@ -461,7 +459,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
461
459
|
},
|
|
462
460
|
_y;
|
|
463
461
|
if (key == drapcode_constant_1.BETWEEN) {
|
|
464
|
-
var _0 =
|
|
462
|
+
var _0 = exports.getMinMaxValue(fieldValue), startValue = _0.startValue, endValue = _0.endValue, isInteger = _0.isInteger;
|
|
465
463
|
return _z = {},
|
|
466
464
|
_z[field] = {
|
|
467
465
|
$gte: isInteger ? +startValue : startValue,
|
|
@@ -511,13 +509,13 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
511
509
|
return valueList_1;
|
|
512
510
|
}
|
|
513
511
|
if (key === drapcode_constant_1.BETWEEN) {
|
|
514
|
-
var _a =
|
|
512
|
+
var _a = exports.getMinMaxValue(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isInteger = _a.isInteger;
|
|
515
513
|
if (requiredExternal) {
|
|
516
|
-
startValue_1 = ""
|
|
517
|
-
endValue_1 = ""
|
|
514
|
+
startValue_1 = "" + externalParams[startValue_1];
|
|
515
|
+
endValue_1 = "" + externalParams[endValue_1];
|
|
518
516
|
}
|
|
519
517
|
else {
|
|
520
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant
|
|
518
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) {
|
|
521
519
|
return startValue_1.includes(cnst);
|
|
522
520
|
})) {
|
|
523
521
|
startValue_1 = getValueOfProjectConstant(startValue_1, currentUser, timezone);
|
|
@@ -525,7 +523,7 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
525
523
|
else {
|
|
526
524
|
startValue_1 = constants.filter(function (constant) { return constant.name == startValue_1; });
|
|
527
525
|
}
|
|
528
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant
|
|
526
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
529
527
|
endValue_1 = getValueOfProjectConstant(endValue_1, currentUser, timezone);
|
|
530
528
|
}
|
|
531
529
|
else {
|
|
@@ -541,10 +539,10 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
541
539
|
}
|
|
542
540
|
//TODO: Need to figure out the params should be treated as number/string
|
|
543
541
|
if (!isNaN(startValue_1)) {
|
|
544
|
-
return
|
|
542
|
+
return startValue_1 + "---" + endValue_1 + "^";
|
|
545
543
|
}
|
|
546
544
|
else
|
|
547
|
-
return
|
|
545
|
+
return startValue_1 + "---" + endValue_1;
|
|
548
546
|
}
|
|
549
547
|
console.log("==> value", value);
|
|
550
548
|
console.log("==> currentUser", currentUser);
|
|
@@ -640,18 +638,18 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
640
638
|
if (drapcode_constant_1.DateConstant.some(function (cnst) { return value.includes(cnst); })) {
|
|
641
639
|
return getValueOfProjectConstant(value, {}, timezone);
|
|
642
640
|
}
|
|
643
|
-
if (
|
|
641
|
+
if (exports.isEntityInCondition(value)) {
|
|
644
642
|
var key_1 = value.replace("ENTITY::", "");
|
|
645
643
|
return externalParams[key_1] ? externalParams[key_1] : "";
|
|
646
644
|
}
|
|
647
645
|
//TODO: This is just to confirm if external then it should be get from externalParams
|
|
648
646
|
if (requiredExternal) {
|
|
649
647
|
//TODO: Value returns from here undefined.
|
|
650
|
-
var externalParamValue = externalParams[""
|
|
648
|
+
var externalParamValue = externalParams["" + value];
|
|
651
649
|
if (!isNaN(externalParamValue)) {
|
|
652
650
|
return +externalParamValue;
|
|
653
651
|
}
|
|
654
|
-
return externalParams[""
|
|
652
|
+
return externalParams["" + value];
|
|
655
653
|
}
|
|
656
654
|
var constantArr = constants.filter(function (constant) { return constant.name == value; });
|
|
657
655
|
return constantArr.length ? "" + constantArr[0].value : "";
|
|
@@ -682,11 +680,11 @@ var getValueOfProjectConstant = function (value, currentUser, timezone) {
|
|
|
682
680
|
if (value === drapcode_constant_1.CURRENT_USER)
|
|
683
681
|
return currentUser["uuid"];
|
|
684
682
|
if (value === drapcode_constant_1.CURRENT_DATE)
|
|
685
|
-
result =
|
|
683
|
+
result = date_util_1.createLoggerDateFormat(timezone);
|
|
686
684
|
if ([drapcode_constant_1.CURRENT_TIME, drapcode_constant_1.CURRENT_DATE_TIME].includes(value))
|
|
687
|
-
result =
|
|
685
|
+
result = date_util_1.createLogsDateFormat(timezone);
|
|
688
686
|
if (drapcode_constant_1.DateTimeUnit.some(function (cnst) { return value.includes(cnst); }))
|
|
689
|
-
result =
|
|
687
|
+
result = date_util_1.getDateValue(value, timezone);
|
|
690
688
|
return result;
|
|
691
689
|
};
|
|
692
690
|
var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
@@ -702,11 +700,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
702
700
|
// if input is string and db field type is boolean
|
|
703
701
|
searchAggregateQuery.push({
|
|
704
702
|
$addFields: (_b = {},
|
|
705
|
-
_b["_"
|
|
703
|
+
_b["_" + key] = "$" + key,
|
|
706
704
|
_b),
|
|
707
705
|
});
|
|
708
706
|
likeQuery.push((_c = {},
|
|
709
|
-
_c["_"
|
|
707
|
+
_c["_" + key] = toBoolean(value),
|
|
710
708
|
_c));
|
|
711
709
|
}
|
|
712
710
|
else if ([
|
|
@@ -718,22 +716,22 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
718
716
|
// if input is string and db field type is array
|
|
719
717
|
searchAggregateQuery.push({
|
|
720
718
|
$addFields: (_d = {},
|
|
721
|
-
_d["_"
|
|
719
|
+
_d["_" + key] = "$" + key,
|
|
722
720
|
_d),
|
|
723
721
|
});
|
|
724
722
|
likeQuery.push((_e = {},
|
|
725
|
-
_e["_"
|
|
723
|
+
_e["_" + key] = { $all: [value] },
|
|
726
724
|
_e));
|
|
727
725
|
}
|
|
728
726
|
else if (searchQueryTypeKey === "tel") {
|
|
729
727
|
// handling value when db field type is tel
|
|
730
728
|
searchAggregateQuery.push({
|
|
731
729
|
$addFields: (_f = {},
|
|
732
|
-
_f["_"
|
|
730
|
+
_f["_" + key] = { $toString: "$" + key },
|
|
733
731
|
_f),
|
|
734
732
|
});
|
|
735
733
|
likeQuery.push((_g = {},
|
|
736
|
-
_g["_"
|
|
734
|
+
_g["_" + key] = {
|
|
737
735
|
$regex: value.startsWith("+") ? value.replace("+", "") : value,
|
|
738
736
|
$options: "i",
|
|
739
737
|
},
|
|
@@ -743,11 +741,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
743
741
|
// handling value when db field type is Double/Int
|
|
744
742
|
searchAggregateQuery.push({
|
|
745
743
|
$addFields: (_h = {},
|
|
746
|
-
_h["_"
|
|
744
|
+
_h["_" + key] = { $toString: { $toLong: "$" + key } },
|
|
747
745
|
_h),
|
|
748
746
|
});
|
|
749
747
|
likeQuery.push((_j = {},
|
|
750
|
-
_j["_"
|
|
748
|
+
_j["_" + key] = {
|
|
751
749
|
$regex: value,
|
|
752
750
|
$options: "i",
|
|
753
751
|
},
|
|
@@ -759,20 +757,20 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
759
757
|
fieldKey = fieldKey.replace("end_", "");
|
|
760
758
|
searchAggregateQuery.push({
|
|
761
759
|
$addFields: (_k = {},
|
|
762
|
-
_k["_"
|
|
760
|
+
_k["_" + key] = { $toString: "$" + fieldKey },
|
|
763
761
|
_k),
|
|
764
762
|
});
|
|
765
763
|
if (key.startsWith("start_")) {
|
|
766
764
|
likeQuery.push((_l = {},
|
|
767
|
-
_l["_"
|
|
768
|
-
$gte:
|
|
765
|
+
_l["_" + key] = {
|
|
766
|
+
$gte: date_util_1.timezoneDateParse(value, false, true),
|
|
769
767
|
},
|
|
770
768
|
_l));
|
|
771
769
|
}
|
|
772
770
|
else if (key.startsWith("end_")) {
|
|
773
771
|
likeQuery.push((_m = {},
|
|
774
|
-
_m["_"
|
|
775
|
-
$lt:
|
|
772
|
+
_m["_" + key] = {
|
|
773
|
+
$lt: date_util_1.timezoneDateParse(value, true),
|
|
776
774
|
},
|
|
777
775
|
_m));
|
|
778
776
|
}
|
|
@@ -783,11 +781,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
783
781
|
// converting db field to string first
|
|
784
782
|
searchAggregateQuery.push({
|
|
785
783
|
$addFields: (_o = {},
|
|
786
|
-
_o["_"
|
|
784
|
+
_o["_" + key] = { $toString: "$" + key },
|
|
787
785
|
_o),
|
|
788
786
|
});
|
|
789
787
|
likeQuery.push((_p = {},
|
|
790
|
-
_p["_"
|
|
788
|
+
_p["_" + key] = {
|
|
791
789
|
$regex: value,
|
|
792
790
|
$options: "i",
|
|
793
791
|
},
|