drapcode-utility 1.3.2 → 1.3.4
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 +5 -1
- 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 +12 -8
- package/build/utils/date-util.js +3 -3
- package/build/utils/prepare-query.js +9 -9
- package/build/utils/query-parser.js +56 -51
- package/build/utils/query-paser-new.js +51 -46
- package/build/utils/s3-util.js +22 -19
- package/build/utils/util.d.ts +1 -1
- package/build/utils/util.js +26 -22
- package/build/utils/uuid-generator.js +2 -2
- package/package.json +3 -3
|
@@ -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 (_) try {
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) 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,10 +35,14 @@ 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
|
-
for (var i = 0,
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
42
46
|
};
|
|
43
47
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
44
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -87,7 +91,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
87
91
|
searchQueryObj = null;
|
|
88
92
|
if (searchObj) {
|
|
89
93
|
_a = getSearchObjQuery(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _a.searchAggregateQuery, likeQuery = _a.likeQuery;
|
|
90
|
-
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery), searchAggregateQuery);
|
|
94
|
+
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery, true), searchAggregateQuery, true);
|
|
91
95
|
console.log("likeQuery after getSearchObjQuery", JSON.stringify(likeQuery));
|
|
92
96
|
if (likeQuery && likeQuery.length > 0) {
|
|
93
97
|
searchQueryObj = likeQuery;
|
|
@@ -105,7 +109,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
105
109
|
else if (searchObj) {
|
|
106
110
|
console.log("I donot have filter query");
|
|
107
111
|
_b = getSearchObjQuery(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _b.searchAggregateQuery, likeQuery = _b.likeQuery;
|
|
108
|
-
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery), searchAggregateQuery);
|
|
112
|
+
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery, true), searchAggregateQuery, true);
|
|
109
113
|
if (likeQuery.length) {
|
|
110
114
|
aggregateQuery.push({ $match: { $and: likeQuery } });
|
|
111
115
|
}
|
|
@@ -117,13 +121,13 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
117
121
|
finder = query.finder, sortBy = query.sortBy, orderBy = query.orderBy;
|
|
118
122
|
if (!(finder != "COUNT" && refCollectionFieldsInItems)) return [3 /*break*/, 2];
|
|
119
123
|
return [4 /*yield*/, Promise.all(refCollectionFieldsInItems.map(function (field) {
|
|
120
|
-
return prepare_query_1.commonLookupSetting(field, lookupConfig, aggregateQuery);
|
|
124
|
+
return (0, prepare_query_1.commonLookupSetting)(field, lookupConfig, aggregateQuery);
|
|
121
125
|
}))];
|
|
122
126
|
case 1:
|
|
123
127
|
_e.sent();
|
|
124
128
|
_e.label = 2;
|
|
125
129
|
case 2:
|
|
126
|
-
if (finder != "COUNT" && !util_1.isEmpty(projection)) {
|
|
130
|
+
if (finder != "COUNT" && !(0, util_1.isEmpty)(projection)) {
|
|
127
131
|
aggregateQuery.push({ $project: projection });
|
|
128
132
|
}
|
|
129
133
|
if (finder === "COUNT") {
|
|
@@ -144,8 +148,8 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
144
148
|
}
|
|
145
149
|
console.log("==> aggregateQuery", aggregateQuery);
|
|
146
150
|
console.log("==> aggregateQuery", JSON.stringify(aggregateQuery));
|
|
147
|
-
queryStr = ".aggregate("
|
|
148
|
-
str = "req.db.collection('"
|
|
151
|
+
queryStr = ".aggregate(".concat(JSON.stringify(aggregateQuery), ", { collation: { locale: \"en\" } })");
|
|
152
|
+
str = "req.db.collection('".concat(collectionName, "')").concat(queryStr);
|
|
149
153
|
str += ".toArray()";
|
|
150
154
|
return [2 /*return*/, str];
|
|
151
155
|
}
|
|
@@ -185,7 +189,7 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser,
|
|
|
185
189
|
filterQuery[lastKey].push(mongoQuery);
|
|
186
190
|
}
|
|
187
191
|
else {
|
|
188
|
-
filterQuery["$or"
|
|
192
|
+
filterQuery["$or".concat(index)] = [mongoQuery];
|
|
189
193
|
}
|
|
190
194
|
}
|
|
191
195
|
else if (queryObj.conjunctionType == "AND") {
|
|
@@ -194,11 +198,11 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser,
|
|
|
194
198
|
filterQuery[lastKey].push(mongoQuery);
|
|
195
199
|
}
|
|
196
200
|
else {
|
|
197
|
-
filterQuery["$and"
|
|
201
|
+
filterQuery["$and".concat(index)] = [mongoQuery];
|
|
198
202
|
}
|
|
199
203
|
}
|
|
200
204
|
else {
|
|
201
|
-
filterQuery["$or"
|
|
205
|
+
filterQuery["$or".concat(index)] = [mongoQuery];
|
|
202
206
|
}
|
|
203
207
|
});
|
|
204
208
|
console.log("==> *** filterQuery mongoFilterQuery :>> ", filterQuery);
|
|
@@ -217,15 +221,15 @@ var mongoSelectQuery = function (query) {
|
|
|
217
221
|
if (fieldsInclude[0] === "*") {
|
|
218
222
|
fieldsExclude.map(function (field) {
|
|
219
223
|
if (field)
|
|
220
|
-
return (projection[""
|
|
224
|
+
return (projection["".concat(field)] = 0);
|
|
221
225
|
});
|
|
222
226
|
}
|
|
223
227
|
else {
|
|
224
228
|
if (["FIND_ALL", "FIND"].includes(finder))
|
|
225
|
-
fieldsInclude = util_1.processFieldsInlcude(fieldsInclude);
|
|
229
|
+
fieldsInclude = (0, util_1.processFieldsInlcude)(fieldsInclude);
|
|
226
230
|
fieldsInclude.map(function (field) {
|
|
227
231
|
if (field)
|
|
228
|
-
return (projection[""
|
|
232
|
+
return (projection["".concat(field)] = 1);
|
|
229
233
|
});
|
|
230
234
|
}
|
|
231
235
|
return projection;
|
|
@@ -257,7 +261,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
257
261
|
//TODO: In case of this, we assign some random string to avoid resulting all values
|
|
258
262
|
//TODO: This is use case in Spot Factor Project, where a new user with blank value able to see all records
|
|
259
263
|
//TODO: Discussed on meet
|
|
260
|
-
fieldValue = "random_string_since_field_not_present_"
|
|
264
|
+
fieldValue = "random_string_since_field_not_present_".concat((0, moment_1.default)(1318874398806).valueOf());
|
|
261
265
|
}
|
|
262
266
|
console.log("fieldValue queryToMongo 1", fieldValue);
|
|
263
267
|
var isDate = checkDate(fieldValue);
|
|
@@ -325,7 +329,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
325
329
|
return _q = {},
|
|
326
330
|
_q[field] = {
|
|
327
331
|
$gte: fieldValue,
|
|
328
|
-
$lt: date_util_1.nextDayDate(fieldValue),
|
|
332
|
+
$lt: (0, date_util_1.nextDayDate)(fieldValue),
|
|
329
333
|
},
|
|
330
334
|
_q;
|
|
331
335
|
// Todo: Remove this if works properly
|
|
@@ -367,9 +371,10 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
367
371
|
return _x = {},
|
|
368
372
|
_x[field] = fieldType === "boolean" && fieldValue
|
|
369
373
|
? JSON.parse(fieldValue)
|
|
370
|
-
:
|
|
371
|
-
|
|
372
|
-
|
|
374
|
+
: // Commenting this, as it is not working in case field is string type but value is number
|
|
375
|
+
// : !isNaN(fieldValue)
|
|
376
|
+
// ? +fieldValue
|
|
377
|
+
fieldValue,
|
|
373
378
|
_x;
|
|
374
379
|
}
|
|
375
380
|
if (key == drapcode_constant_1.NOT_EQUAL)
|
|
@@ -381,7 +386,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
381
386
|
},
|
|
382
387
|
_y;
|
|
383
388
|
if (key == drapcode_constant_1.BETWEEN) {
|
|
384
|
-
var _0 = exports.getMinMaxValue(fieldValue), startValue = _0.startValue, endValue = _0.endValue, isInteger = _0.isInteger;
|
|
389
|
+
var _0 = (0, exports.getMinMaxValue)(fieldValue), startValue = _0.startValue, endValue = _0.endValue, isInteger = _0.isInteger;
|
|
385
390
|
return _z = {},
|
|
386
391
|
_z[field] = {
|
|
387
392
|
$gte: isInteger ? +startValue : startValue,
|
|
@@ -450,13 +455,13 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
450
455
|
return valueList_1;
|
|
451
456
|
}
|
|
452
457
|
if (key === drapcode_constant_1.BETWEEN) {
|
|
453
|
-
var _a = exports.getMinMaxValue(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isInteger = _a.isInteger;
|
|
458
|
+
var _a = (0, exports.getMinMaxValue)(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isInteger = _a.isInteger;
|
|
454
459
|
if (requiredExternal) {
|
|
455
|
-
startValue_1 = ""
|
|
456
|
-
endValue_1 = ""
|
|
460
|
+
startValue_1 = "".concat(externalParams[startValue_1]);
|
|
461
|
+
endValue_1 = "".concat(externalParams[endValue_1]);
|
|
457
462
|
}
|
|
458
463
|
else {
|
|
459
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) {
|
|
464
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) {
|
|
460
465
|
return startValue_1.includes(cnst);
|
|
461
466
|
})) {
|
|
462
467
|
startValue_1 = getValueOfProjectConstant(startValue_1, currentUser, timezone);
|
|
@@ -464,7 +469,7 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
464
469
|
else {
|
|
465
470
|
startValue_1 = constants.filter(function (constant) { return constant.name == startValue_1; });
|
|
466
471
|
}
|
|
467
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
472
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
468
473
|
endValue_1 = getValueOfProjectConstant(endValue_1, currentUser, timezone);
|
|
469
474
|
}
|
|
470
475
|
else {
|
|
@@ -480,10 +485,10 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
480
485
|
}
|
|
481
486
|
//TODO: Need to figure out the params should be treated as number/string
|
|
482
487
|
if (!isNaN(startValue_1)) {
|
|
483
|
-
return startValue_1
|
|
488
|
+
return "".concat(startValue_1, "---").concat(endValue_1, "^");
|
|
484
489
|
}
|
|
485
490
|
else
|
|
486
|
-
return startValue_1
|
|
491
|
+
return "".concat(startValue_1, "---").concat(endValue_1);
|
|
487
492
|
}
|
|
488
493
|
if (value.includes(drapcode_constant_1.CURRENT_USER)) {
|
|
489
494
|
if (value === drapcode_constant_1.CURRENT_USER) {
|
|
@@ -574,18 +579,18 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
574
579
|
if (drapcode_constant_1.DateConstant.some(function (cnst) { return value.includes(cnst); })) {
|
|
575
580
|
return getValueOfProjectConstant(value, {}, timezone);
|
|
576
581
|
}
|
|
577
|
-
if (exports.isEntityInCondition(value)) {
|
|
582
|
+
if ((0, exports.isEntityInCondition)(value)) {
|
|
578
583
|
var key_1 = value.replace("ENTITY::", "");
|
|
579
584
|
return externalParams[key_1] ? externalParams[key_1] : "";
|
|
580
585
|
}
|
|
581
586
|
//TODO: This is just to confirm if external then it should be get from externalParams
|
|
582
587
|
if (requiredExternal) {
|
|
583
588
|
//TODO: Value returns from here undefined.
|
|
584
|
-
var externalParamValue = externalParams[""
|
|
589
|
+
var externalParamValue = externalParams["".concat(value)];
|
|
585
590
|
if (!isNaN(externalParamValue)) {
|
|
586
591
|
return +externalParamValue;
|
|
587
592
|
}
|
|
588
|
-
return externalParams[""
|
|
593
|
+
return externalParams["".concat(value)];
|
|
589
594
|
}
|
|
590
595
|
var constantArr = constants.filter(function (constant) { return constant.name == value; });
|
|
591
596
|
return constantArr.length ? "" + constantArr[0].value : "";
|
|
@@ -616,11 +621,11 @@ var getValueOfProjectConstant = function (value, currentUser, timezone) {
|
|
|
616
621
|
if (value === drapcode_constant_1.CURRENT_USER)
|
|
617
622
|
return currentUser["uuid"];
|
|
618
623
|
if (value === drapcode_constant_1.CURRENT_DATE)
|
|
619
|
-
result = date_util_1.createLoggerDateFormat(timezone);
|
|
624
|
+
result = (0, date_util_1.createLoggerDateFormat)(timezone);
|
|
620
625
|
if ([drapcode_constant_1.CURRENT_TIME, drapcode_constant_1.CURRENT_DATE_TIME].includes(value))
|
|
621
|
-
result = date_util_1.createLogsDateFormat(timezone);
|
|
626
|
+
result = (0, date_util_1.createLogsDateFormat)(timezone);
|
|
622
627
|
if (drapcode_constant_1.DateTimeUnit.some(function (cnst) { return value.includes(cnst); }))
|
|
623
|
-
result = date_util_1.getDateValue(value, timezone);
|
|
628
|
+
result = (0, date_util_1.getDateValue)(value, timezone);
|
|
624
629
|
return result;
|
|
625
630
|
};
|
|
626
631
|
var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
@@ -636,11 +641,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
636
641
|
// if input is string and db field type is boolean
|
|
637
642
|
searchAggregateQuery.push({
|
|
638
643
|
$addFields: (_b = {},
|
|
639
|
-
_b["_"
|
|
644
|
+
_b["_".concat(key)] = "$".concat(key),
|
|
640
645
|
_b),
|
|
641
646
|
});
|
|
642
647
|
likeQuery.push((_c = {},
|
|
643
|
-
_c["_"
|
|
648
|
+
_c["_".concat(key)] = toBoolean(value),
|
|
644
649
|
_c));
|
|
645
650
|
}
|
|
646
651
|
else if ([
|
|
@@ -652,22 +657,22 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
652
657
|
// if input is string and db field type is array
|
|
653
658
|
searchAggregateQuery.push({
|
|
654
659
|
$addFields: (_d = {},
|
|
655
|
-
_d["_"
|
|
660
|
+
_d["_".concat(key)] = "$".concat(key),
|
|
656
661
|
_d),
|
|
657
662
|
});
|
|
658
663
|
likeQuery.push((_e = {},
|
|
659
|
-
_e["_"
|
|
664
|
+
_e["_".concat(key)] = { $all: [value] },
|
|
660
665
|
_e));
|
|
661
666
|
}
|
|
662
667
|
else if (searchQueryTypeKey === "tel") {
|
|
663
668
|
// handling value when db field type is tel
|
|
664
669
|
searchAggregateQuery.push({
|
|
665
670
|
$addFields: (_f = {},
|
|
666
|
-
_f["_"
|
|
671
|
+
_f["_".concat(key)] = { $toString: "$".concat(key) },
|
|
667
672
|
_f),
|
|
668
673
|
});
|
|
669
674
|
likeQuery.push((_g = {},
|
|
670
|
-
_g["_"
|
|
675
|
+
_g["_".concat(key)] = {
|
|
671
676
|
$regex: value.startsWith("+") ? value.replace("+", "") : value,
|
|
672
677
|
$options: "i",
|
|
673
678
|
},
|
|
@@ -677,11 +682,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
677
682
|
// handling value when db field type is Double/Int
|
|
678
683
|
searchAggregateQuery.push({
|
|
679
684
|
$addFields: (_h = {},
|
|
680
|
-
_h["_"
|
|
685
|
+
_h["_".concat(key)] = { $toString: { $toLong: "$".concat(key) } },
|
|
681
686
|
_h),
|
|
682
687
|
});
|
|
683
688
|
likeQuery.push((_j = {},
|
|
684
|
-
_j["_"
|
|
689
|
+
_j["_".concat(key)] = {
|
|
685
690
|
$regex: value,
|
|
686
691
|
$options: "i",
|
|
687
692
|
},
|
|
@@ -693,20 +698,20 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
693
698
|
fieldKey = fieldKey.replace("end_", "");
|
|
694
699
|
searchAggregateQuery.push({
|
|
695
700
|
$addFields: (_k = {},
|
|
696
|
-
_k["_"
|
|
701
|
+
_k["_".concat(key)] = { $toString: "$".concat(fieldKey) },
|
|
697
702
|
_k),
|
|
698
703
|
});
|
|
699
704
|
if (key.startsWith("start_")) {
|
|
700
705
|
likeQuery.push((_l = {},
|
|
701
|
-
_l["_"
|
|
702
|
-
$gte: date_util_1.timezoneDateParse(value, false, true),
|
|
706
|
+
_l["_".concat(key)] = {
|
|
707
|
+
$gte: (0, date_util_1.timezoneDateParse)(value, false, true),
|
|
703
708
|
},
|
|
704
709
|
_l));
|
|
705
710
|
}
|
|
706
711
|
else if (key.startsWith("end_")) {
|
|
707
712
|
likeQuery.push((_m = {},
|
|
708
|
-
_m["_"
|
|
709
|
-
$lt: date_util_1.timezoneDateParse(value, true),
|
|
713
|
+
_m["_".concat(key)] = {
|
|
714
|
+
$lt: (0, date_util_1.timezoneDateParse)(value, true),
|
|
710
715
|
},
|
|
711
716
|
_m));
|
|
712
717
|
}
|
|
@@ -717,11 +722,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
717
722
|
// converting db field to string first
|
|
718
723
|
searchAggregateQuery.push({
|
|
719
724
|
$addFields: (_o = {},
|
|
720
|
-
_o["_"
|
|
725
|
+
_o["_".concat(key)] = { $toString: "$".concat(key) },
|
|
721
726
|
_o),
|
|
722
727
|
});
|
|
723
728
|
likeQuery.push((_p = {},
|
|
724
|
-
_p["_"
|
|
729
|
+
_p["_".concat(key)] = {
|
|
725
730
|
$regex: value,
|
|
726
731
|
$options: "i",
|
|
727
732
|
},
|
|
@@ -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 (_) try {
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) 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,10 +35,14 @@ 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
|
-
for (var i = 0,
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
42
46
|
};
|
|
43
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
48
|
exports.queryParserNew = void 0;
|
|
@@ -83,11 +87,11 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
83
87
|
if (searchQueryTypeObj[key]) {
|
|
84
88
|
aggregateQuery.push({
|
|
85
89
|
$addFields: (_b = {},
|
|
86
|
-
_b["_"
|
|
90
|
+
_b["_".concat(key)] = { $toString: "$".concat(key) },
|
|
87
91
|
_b),
|
|
88
92
|
});
|
|
89
93
|
searchQueryObj_1.push((_c = {},
|
|
90
|
-
_c["_"
|
|
94
|
+
_c["_".concat(key)] = {
|
|
91
95
|
$regex: value,
|
|
92
96
|
$options: "i",
|
|
93
97
|
},
|
|
@@ -121,11 +125,11 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
121
125
|
// if input is string and db field type is boolean
|
|
122
126
|
aggregateQuery.push({
|
|
123
127
|
$addFields: (_b = {},
|
|
124
|
-
_b["_"
|
|
128
|
+
_b["_".concat(key)] = "$".concat(key),
|
|
125
129
|
_b),
|
|
126
130
|
});
|
|
127
131
|
likeQuery_1.push((_c = {},
|
|
128
|
-
_c["_"
|
|
132
|
+
_c["_".concat(key)] = toBoolean(value),
|
|
129
133
|
_c));
|
|
130
134
|
}
|
|
131
135
|
else if ([
|
|
@@ -137,22 +141,22 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
137
141
|
// if input is string and db field type is array
|
|
138
142
|
aggregateQuery.push({
|
|
139
143
|
$addFields: (_d = {},
|
|
140
|
-
_d["_"
|
|
144
|
+
_d["_".concat(key)] = "$".concat(key),
|
|
141
145
|
_d),
|
|
142
146
|
});
|
|
143
147
|
likeQuery_1.push((_e = {},
|
|
144
|
-
_e["_"
|
|
148
|
+
_e["_".concat(key)] = { $all: [value] },
|
|
145
149
|
_e));
|
|
146
150
|
}
|
|
147
151
|
else if (searchQueryTypeObj[key] === "tel") {
|
|
148
152
|
// handling value when db field type is tel
|
|
149
153
|
aggregateQuery.push({
|
|
150
154
|
$addFields: (_f = {},
|
|
151
|
-
_f["_"
|
|
155
|
+
_f["_".concat(key)] = { $toString: "$".concat(key) },
|
|
152
156
|
_f),
|
|
153
157
|
});
|
|
154
158
|
likeQuery_1.push((_g = {},
|
|
155
|
-
_g["_"
|
|
159
|
+
_g["_".concat(key)] = {
|
|
156
160
|
$regex: value.startsWith("+") ? value.replace("+", "") : value,
|
|
157
161
|
$options: "i",
|
|
158
162
|
},
|
|
@@ -162,11 +166,11 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
162
166
|
// handling value when db field type is Double/Int
|
|
163
167
|
aggregateQuery.push({
|
|
164
168
|
$addFields: (_h = {},
|
|
165
|
-
_h["_"
|
|
169
|
+
_h["_".concat(key)] = { $toString: { $toLong: "$".concat(key) } },
|
|
166
170
|
_h),
|
|
167
171
|
});
|
|
168
172
|
likeQuery_1.push((_j = {},
|
|
169
|
-
_j["_"
|
|
173
|
+
_j["_".concat(key)] = {
|
|
170
174
|
$regex: value,
|
|
171
175
|
$options: "i",
|
|
172
176
|
},
|
|
@@ -177,11 +181,11 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
177
181
|
// converting db field to string first
|
|
178
182
|
aggregateQuery.push({
|
|
179
183
|
$addFields: (_k = {},
|
|
180
|
-
_k["_"
|
|
184
|
+
_k["_".concat(key)] = { $toString: "$".concat(key) },
|
|
181
185
|
_k),
|
|
182
186
|
});
|
|
183
187
|
likeQuery_1.push((_l = {},
|
|
184
|
-
_l["_"
|
|
188
|
+
_l["_".concat(key)] = {
|
|
185
189
|
$regex: value,
|
|
186
190
|
$options: "i",
|
|
187
191
|
},
|
|
@@ -206,14 +210,14 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
206
210
|
finder = query.finder, sortBy = query.sortBy, orderBy = query.orderBy, aggregateFunctionField = query.aggregateFunctionField;
|
|
207
211
|
if (!(finder != "COUNT" && refCollectionFieldsInItems)) return [3 /*break*/, 2];
|
|
208
212
|
return [4 /*yield*/, Promise.all(refCollectionFieldsInItems.map(function (field) {
|
|
209
|
-
return prepare_query_1.commonLookupSetting(field, lookupConfig, aggregateQuery);
|
|
213
|
+
return (0, prepare_query_1.commonLookupSetting)(field, lookupConfig, aggregateQuery);
|
|
210
214
|
}))];
|
|
211
215
|
case 1:
|
|
212
216
|
_b.sent();
|
|
213
217
|
_b.label = 2;
|
|
214
218
|
case 2:
|
|
215
219
|
if (!["COUNT", "SUM", "AVG", "MIN", "MAX"].includes(finder) &&
|
|
216
|
-
!util_1.isEmpty(projection)) {
|
|
220
|
+
!(0, util_1.isEmpty)(projection)) {
|
|
217
221
|
aggregateQuery.push({ $project: projection });
|
|
218
222
|
}
|
|
219
223
|
if (finder === "COUNT") {
|
|
@@ -221,22 +225,22 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
221
225
|
}
|
|
222
226
|
else if (finder === "SUM") {
|
|
223
227
|
aggregateQuery.push({
|
|
224
|
-
$group: { _id: null, total: { $sum: "$"
|
|
228
|
+
$group: { _id: null, total: { $sum: "$".concat(aggregateFunctionField) } },
|
|
225
229
|
});
|
|
226
230
|
}
|
|
227
231
|
else if (finder === "AVG") {
|
|
228
232
|
aggregateQuery.push({
|
|
229
|
-
$group: { _id: null, average: { $avg: "$"
|
|
233
|
+
$group: { _id: null, average: { $avg: "$".concat(aggregateFunctionField) } },
|
|
230
234
|
});
|
|
231
235
|
}
|
|
232
236
|
else if (finder === "MIN") {
|
|
233
237
|
aggregateQuery.push({
|
|
234
|
-
$group: { _id: null, minimum: { $min: "$"
|
|
238
|
+
$group: { _id: null, minimum: { $min: "$".concat(aggregateFunctionField) } },
|
|
235
239
|
});
|
|
236
240
|
}
|
|
237
241
|
else if (finder === "MAX") {
|
|
238
242
|
aggregateQuery.push({
|
|
239
|
-
$group: { _id: null, maximum: { $max: "$"
|
|
243
|
+
$group: { _id: null, maximum: { $max: "$".concat(aggregateFunctionField) } },
|
|
240
244
|
});
|
|
241
245
|
}
|
|
242
246
|
offset = externalParams.offset || 0;
|
|
@@ -252,8 +256,8 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
252
256
|
if (finder != "COUNT" && limit) {
|
|
253
257
|
aggregateQuery.push({ $skip: +offset }, { $limit: +limit });
|
|
254
258
|
}
|
|
255
|
-
queryStr = ".aggregate("
|
|
256
|
-
str = "req.db.collection('"
|
|
259
|
+
queryStr = ".aggregate(".concat(JSON.stringify(aggregateQuery), ", { collation: { locale: \"en\" } })");
|
|
260
|
+
str = "req.db.collection('".concat(collectionName, "')").concat(queryStr);
|
|
257
261
|
str += ".toArray()";
|
|
258
262
|
return [2 /*return*/, str];
|
|
259
263
|
}
|
|
@@ -290,7 +294,7 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser)
|
|
|
290
294
|
filterQuery[lastKey].push(mongoQuery);
|
|
291
295
|
}
|
|
292
296
|
else {
|
|
293
|
-
filterQuery["$or"
|
|
297
|
+
filterQuery["$or".concat(index)] = [mongoQuery];
|
|
294
298
|
}
|
|
295
299
|
}
|
|
296
300
|
else if (queryObj.conjunctionType == "AND") {
|
|
@@ -299,11 +303,11 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser)
|
|
|
299
303
|
filterQuery[lastKey].push(mongoQuery);
|
|
300
304
|
}
|
|
301
305
|
else {
|
|
302
|
-
filterQuery["$and"
|
|
306
|
+
filterQuery["$and".concat(index)] = [mongoQuery];
|
|
303
307
|
}
|
|
304
308
|
}
|
|
305
309
|
else {
|
|
306
|
-
filterQuery["$or"
|
|
310
|
+
filterQuery["$or".concat(index)] = [mongoQuery];
|
|
307
311
|
}
|
|
308
312
|
});
|
|
309
313
|
console.log("==> *** filterQuery #2 :>> ", filterQuery);
|
|
@@ -319,15 +323,15 @@ var mongoSelectQuery = function (query) {
|
|
|
319
323
|
if (fieldsInclude[0] === "*") {
|
|
320
324
|
fieldsExclude.map(function (field) {
|
|
321
325
|
if (field)
|
|
322
|
-
return (projection[""
|
|
326
|
+
return (projection["".concat(field)] = 0);
|
|
323
327
|
});
|
|
324
328
|
}
|
|
325
329
|
else {
|
|
326
330
|
if (["FIND_ALL", "FIND"].includes(finder))
|
|
327
|
-
fieldsInclude = util_1.processFieldsInlcude(fieldsInclude);
|
|
331
|
+
fieldsInclude = (0, util_1.processFieldsInlcude)(fieldsInclude);
|
|
328
332
|
fieldsInclude.map(function (field) {
|
|
329
333
|
if (field)
|
|
330
|
-
return (projection[""
|
|
334
|
+
return (projection["".concat(field)] = 1);
|
|
331
335
|
});
|
|
332
336
|
}
|
|
333
337
|
return projection;
|
|
@@ -418,7 +422,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
418
422
|
return _r = {},
|
|
419
423
|
_r[field] = {
|
|
420
424
|
$gte: fieldValue,
|
|
421
|
-
$lt: new Date(date_util_1.nextDayDate(fieldValue)),
|
|
425
|
+
$lt: new Date((0, date_util_1.nextDayDate)(fieldValue)),
|
|
422
426
|
},
|
|
423
427
|
_r;
|
|
424
428
|
}
|
|
@@ -444,9 +448,10 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
444
448
|
return _y = {},
|
|
445
449
|
_y[field] = fieldType === "boolean" && fieldValue
|
|
446
450
|
? JSON.parse(fieldValue)
|
|
447
|
-
:
|
|
448
|
-
|
|
449
|
-
|
|
451
|
+
: // Commenting this, as it is not working in case field is string type but value is number
|
|
452
|
+
// : !isNaN(fieldValue)
|
|
453
|
+
// ? +fieldValue
|
|
454
|
+
fieldValue,
|
|
450
455
|
_y;
|
|
451
456
|
if (key == drapcode_constant_1.NOT_EQUAL)
|
|
452
457
|
return _z = {},
|
|
@@ -512,11 +517,11 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
512
517
|
if (key === drapcode_constant_1.BETWEEN) {
|
|
513
518
|
var _a = getMinMaxValue(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isInteger = _a.isInteger;
|
|
514
519
|
if (requiredExternal) {
|
|
515
|
-
startValue_1 = ""
|
|
516
|
-
endValue_1 = ""
|
|
520
|
+
startValue_1 = "".concat(externalParams[startValue_1]);
|
|
521
|
+
endValue_1 = "".concat(externalParams[endValue_1]);
|
|
517
522
|
}
|
|
518
523
|
else {
|
|
519
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) {
|
|
524
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) {
|
|
520
525
|
return startValue_1.includes(cnst);
|
|
521
526
|
})) {
|
|
522
527
|
startValue_1 = getValueOfProjectConstant(startValue_1, currentUser);
|
|
@@ -524,7 +529,7 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
524
529
|
else {
|
|
525
530
|
startValue_1 = constants.filter(function (constant) { return constant.name == startValue_1; });
|
|
526
531
|
}
|
|
527
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
532
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
528
533
|
endValue_1 = getValueOfProjectConstant(endValue_1, currentUser);
|
|
529
534
|
}
|
|
530
535
|
else {
|
|
@@ -541,10 +546,10 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
541
546
|
//TODO: Need to figure out the params should be treated as number/string
|
|
542
547
|
if (!isNaN(startValue_1)) {
|
|
543
548
|
console.log("I am Number");
|
|
544
|
-
return startValue_1
|
|
549
|
+
return "".concat(startValue_1, "---").concat(endValue_1, "^");
|
|
545
550
|
}
|
|
546
551
|
else
|
|
547
|
-
return startValue_1
|
|
552
|
+
return "".concat(startValue_1, "---").concat(endValue_1);
|
|
548
553
|
}
|
|
549
554
|
if (value.includes(drapcode_constant_1.CURRENT_USER)) {
|
|
550
555
|
if (value === drapcode_constant_1.CURRENT_USER) {
|
|
@@ -582,11 +587,11 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
582
587
|
//TODO: This is just to confirm if external then it should be get from externalParams
|
|
583
588
|
if (requiredExternal) {
|
|
584
589
|
//TODO: Value returns from here undefined.
|
|
585
|
-
var externalParamValue = externalParams[""
|
|
590
|
+
var externalParamValue = externalParams["".concat(value)];
|
|
586
591
|
if (!isNaN(externalParamValue)) {
|
|
587
592
|
return +externalParamValue;
|
|
588
593
|
}
|
|
589
|
-
return externalParams[""
|
|
594
|
+
return externalParams["".concat(value)];
|
|
590
595
|
}
|
|
591
596
|
var constantArr = constants.filter(function (constant) { return constant.name == value; });
|
|
592
597
|
return constantArr.length ? "" + constantArr[0].value : "";
|
|
@@ -613,9 +618,9 @@ var getValueOfProjectConstant = function (value, currentUser) {
|
|
|
613
618
|
if (value === drapcode_constant_1.CURRENT_USER)
|
|
614
619
|
return currentUser["uuid"];
|
|
615
620
|
if (value === drapcode_constant_1.CURRENT_DATE)
|
|
616
|
-
return date_util_1.createLoggerDateFormat();
|
|
621
|
+
return (0, date_util_1.createLoggerDateFormat)();
|
|
617
622
|
if ([drapcode_constant_1.CURRENT_TIME, drapcode_constant_1.CURRENT_DATE_TIME].includes(value))
|
|
618
|
-
return date_util_1.createLogsDateFormat();
|
|
623
|
+
return (0, date_util_1.createLogsDateFormat)();
|
|
619
624
|
if (drapcode_constant_1.DateTimeUnit.some(function (cnst) { return value.includes(cnst); }))
|
|
620
|
-
return date_util_1.getDateValue(value);
|
|
625
|
+
return (0, date_util_1.getDateValue)(value);
|
|
621
626
|
};
|