drapcode-utility 1.9.6 → 1.9.78
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/utility.d.ts +1 -2
- package/build/encryption/utility.js +4 -39
- package/build/format-fields/index.js +1 -1
- package/build/index.d.ts +3 -1
- package/build/index.js +3 -1
- package/build/utils/check-error.js +7 -7
- package/build/utils/common-util.d.ts +78 -0
- package/build/utils/common-util.js +219 -0
- package/build/utils/date-util.js +0 -13
- package/build/utils/file-util.d.ts +7 -0
- package/build/utils/file-util.js +118 -0
- package/build/utils/prepare-query.d.ts +0 -148
- package/build/utils/prepare-query.js +1 -100
- package/build/utils/project-util.d.ts +1 -0
- package/build/utils/project-util.js +31 -49
- package/build/utils/{query-paser-new.js → query-parser-new.js} +24 -174
- package/build/utils/query-parser.d.ts +0 -12
- package/build/utils/query-parser.js +16 -280
- package/build/utils/query-utils.d.ts +20 -0
- package/build/utils/query-utils.js +254 -0
- package/build/utils/rest-client.d.ts +6 -0
- package/build/utils/rest-client.js +342 -0
- package/build/utils/util.d.ts +77 -3
- package/build/utils/util.js +511 -32
- package/package.json +10 -5
- /package/build/utils/{query-paser-new.d.ts → query-parser-new.d.ts} +0 -0
|
@@ -48,12 +48,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
48
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
49
|
};
|
|
50
50
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
exports.
|
|
51
|
+
exports.isEntityInCondition = exports.queryParser = void 0;
|
|
52
52
|
var moment_1 = __importDefault(require("moment"));
|
|
53
53
|
var drapcode_constant_1 = require("drapcode-constant");
|
|
54
54
|
var date_util_1 = require("./date-util");
|
|
55
55
|
var util_1 = require("./util");
|
|
56
56
|
var prepare_query_1 = require("./prepare-query");
|
|
57
|
+
var query_utils_1 = require("./query-utils");
|
|
57
58
|
var queryParser = function (collectionName, query, constants, externalParams, currentUser, timezone, searchObj, refCollectionFieldsInItems, searchQueryTypeObj, currentTenant, currentUserSetting, currentSubTenant, lookupConfig, rowLevelSecurityFilter) {
|
|
58
59
|
if (currentUser === void 0) { currentUser = {}; }
|
|
59
60
|
if (searchObj === void 0) { searchObj = null; }
|
|
@@ -99,7 +100,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
99
100
|
(filterQuery[0].$and && filterQuery[0].$and.length))) {
|
|
100
101
|
searchQueryObj = null;
|
|
101
102
|
if (searchObj) {
|
|
102
|
-
_a = getSearchObjQuery(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _a.searchAggregateQuery, likeQuery = _a.likeQuery;
|
|
103
|
+
_a = (0, query_utils_1.getSearchObjQuery)(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _a.searchAggregateQuery, likeQuery = _a.likeQuery;
|
|
103
104
|
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery, true), searchAggregateQuery, true);
|
|
104
105
|
console.log("likeQuery after getSearchObjQuery", JSON.stringify(likeQuery));
|
|
105
106
|
if (likeQuery && likeQuery.length > 0) {
|
|
@@ -139,7 +140,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
139
140
|
}
|
|
140
141
|
else if (searchObj) {
|
|
141
142
|
console.log("I donot have filter query");
|
|
142
|
-
_b = getSearchObjQuery(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _b.searchAggregateQuery, likeQuery = _b.likeQuery;
|
|
143
|
+
_b = (0, query_utils_1.getSearchObjQuery)(searchObj, searchQueryTypeObj, timezone), searchAggregateQuery = _b.searchAggregateQuery, likeQuery = _b.likeQuery;
|
|
143
144
|
aggregateQuery = __spreadArray(__spreadArray([], aggregateQuery, true), searchAggregateQuery, true);
|
|
144
145
|
if (likeQuery.length) {
|
|
145
146
|
aggregateQuery.push({ $match: { $and: likeQuery } });
|
|
@@ -148,7 +149,7 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
148
149
|
console.log("aggregateQuery", JSON.stringify(aggregateQuery));
|
|
149
150
|
console.log("==> query", query);
|
|
150
151
|
console.log("lookupConfig", lookupConfig);
|
|
151
|
-
projection = mongoSelectQuery(query);
|
|
152
|
+
projection = (0, query_utils_1.mongoSelectQuery)(query);
|
|
152
153
|
finder = query.finder, sortBy = query.sortBy, orderBy = query.orderBy;
|
|
153
154
|
if (!(finder != "COUNT" && refCollectionFieldsInItems)) return [3 /*break*/, 2];
|
|
154
155
|
return [4 /*yield*/, Promise.all(refCollectionFieldsInItems.map(function (field) {
|
|
@@ -190,20 +191,6 @@ var queryParser = function (collectionName, query, constants, externalParams, cu
|
|
|
190
191
|
});
|
|
191
192
|
};
|
|
192
193
|
exports.queryParser = queryParser;
|
|
193
|
-
var toBoolean = function (value) {
|
|
194
|
-
if (!value) {
|
|
195
|
-
return false;
|
|
196
|
-
}
|
|
197
|
-
switch (value.toLocaleLowerCase()) {
|
|
198
|
-
case "true":
|
|
199
|
-
case "1":
|
|
200
|
-
case "on":
|
|
201
|
-
case "yes":
|
|
202
|
-
return true;
|
|
203
|
-
default:
|
|
204
|
-
return false;
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
194
|
var mongoFilterQuery = function (query, externalParams, constants, currentUser, currentTenant, currentUserSetting, currentSubTenant, timezone) {
|
|
208
195
|
if (currentUser === void 0) { currentUser = {}; }
|
|
209
196
|
if (currentTenant === void 0) { currentTenant = {}; }
|
|
@@ -242,49 +229,7 @@ var mongoFilterQuery = function (query, externalParams, constants, currentUser,
|
|
|
242
229
|
});
|
|
243
230
|
console.log("==> *** filterQuery mongoFilterQuery :>> ", filterQuery);
|
|
244
231
|
var hasAndQueryConjunction = queryConjunctions.includes("AND");
|
|
245
|
-
|
|
246
|
-
console.log("=>> resultQuery :>> ", resultQuery);
|
|
247
|
-
console.log("=>> JSON.stringify(resultQuery) :>> ", JSON.stringify(resultQuery));
|
|
248
|
-
return resultQuery;
|
|
249
|
-
};
|
|
250
|
-
var mongoSelectQuery = function (query) {
|
|
251
|
-
if (query === void 0) { query = {}; }
|
|
252
|
-
var projection = {};
|
|
253
|
-
var fieldsInclude = query.fieldsInclude, fieldsExclude = query.fieldsExclude, finder = query.finder;
|
|
254
|
-
if (!fieldsExclude)
|
|
255
|
-
fieldsExclude = [];
|
|
256
|
-
if (fieldsInclude[0] === "*") {
|
|
257
|
-
fieldsExclude.map(function (field) {
|
|
258
|
-
if (field)
|
|
259
|
-
return (projection["".concat(field)] = 0);
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
if (["FIND_ALL", "FIND"].includes(finder))
|
|
264
|
-
fieldsInclude = (0, util_1.processFieldsInlcude)(fieldsInclude);
|
|
265
|
-
fieldsInclude.map(function (field) {
|
|
266
|
-
if (field)
|
|
267
|
-
return (projection["".concat(field)] = 1);
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
return projection;
|
|
271
|
-
};
|
|
272
|
-
var modifyQuery = function (obj, hasAndQueryConjunction) {
|
|
273
|
-
if (obj === void 0) { obj = {}; }
|
|
274
|
-
if (hasAndQueryConjunction === void 0) { hasAndQueryConjunction = false; }
|
|
275
|
-
var arr = [];
|
|
276
|
-
console.log("🚀 ~ file: query-parser.ts:294 ~ modifyQuery ~ hasAndQueryConjunction:", hasAndQueryConjunction);
|
|
277
|
-
Object.entries(obj).forEach(function (_a) {
|
|
278
|
-
var key = _a[0], value = _a[1];
|
|
279
|
-
if (hasAndQueryConjunction) {
|
|
280
|
-
arr.push({ $and: value });
|
|
281
|
-
}
|
|
282
|
-
else {
|
|
283
|
-
arr.push({ $or: value });
|
|
284
|
-
}
|
|
285
|
-
});
|
|
286
|
-
console.log("🚀 ~ file: query-parser.ts:303 ~ Object.entries ~ arr:", arr);
|
|
287
|
-
return arr;
|
|
232
|
+
return (0, query_utils_1.modifyQuery)(filterQuery, hasAndQueryConjunction);
|
|
288
233
|
};
|
|
289
234
|
var queryToMongo = function (query, requiredExternal, externalParams, constants, currentUser, currentTenant, currentUserSetting, currentSubTenant, timezone) {
|
|
290
235
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13;
|
|
@@ -309,17 +254,12 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
309
254
|
fieldValue = "random_string_since_field_not_present_".concat((0, moment_1.default)(1318874398806).valueOf());
|
|
310
255
|
}
|
|
311
256
|
console.log("fieldValue queryToMongo 1", fieldValue);
|
|
312
|
-
var isDate = checkDate(fieldValue);
|
|
257
|
+
var isDate = (0, query_utils_1.checkDate)(fieldValue);
|
|
313
258
|
console.log("isDate queryToMongo 2", isDate);
|
|
314
259
|
// Todo: Remove if it's working properly
|
|
315
260
|
// if (isDate) fieldValue = new Date(fieldValue);
|
|
316
261
|
console.log("fieldValue queryToMongo 1", fieldValue);
|
|
317
|
-
var condition = [
|
|
318
|
-
drapcode_constant_1.FieldTypes.dynamic_option.id,
|
|
319
|
-
drapcode_constant_1.FieldTypes.reference.id,
|
|
320
|
-
drapcode_constant_1.FieldTypes.static_option.id,
|
|
321
|
-
drapcode_constant_1.FieldTypes.belongsTo.id,
|
|
322
|
-
].includes(fieldType);
|
|
262
|
+
var condition = __spreadArray(__spreadArray([], drapcode_constant_1.OptionTypeFields, true), drapcode_constant_1.BelongsToReferenceField, true).includes(fieldType);
|
|
323
263
|
if (condition && key === drapcode_constant_1.EQUALS && !isDate) {
|
|
324
264
|
if (!Array.isArray(fieldValue)) {
|
|
325
265
|
fieldValue = [fieldValue];
|
|
@@ -386,22 +326,6 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
386
326
|
$lt: (0, date_util_1.nextDayDate)(fieldValue),
|
|
387
327
|
},
|
|
388
328
|
_r;
|
|
389
|
-
// Todo: Remove this if works properly
|
|
390
|
-
// if (DateConstant.some((cnst) => value.includes(cnst))) {
|
|
391
|
-
// return {
|
|
392
|
-
// [field]: {
|
|
393
|
-
// $gte: fieldValue,
|
|
394
|
-
// },
|
|
395
|
-
// };
|
|
396
|
-
// } else {
|
|
397
|
-
// //TODO: Handle timezone here
|
|
398
|
-
// return {
|
|
399
|
-
// [field]: {
|
|
400
|
-
// $gte: fieldValue,
|
|
401
|
-
// $lt: new Date(nextDayDate(fieldValue)),
|
|
402
|
-
// },
|
|
403
|
-
// };
|
|
404
|
-
// }
|
|
405
329
|
}
|
|
406
330
|
if (key === drapcode_constant_1.EQUALS_OR_IGNORE && isDate) {
|
|
407
331
|
return !fieldValue.includes("random_string_since_field_not_present_1318874398806")
|
|
@@ -493,7 +417,7 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
493
417
|
},
|
|
494
418
|
_12;
|
|
495
419
|
if (key == drapcode_constant_1.BETWEEN) {
|
|
496
|
-
var _14 = (0,
|
|
420
|
+
var _14 = (0, query_utils_1.getMinMaxValue)(fieldValue), startValue = _14.startValue, endValue = _14.endValue, isInteger = _14.isInteger;
|
|
497
421
|
return _13 = {},
|
|
498
422
|
_13[field] = {
|
|
499
423
|
$gte: isInteger ? +startValue : startValue,
|
|
@@ -517,32 +441,14 @@ var isEntityInCondition = function (value) {
|
|
|
517
441
|
return isEntity;
|
|
518
442
|
};
|
|
519
443
|
exports.isEntityInCondition = isEntityInCondition;
|
|
520
|
-
// TODO: can be refactor with entity condition
|
|
521
|
-
var isFixedValueQuery = function (value) {
|
|
522
|
-
var isFixeValue = false;
|
|
523
|
-
if (value && Array.isArray(value)) {
|
|
524
|
-
value.forEach(function (val) {
|
|
525
|
-
if (typeof val === "string" || val instanceof String)
|
|
526
|
-
isFixeValue = val.startsWith("FIXED_VALUE::");
|
|
527
|
-
});
|
|
528
|
-
}
|
|
529
|
-
else {
|
|
530
|
-
if (value && (typeof value === "string" || value instanceof String))
|
|
531
|
-
isFixeValue = value.startsWith("FIXED_VALUE::");
|
|
532
|
-
}
|
|
533
|
-
return isFixeValue;
|
|
534
|
-
};
|
|
535
|
-
exports.isFixedValueQuery = isFixedValueQuery;
|
|
536
444
|
var replaceExternalParams = function (query, requiredExternal, externalParams, constants, currentUser, currentTenant, currentUserSetting, currentSubTenant, timezone) {
|
|
537
445
|
var key = query.key, value = query.value, fieldType = query.fieldType;
|
|
538
446
|
if (fieldType &&
|
|
539
447
|
!requiredExternal &&
|
|
540
|
-
[
|
|
541
|
-
//Todo: Remove if filter is working properly
|
|
542
|
-
// return value === CURRENT_USER ? currentUser["uuid"] : value;
|
|
448
|
+
__spreadArray(__spreadArray([], drapcode_constant_1.OptionTypeFields, true), drapcode_constant_1.BelongsToReferenceField, true).includes(fieldType)) {
|
|
543
449
|
var refCollection = query.refCollection, refField = query.refField;
|
|
544
450
|
var finalValue = "";
|
|
545
|
-
if (
|
|
451
|
+
if (drapcode_constant_1.OptionTypeFields.includes(fieldType)) {
|
|
546
452
|
if (!value) {
|
|
547
453
|
if (refCollection === drapcode_constant_1.CURRENT_USER) {
|
|
548
454
|
finalValue = currentUser[refField];
|
|
@@ -601,7 +507,7 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
601
507
|
return valueList_1;
|
|
602
508
|
}
|
|
603
509
|
if (key === drapcode_constant_1.BETWEEN) {
|
|
604
|
-
var _a = (0,
|
|
510
|
+
var _a = (0, query_utils_1.getMinMaxValue)(value), startValue_1 = _a.startValue, endValue_1 = _a.endValue, isFixedValue = _a.isFixedValue;
|
|
605
511
|
if (requiredExternal) {
|
|
606
512
|
startValue_1 = "".concat(externalParams[startValue_1]);
|
|
607
513
|
endValue_1 = "".concat(externalParams[endValue_1]);
|
|
@@ -610,26 +516,24 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
610
516
|
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) {
|
|
611
517
|
return startValue_1.includes(cnst);
|
|
612
518
|
})) {
|
|
613
|
-
startValue_1 = getValueOfProjectConstant(startValue_1, currentUser, timezone);
|
|
519
|
+
startValue_1 = (0, query_utils_1.getValueOfProjectConstant)(startValue_1, currentUser, timezone);
|
|
614
520
|
}
|
|
615
521
|
else if (!isFixedValue) {
|
|
616
522
|
startValue_1 = constants.filter(function (constant) { return constant.name == startValue_1; });
|
|
617
523
|
}
|
|
618
524
|
if (__spreadArray([drapcode_constant_1.CURRENT_USER], drapcode_constant_1.DateConstant, true).some(function (cnst) { return endValue_1.includes(cnst); })) {
|
|
619
|
-
endValue_1 = getValueOfProjectConstant(endValue_1, currentUser, timezone);
|
|
525
|
+
endValue_1 = (0, query_utils_1.getValueOfProjectConstant)(endValue_1, currentUser, timezone);
|
|
620
526
|
}
|
|
621
527
|
else if (!isFixedValue) {
|
|
622
528
|
endValue_1 = constants.filter(function (constant) { return constant.name == endValue_1; });
|
|
623
529
|
}
|
|
624
530
|
}
|
|
625
|
-
//TODO: Need to test constant from collection and when this below if will run
|
|
626
531
|
if (Array.isArray(startValue_1)) {
|
|
627
532
|
startValue_1 = startValue_1[0].value;
|
|
628
533
|
}
|
|
629
534
|
if (Array.isArray(endValue_1)) {
|
|
630
535
|
endValue_1 = endValue_1[0].value;
|
|
631
536
|
}
|
|
632
|
-
//TODO: Need to figure out the params should be treated as number/string
|
|
633
537
|
if (!isNaN(startValue_1)) {
|
|
634
538
|
return "".concat(startValue_1, "---").concat(endValue_1, "^");
|
|
635
539
|
}
|
|
@@ -652,13 +556,13 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
652
556
|
if (currentSubTenantValue)
|
|
653
557
|
return currentSubTenantValue;
|
|
654
558
|
if (drapcode_constant_1.DateConstant.some(function (cnst) { return value.includes(cnst); })) {
|
|
655
|
-
return getValueOfProjectConstant(value, {}, timezone);
|
|
559
|
+
return (0, query_utils_1.getValueOfProjectConstant)(value, {}, timezone);
|
|
656
560
|
}
|
|
657
561
|
if ((0, exports.isEntityInCondition)(value)) {
|
|
658
562
|
var key_1 = value.replace("ENTITY::", "");
|
|
659
563
|
return externalParams[key_1] ? externalParams[key_1] : "";
|
|
660
564
|
}
|
|
661
|
-
if ((0,
|
|
565
|
+
if ((0, query_utils_1.isFixedValueQuery)(value))
|
|
662
566
|
return value.replace("FIXED_VALUE::", "");
|
|
663
567
|
//TODO: This is just to confirm if external then it should be get from externalParams
|
|
664
568
|
if (requiredExternal) {
|
|
@@ -672,174 +576,6 @@ var replaceExternalParams = function (query, requiredExternal, externalParams, c
|
|
|
672
576
|
var constantArr = constants.filter(function (constant) { return constant.name == value; });
|
|
673
577
|
return constantArr.length ? "" + constantArr[0].value : "";
|
|
674
578
|
};
|
|
675
|
-
var checkDate = function (queryValue) {
|
|
676
|
-
return ("" + queryValue).match(date_util_1.DATE_REGEX);
|
|
677
|
-
};
|
|
678
|
-
var getMinMaxValue = function (value) {
|
|
679
|
-
var isFixedValue = (0, exports.isFixedValueQuery)(value);
|
|
680
|
-
if (isFixedValue)
|
|
681
|
-
value = value.replace("FIXED_VALUE::", "");
|
|
682
|
-
var isValid = value && value.includes("---");
|
|
683
|
-
if (isValid) {
|
|
684
|
-
var isInteger = value.includes("^");
|
|
685
|
-
var result = value.split("---");
|
|
686
|
-
var endValue = result[1];
|
|
687
|
-
if (isInteger && result.length)
|
|
688
|
-
endValue = endValue.slice(0, -1);
|
|
689
|
-
return { startValue: result[0], endValue: endValue, isInteger: isInteger, isFixedValue: isFixedValue };
|
|
690
|
-
}
|
|
691
|
-
else {
|
|
692
|
-
return { startValue: "", endValue: "", isFixedValue: isFixedValue };
|
|
693
|
-
}
|
|
694
|
-
};
|
|
695
|
-
exports.getMinMaxValue = getMinMaxValue;
|
|
696
|
-
var getValueOfProjectConstant = function (value, currentUser, timezone) {
|
|
697
|
-
if (!timezone)
|
|
698
|
-
timezone = "(GMT+5:30)";
|
|
699
|
-
timezone = timezone.substring(4, 10);
|
|
700
|
-
var result;
|
|
701
|
-
if (value === drapcode_constant_1.CURRENT_USER)
|
|
702
|
-
return currentUser["uuid"];
|
|
703
|
-
if (value === drapcode_constant_1.CURRENT_DATE)
|
|
704
|
-
result = (0, date_util_1.createLoggerDateFormat)(timezone);
|
|
705
|
-
if ([drapcode_constant_1.CURRENT_TIME, drapcode_constant_1.CURRENT_DATE_TIME].includes(value))
|
|
706
|
-
result = (0, date_util_1.createLogsDateFormat)(timezone);
|
|
707
|
-
if (drapcode_constant_1.DateTimeUnit.some(function (cnst) { return value.includes(cnst); }))
|
|
708
|
-
result = (0, date_util_1.getDateValue)(value, timezone);
|
|
709
|
-
return result;
|
|
710
|
-
};
|
|
711
|
-
var getSearchObjQuery = function (searchObj, searchQueryTypeObj, timezone) {
|
|
712
|
-
var searchAggregateQuery = [];
|
|
713
|
-
var likeQuery = [];
|
|
714
|
-
Object.entries(searchObj).forEach(function (_a) {
|
|
715
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
716
|
-
var key = _a[0], value = _a[1];
|
|
717
|
-
if (value) {
|
|
718
|
-
var searchQueryTypeKey = searchQueryTypeObj[key];
|
|
719
|
-
if (searchQueryTypeKey) {
|
|
720
|
-
if (searchQueryTypeKey === "boolean") {
|
|
721
|
-
// if input is string and db field type is boolean
|
|
722
|
-
searchAggregateQuery.push({
|
|
723
|
-
$addFields: (_b = {},
|
|
724
|
-
_b["_".concat(key)] = "$".concat(key),
|
|
725
|
-
_b),
|
|
726
|
-
});
|
|
727
|
-
likeQuery.push((_c = {},
|
|
728
|
-
_c["_".concat(key)] = toBoolean(value),
|
|
729
|
-
_c));
|
|
730
|
-
}
|
|
731
|
-
else if ([
|
|
732
|
-
drapcode_constant_1.FieldTypes.static_option.id,
|
|
733
|
-
drapcode_constant_1.FieldTypes.dynamic_option.id,
|
|
734
|
-
drapcode_constant_1.FieldTypes.reference.id,
|
|
735
|
-
drapcode_constant_1.FieldTypes.belongsTo.id,
|
|
736
|
-
].includes(searchQueryTypeKey)) {
|
|
737
|
-
// if input is string and db field type is array
|
|
738
|
-
searchAggregateQuery.push({
|
|
739
|
-
$addFields: (_d = {},
|
|
740
|
-
_d["_".concat(key)] = "$".concat(key),
|
|
741
|
-
_d),
|
|
742
|
-
});
|
|
743
|
-
likeQuery.push((_e = {},
|
|
744
|
-
_e["_".concat(key)] = { $all: [value] },
|
|
745
|
-
_e));
|
|
746
|
-
}
|
|
747
|
-
else if (searchQueryTypeKey === "tel") {
|
|
748
|
-
// handling value when db field type is tel
|
|
749
|
-
searchAggregateQuery.push({
|
|
750
|
-
$addFields: (_f = {},
|
|
751
|
-
_f["_".concat(key)] = { $toString: "$".concat(key) },
|
|
752
|
-
_f),
|
|
753
|
-
});
|
|
754
|
-
likeQuery.push((_g = {},
|
|
755
|
-
_g["_".concat(key)] = {
|
|
756
|
-
$regex: value.startsWith("+") ? value.replace("+", "") : value,
|
|
757
|
-
$options: "i",
|
|
758
|
-
},
|
|
759
|
-
_g));
|
|
760
|
-
}
|
|
761
|
-
else if (searchQueryTypeKey === "number") {
|
|
762
|
-
if (key.startsWith("min_") || key.startsWith("max_")) {
|
|
763
|
-
var fieldKey = key.replace("min_", "");
|
|
764
|
-
fieldKey = fieldKey.replace("max_", "");
|
|
765
|
-
var numericValue = Number(value);
|
|
766
|
-
if (key.startsWith("min_")) {
|
|
767
|
-
likeQuery.push((_h = {}, _h["".concat(fieldKey)] = { $gte: numericValue }, _h));
|
|
768
|
-
}
|
|
769
|
-
else if (key.startsWith("max_")) {
|
|
770
|
-
likeQuery.push((_j = {}, _j["".concat(fieldKey)] = { $lte: numericValue }, _j));
|
|
771
|
-
}
|
|
772
|
-
}
|
|
773
|
-
else {
|
|
774
|
-
// handling value when db field type is Double/Int
|
|
775
|
-
searchAggregateQuery.push({
|
|
776
|
-
$addFields: (_k = {},
|
|
777
|
-
_k["_".concat(key)] = { $toString: { $toLong: "$".concat(key) } },
|
|
778
|
-
_k),
|
|
779
|
-
});
|
|
780
|
-
likeQuery.push((_l = {},
|
|
781
|
-
_l["_".concat(key)] = {
|
|
782
|
-
$regex: value,
|
|
783
|
-
$options: "i",
|
|
784
|
-
},
|
|
785
|
-
_l));
|
|
786
|
-
}
|
|
787
|
-
}
|
|
788
|
-
else if (__spreadArray(__spreadArray([drapcode_constant_1.FieldTypes.date.id], drapcode_constant_1.systemDateField, true), [drapcode_constant_1.FieldTypes.time_slot.id], false).includes(searchQueryTypeKey)) {
|
|
789
|
-
if (key.startsWith("start_") || key.startsWith("end_")) {
|
|
790
|
-
var fieldKey = key.replace("start_", "");
|
|
791
|
-
fieldKey = fieldKey.replace("end_", "");
|
|
792
|
-
searchAggregateQuery.push({
|
|
793
|
-
$addFields: (_m = {},
|
|
794
|
-
_m["_".concat(key)] = { $toString: "$".concat(fieldKey) },
|
|
795
|
-
_m),
|
|
796
|
-
});
|
|
797
|
-
if (key.startsWith("start_")) {
|
|
798
|
-
likeQuery.push((_o = {},
|
|
799
|
-
_o["_".concat(key)] = {
|
|
800
|
-
$gte: (0, date_util_1.timezoneDateParse)(value, true, true),
|
|
801
|
-
},
|
|
802
|
-
_o));
|
|
803
|
-
}
|
|
804
|
-
else if (key.startsWith("end_")) {
|
|
805
|
-
likeQuery.push((_p = {},
|
|
806
|
-
_p["_".concat(key)] = {
|
|
807
|
-
$lt: (0, date_util_1.timezoneDateParse)(value, true),
|
|
808
|
-
},
|
|
809
|
-
_p));
|
|
810
|
-
}
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
else {
|
|
814
|
-
// if input is string and db field type is number
|
|
815
|
-
// converting db field to string first
|
|
816
|
-
searchAggregateQuery.push({
|
|
817
|
-
$addFields: (_q = {},
|
|
818
|
-
_q["_".concat(key)] = { $toString: "$".concat(key) },
|
|
819
|
-
_q),
|
|
820
|
-
});
|
|
821
|
-
likeQuery.push((_r = {},
|
|
822
|
-
_r["_".concat(key)] = {
|
|
823
|
-
$regex: value,
|
|
824
|
-
$options: "i",
|
|
825
|
-
},
|
|
826
|
-
_r));
|
|
827
|
-
}
|
|
828
|
-
}
|
|
829
|
-
else {
|
|
830
|
-
likeQuery.push((_s = {},
|
|
831
|
-
_s[key] = {
|
|
832
|
-
$regex: value,
|
|
833
|
-
$options: "i",
|
|
834
|
-
},
|
|
835
|
-
_s));
|
|
836
|
-
}
|
|
837
|
-
}
|
|
838
|
-
});
|
|
839
|
-
console.log("==> searchAggregateQuery", JSON.stringify(searchAggregateQuery));
|
|
840
|
-
console.log("==> likeQuery", JSON.stringify(likeQuery));
|
|
841
|
-
return { searchAggregateQuery: searchAggregateQuery, likeQuery: likeQuery };
|
|
842
|
-
};
|
|
843
579
|
var getCurrentDataValueFrom = function (value, constantName, data, isMultiRef) {
|
|
844
580
|
if (isMultiRef === void 0) { isMultiRef = false; }
|
|
845
581
|
if (value.includes(constantName)) {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const getSearchObjQuery: (searchObj: any, searchQueryTypeObj: any, timezone: string) => {
|
|
2
|
+
searchAggregateQuery: any;
|
|
3
|
+
likeQuery: any;
|
|
4
|
+
};
|
|
5
|
+
export declare const mongoSelectQuery: (query?: any) => any;
|
|
6
|
+
export declare const modifyQuery: (obj?: {}, hasAndQueryConjunction?: boolean) => any[];
|
|
7
|
+
export declare const checkDate: (queryValue: string) => RegExpMatchArray | null;
|
|
8
|
+
export declare const getMinMaxValue: (value: any) => {
|
|
9
|
+
startValue: any;
|
|
10
|
+
endValue: any;
|
|
11
|
+
isInteger: any;
|
|
12
|
+
isFixedValue: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
startValue: string;
|
|
15
|
+
endValue: string;
|
|
16
|
+
isFixedValue: boolean;
|
|
17
|
+
isInteger?: undefined;
|
|
18
|
+
};
|
|
19
|
+
export declare const isFixedValueQuery: (value: any) => boolean;
|
|
20
|
+
export declare const getValueOfProjectConstant: (value: any, currentUser: any, timezone: string) => any;
|