drapcode-utility 1.3.3 → 1.3.5
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 +57 -51
- package/build/utils/query-paser-new.js +54 -47
- 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 +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 (_) 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
|
|
@@ -364,12 +368,14 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
364
368
|
],
|
|
365
369
|
};
|
|
366
370
|
if (key == drapcode_constant_1.EQUALS) {
|
|
371
|
+
console.log("I am query parser");
|
|
367
372
|
return _x = {},
|
|
373
|
+
// TODO:Handle Based of Field Type
|
|
368
374
|
_x[field] = fieldType === "boolean" && fieldValue
|
|
369
375
|
? JSON.parse(fieldValue)
|
|
370
|
-
: !isNaN(fieldValue)
|
|
371
|
-
? +fieldValue
|
|
372
|
-
|
|
376
|
+
: // : !isNaN(fieldValue)
|
|
377
|
+
// ? +fieldValue
|
|
378
|
+
fieldValue,
|
|
373
379
|
_x;
|
|
374
380
|
}
|
|
375
381
|
if (key == drapcode_constant_1.NOT_EQUAL)
|
|
@@ -381,7 +387,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
381
387
|
},
|
|
382
388
|
_y;
|
|
383
389
|
if (key == drapcode_constant_1.BETWEEN) {
|
|
384
|
-
var _0 = exports.getMinMaxValue(fieldValue), startValue = _0.startValue, endValue = _0.endValue, isInteger = _0.isInteger;
|
|
390
|
+
var _0 = (0, exports.getMinMaxValue)(fieldValue), startValue = _0.startValue, endValue = _0.endValue, isInteger = _0.isInteger;
|
|
385
391
|
return _z = {},
|
|
386
392
|
_z[field] = {
|
|
387
393
|
$gte: isInteger ? +startValue : startValue,
|
|
@@ -450,13 +456,13 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
450
456
|
return valueList_1;
|
|
451
457
|
}
|
|
452
458
|
if (key === drapcode_constant_1.BETWEEN) {
|
|
453
|
-
var _a = exports.getMinMaxValue(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isInteger = _a.isInteger;
|
|
459
|
+
var _a = (0, exports.getMinMaxValue)(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isInteger = _a.isInteger;
|
|
454
460
|
if (requiredExternal) {
|
|
455
|
-
startValue_1 = ""
|
|
456
|
-
endValue_1 = ""
|
|
461
|
+
startValue_1 = "".concat(externalParams[startValue_1]);
|
|
462
|
+
endValue_1 = "".concat(externalParams[endValue_1]);
|
|
457
463
|
}
|
|
458
464
|
else {
|
|
459
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) {
|
|
465
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) {
|
|
460
466
|
return startValue_1.includes(cnst);
|
|
461
467
|
})) {
|
|
462
468
|
startValue_1 = getValueOfProjectConstant(startValue_1, currentUser, timezone);
|
|
@@ -464,7 +470,7 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
464
470
|
else {
|
|
465
471
|
startValue_1 = constants.filter(function (constant) { return constant.name == startValue_1; });
|
|
466
472
|
}
|
|
467
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
473
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
468
474
|
endValue_1 = getValueOfProjectConstant(endValue_1, currentUser, timezone);
|
|
469
475
|
}
|
|
470
476
|
else {
|
|
@@ -480,10 +486,10 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
480
486
|
}
|
|
481
487
|
//TODO: Need to figure out the params should be treated as number/string
|
|
482
488
|
if (!isNaN(startValue_1)) {
|
|
483
|
-
return startValue_1
|
|
489
|
+
return "".concat(startValue_1, "---").concat(endValue_1, "^");
|
|
484
490
|
}
|
|
485
491
|
else
|
|
486
|
-
return startValue_1
|
|
492
|
+
return "".concat(startValue_1, "---").concat(endValue_1);
|
|
487
493
|
}
|
|
488
494
|
if (value.includes(drapcode_constant_1.CURRENT_USER)) {
|
|
489
495
|
if (value === drapcode_constant_1.CURRENT_USER) {
|
|
@@ -574,18 +580,18 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
574
580
|
if (drapcode_constant_1.DateConstant.some(function (cnst) { return value.includes(cnst); })) {
|
|
575
581
|
return getValueOfProjectConstant(value, {}, timezone);
|
|
576
582
|
}
|
|
577
|
-
if (exports.isEntityInCondition(value)) {
|
|
583
|
+
if ((0, exports.isEntityInCondition)(value)) {
|
|
578
584
|
var key_1 = value.replace("ENTITY::", "");
|
|
579
585
|
return externalParams[key_1] ? externalParams[key_1] : "";
|
|
580
586
|
}
|
|
581
587
|
//TODO: This is just to confirm if external then it should be get from externalParams
|
|
582
588
|
if (requiredExternal) {
|
|
583
589
|
//TODO: Value returns from here undefined.
|
|
584
|
-
var externalParamValue = externalParams[""
|
|
590
|
+
var externalParamValue = externalParams["".concat(value)];
|
|
585
591
|
if (!isNaN(externalParamValue)) {
|
|
586
592
|
return +externalParamValue;
|
|
587
593
|
}
|
|
588
|
-
return externalParams[""
|
|
594
|
+
return externalParams["".concat(value)];
|
|
589
595
|
}
|
|
590
596
|
var constantArr = constants.filter(function (constant) { return constant.name == value; });
|
|
591
597
|
return constantArr.length ? "" + constantArr[0].value : "";
|
|
@@ -616,11 +622,11 @@ var getValueOfProjectConstant = function (value, currentUser, timezone) {
|
|
|
616
622
|
if (value === drapcode_constant_1.CURRENT_USER)
|
|
617
623
|
return currentUser["uuid"];
|
|
618
624
|
if (value === drapcode_constant_1.CURRENT_DATE)
|
|
619
|
-
result = date_util_1.createLoggerDateFormat(timezone);
|
|
625
|
+
result = (0, date_util_1.createLoggerDateFormat)(timezone);
|
|
620
626
|
if ([drapcode_constant_1.CURRENT_TIME, drapcode_constant_1.CURRENT_DATE_TIME].includes(value))
|
|
621
|
-
result = date_util_1.createLogsDateFormat(timezone);
|
|
627
|
+
result = (0, date_util_1.createLogsDateFormat)(timezone);
|
|
622
628
|
if (drapcode_constant_1.DateTimeUnit.some(function (cnst) { return value.includes(cnst); }))
|
|
623
|
-
result = date_util_1.getDateValue(value, timezone);
|
|
629
|
+
result = (0, date_util_1.getDateValue)(value, timezone);
|
|
624
630
|
return result;
|
|
625
631
|
};
|
|
626
632
|
var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
@@ -636,11 +642,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
636
642
|
// if input is string and db field type is boolean
|
|
637
643
|
searchAggregateQuery.push({
|
|
638
644
|
$addFields: (_b = {},
|
|
639
|
-
_b["_"
|
|
645
|
+
_b["_".concat(key)] = "$".concat(key),
|
|
640
646
|
_b),
|
|
641
647
|
});
|
|
642
648
|
likeQuery.push((_c = {},
|
|
643
|
-
_c["_"
|
|
649
|
+
_c["_".concat(key)] = toBoolean(value),
|
|
644
650
|
_c));
|
|
645
651
|
}
|
|
646
652
|
else if ([
|
|
@@ -652,22 +658,22 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
652
658
|
// if input is string and db field type is array
|
|
653
659
|
searchAggregateQuery.push({
|
|
654
660
|
$addFields: (_d = {},
|
|
655
|
-
_d["_"
|
|
661
|
+
_d["_".concat(key)] = "$".concat(key),
|
|
656
662
|
_d),
|
|
657
663
|
});
|
|
658
664
|
likeQuery.push((_e = {},
|
|
659
|
-
_e["_"
|
|
665
|
+
_e["_".concat(key)] = { $all: [value] },
|
|
660
666
|
_e));
|
|
661
667
|
}
|
|
662
668
|
else if (searchQueryTypeKey === "tel") {
|
|
663
669
|
// handling value when db field type is tel
|
|
664
670
|
searchAggregateQuery.push({
|
|
665
671
|
$addFields: (_f = {},
|
|
666
|
-
_f["_"
|
|
672
|
+
_f["_".concat(key)] = { $toString: "$".concat(key) },
|
|
667
673
|
_f),
|
|
668
674
|
});
|
|
669
675
|
likeQuery.push((_g = {},
|
|
670
|
-
_g["_"
|
|
676
|
+
_g["_".concat(key)] = {
|
|
671
677
|
$regex: value.startsWith("+") ? value.replace("+", "") : value,
|
|
672
678
|
$options: "i",
|
|
673
679
|
},
|
|
@@ -677,11 +683,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
677
683
|
// handling value when db field type is Double/Int
|
|
678
684
|
searchAggregateQuery.push({
|
|
679
685
|
$addFields: (_h = {},
|
|
680
|
-
_h["_"
|
|
686
|
+
_h["_".concat(key)] = { $toString: { $toLong: "$".concat(key) } },
|
|
681
687
|
_h),
|
|
682
688
|
});
|
|
683
689
|
likeQuery.push((_j = {},
|
|
684
|
-
_j["_"
|
|
690
|
+
_j["_".concat(key)] = {
|
|
685
691
|
$regex: value,
|
|
686
692
|
$options: "i",
|
|
687
693
|
},
|
|
@@ -693,20 +699,20 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
693
699
|
fieldKey = fieldKey.replace("end_", "");
|
|
694
700
|
searchAggregateQuery.push({
|
|
695
701
|
$addFields: (_k = {},
|
|
696
|
-
_k["_"
|
|
702
|
+
_k["_".concat(key)] = { $toString: "$".concat(fieldKey) },
|
|
697
703
|
_k),
|
|
698
704
|
});
|
|
699
705
|
if (key.startsWith("start_")) {
|
|
700
706
|
likeQuery.push((_l = {},
|
|
701
|
-
_l["_"
|
|
702
|
-
$gte: date_util_1.timezoneDateParse(value, false, true),
|
|
707
|
+
_l["_".concat(key)] = {
|
|
708
|
+
$gte: (0, date_util_1.timezoneDateParse)(value, false, true),
|
|
703
709
|
},
|
|
704
710
|
_l));
|
|
705
711
|
}
|
|
706
712
|
else if (key.startsWith("end_")) {
|
|
707
713
|
likeQuery.push((_m = {},
|
|
708
|
-
_m["_"
|
|
709
|
-
$lt: date_util_1.timezoneDateParse(value, true),
|
|
714
|
+
_m["_".concat(key)] = {
|
|
715
|
+
$lt: (0, date_util_1.timezoneDateParse)(value, true),
|
|
710
716
|
},
|
|
711
717
|
_m));
|
|
712
718
|
}
|
|
@@ -717,11 +723,11 @@ var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
|
717
723
|
// converting db field to string first
|
|
718
724
|
searchAggregateQuery.push({
|
|
719
725
|
$addFields: (_o = {},
|
|
720
|
-
_o["_"
|
|
726
|
+
_o["_".concat(key)] = { $toString: "$".concat(key) },
|
|
721
727
|
_o),
|
|
722
728
|
});
|
|
723
729
|
likeQuery.push((_p = {},
|
|
724
|
-
_p["_"
|
|
730
|
+
_p["_".concat(key)] = {
|
|
725
731
|
$regex: value,
|
|
726
732
|
$options: "i",
|
|
727
733
|
},
|
|
@@ -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
|
}
|
|
@@ -440,14 +444,17 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
440
444
|
(_x = {}, _x[field] = { $exists: false }, _x),
|
|
441
445
|
],
|
|
442
446
|
};
|
|
443
|
-
if (key == drapcode_constant_1.EQUALS)
|
|
447
|
+
if (key == drapcode_constant_1.EQUALS) {
|
|
448
|
+
console.log("I am query parser new");
|
|
444
449
|
return _y = {},
|
|
450
|
+
// TODO:Handle Based of Field Type
|
|
445
451
|
_y[field] = fieldType === "boolean" && fieldValue
|
|
446
452
|
? JSON.parse(fieldValue)
|
|
447
|
-
: !isNaN(fieldValue)
|
|
448
|
-
? +fieldValue
|
|
449
|
-
|
|
453
|
+
: // : !isNaN(fieldValue)
|
|
454
|
+
// ? +fieldValue
|
|
455
|
+
fieldValue,
|
|
450
456
|
_y;
|
|
457
|
+
}
|
|
451
458
|
if (key == drapcode_constant_1.NOT_EQUAL)
|
|
452
459
|
return _z = {},
|
|
453
460
|
_z[field] = {
|
|
@@ -512,11 +519,11 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
512
519
|
if (key === drapcode_constant_1.BETWEEN) {
|
|
513
520
|
var _a = getMinMaxValue(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isInteger = _a.isInteger;
|
|
514
521
|
if (requiredExternal) {
|
|
515
|
-
startValue_1 = ""
|
|
516
|
-
endValue_1 = ""
|
|
522
|
+
startValue_1 = "".concat(externalParams[startValue_1]);
|
|
523
|
+
endValue_1 = "".concat(externalParams[endValue_1]);
|
|
517
524
|
}
|
|
518
525
|
else {
|
|
519
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) {
|
|
526
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) {
|
|
520
527
|
return startValue_1.includes(cnst);
|
|
521
528
|
})) {
|
|
522
529
|
startValue_1 = getValueOfProjectConstant(startValue_1, currentUser);
|
|
@@ -524,7 +531,7 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
524
531
|
else {
|
|
525
532
|
startValue_1 = constants.filter(function (constant) { return constant.name == startValue_1; });
|
|
526
533
|
}
|
|
527
|
-
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
534
|
+
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
528
535
|
endValue_1 = getValueOfProjectConstant(endValue_1, currentUser);
|
|
529
536
|
}
|
|
530
537
|
else {
|
|
@@ -541,10 +548,10 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
541
548
|
//TODO: Need to figure out the params should be treated as number/string
|
|
542
549
|
if (!isNaN(startValue_1)) {
|
|
543
550
|
console.log("I am Number");
|
|
544
|
-
return startValue_1
|
|
551
|
+
return "".concat(startValue_1, "---").concat(endValue_1, "^");
|
|
545
552
|
}
|
|
546
553
|
else
|
|
547
|
-
return startValue_1
|
|
554
|
+
return "".concat(startValue_1, "---").concat(endValue_1);
|
|
548
555
|
}
|
|
549
556
|
if (value.includes(drapcode_constant_1.CURRENT_USER)) {
|
|
550
557
|
if (value === drapcode_constant_1.CURRENT_USER) {
|
|
@@ -582,11 +589,11 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
582
589
|
//TODO: This is just to confirm if external then it should be get from externalParams
|
|
583
590
|
if (requiredExternal) {
|
|
584
591
|
//TODO: Value returns from here undefined.
|
|
585
|
-
var externalParamValue = externalParams[""
|
|
592
|
+
var externalParamValue = externalParams["".concat(value)];
|
|
586
593
|
if (!isNaN(externalParamValue)) {
|
|
587
594
|
return +externalParamValue;
|
|
588
595
|
}
|
|
589
|
-
return externalParams[""
|
|
596
|
+
return externalParams["".concat(value)];
|
|
590
597
|
}
|
|
591
598
|
var constantArr = constants.filter(function (constant) { return constant.name == value; });
|
|
592
599
|
return constantArr.length ? "" + constantArr[0].value : "";
|
|
@@ -613,9 +620,9 @@ var getValueOfProjectConstant = function (value, currentUser) {
|
|
|
613
620
|
if (value === drapcode_constant_1.CURRENT_USER)
|
|
614
621
|
return currentUser["uuid"];
|
|
615
622
|
if (value === drapcode_constant_1.CURRENT_DATE)
|
|
616
|
-
return date_util_1.createLoggerDateFormat();
|
|
623
|
+
return (0, date_util_1.createLoggerDateFormat)();
|
|
617
624
|
if ([drapcode_constant_1.CURRENT_TIME, drapcode_constant_1.CURRENT_DATE_TIME].includes(value))
|
|
618
|
-
return date_util_1.createLogsDateFormat();
|
|
625
|
+
return (0, date_util_1.createLogsDateFormat)();
|
|
619
626
|
if (drapcode_constant_1.DateTimeUnit.some(function (cnst) { return value.includes(cnst); }))
|
|
620
|
-
return date_util_1.getDateValue(value);
|
|
627
|
+
return (0, date_util_1.getDateValue)(value);
|
|
621
628
|
};
|