drapcode-utility 1.0.7 → 1.0.8
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.
|
@@ -26,7 +26,7 @@ var formatField = function (itemData, fields) {
|
|
|
26
26
|
return newItemData;
|
|
27
27
|
};
|
|
28
28
|
var getFormatFieldData = function (fieldData, fieldType) {
|
|
29
|
-
var createdAt = drapcode_constant_1.FieldTypes.createdAt, text = drapcode_constant_1.FieldTypes.text, large_text = drapcode_constant_1.FieldTypes.large_text, date = drapcode_constant_1.FieldTypes.date, password = drapcode_constant_1.FieldTypes.password, uuid = drapcode_constant_1.FieldTypes.uuid, custom_uuid = drapcode_constant_1.FieldTypes.custom_uuid, email = drapcode_constant_1.FieldTypes.email, url = drapcode_constant_1.FieldTypes.url, number = drapcode_constant_1.FieldTypes.number, unix_timestamp = drapcode_constant_1.FieldTypes.unix_timestamp, reference = drapcode_constant_1.FieldTypes.reference, belongsTo = drapcode_constant_1.FieldTypes.belongsTo, multi_reference = drapcode_constant_1.FieldTypes.multi_reference, dynamic_option = drapcode_constant_1.FieldTypes.dynamic_option, static_option = drapcode_constant_1.FieldTypes.static_option, boolean = drapcode_constant_1.FieldTypes.boolean, time_slot = drapcode_constant_1.FieldTypes.time_slot, slug = drapcode_constant_1.FieldTypes.slug;
|
|
29
|
+
var createdAt = drapcode_constant_1.FieldTypes.createdAt, text = drapcode_constant_1.FieldTypes.text, large_text = drapcode_constant_1.FieldTypes.large_text, date = drapcode_constant_1.FieldTypes.date, password = drapcode_constant_1.FieldTypes.password, uuid = drapcode_constant_1.FieldTypes.uuid, custom_uuid = drapcode_constant_1.FieldTypes.custom_uuid, email = drapcode_constant_1.FieldTypes.email, url = drapcode_constant_1.FieldTypes.url, number = drapcode_constant_1.FieldTypes.number, unix_timestamp = drapcode_constant_1.FieldTypes.unix_timestamp, reference = drapcode_constant_1.FieldTypes.reference, belongsTo = drapcode_constant_1.FieldTypes.belongsTo, multi_reference = drapcode_constant_1.FieldTypes.multi_reference, dynamic_option = drapcode_constant_1.FieldTypes.dynamic_option, static_option = drapcode_constant_1.FieldTypes.static_option, boolean = drapcode_constant_1.FieldTypes.boolean, time_slot = drapcode_constant_1.FieldTypes.time_slot, slug = drapcode_constant_1.FieldTypes.slug, json = drapcode_constant_1.FieldTypes.json;
|
|
30
30
|
var stringType = [
|
|
31
31
|
createdAt.id,
|
|
32
32
|
text.id,
|
|
@@ -38,7 +38,8 @@ var getFormatFieldData = function (fieldData, fieldType) {
|
|
|
38
38
|
email.id,
|
|
39
39
|
url.id,
|
|
40
40
|
time_slot.id,
|
|
41
|
-
slug.id
|
|
41
|
+
slug.id,
|
|
42
|
+
json.id,
|
|
42
43
|
];
|
|
43
44
|
var numberType = [number.id, unix_timestamp.id];
|
|
44
45
|
var arrayType = [
|
|
@@ -324,7 +324,7 @@ var modifyQuery = function (obj, hasAndQueryConjunction) {
|
|
|
324
324
|
return arr;
|
|
325
325
|
};
|
|
326
326
|
var queryToMongo = function (query, requiredExternal, externalParams, constants, currentUser, currentTenant, timezone) {
|
|
327
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
327
|
+
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;
|
|
328
328
|
if (currentUser === void 0) { currentUser = {}; }
|
|
329
329
|
if (currentTenant === void 0) { currentTenant = {}; }
|
|
330
330
|
var fieldValue = replaceExternalParams(query, requiredExternal, externalParams, constants, currentUser, currentTenant, timezone);
|
|
@@ -361,44 +361,49 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
361
361
|
return _b = {}, _b[field] = { $nin: fieldValue || [] }, _b;
|
|
362
362
|
}
|
|
363
363
|
if (condition && key === drapcode_constant_1.IS_NULL) {
|
|
364
|
-
return
|
|
364
|
+
return {
|
|
365
|
+
$or: [
|
|
366
|
+
(_c = {}, _c[field] = { $exists: false }, _c),
|
|
367
|
+
(_d = {}, _d[field] = { $type: "array", $eq: [] }, _d),
|
|
368
|
+
],
|
|
369
|
+
};
|
|
365
370
|
}
|
|
366
371
|
if (condition && key === drapcode_constant_1.IS_NOT_NULL) {
|
|
367
|
-
return
|
|
372
|
+
return _e = {}, _e[field] = { $exists: true, $type: "array", $ne: [] }, _e;
|
|
368
373
|
}
|
|
369
374
|
if (key === drapcode_constant_1.IS_NOT_NULL)
|
|
370
|
-
return
|
|
375
|
+
return _f = {}, _f[field] = { $nin: [null, ""] }, _f;
|
|
371
376
|
if (key === drapcode_constant_1.IS_NULL)
|
|
372
|
-
return
|
|
377
|
+
return _g = {}, _g[field] = { $in: [null, ""] }, _g;
|
|
373
378
|
if (key === drapcode_constant_1.LIKE)
|
|
374
|
-
return
|
|
379
|
+
return _h = {}, _h[field] = { $regex: fieldValue, $options: "i" }, _h;
|
|
375
380
|
if (key === drapcode_constant_1.GREATER_THAN_EQUALS_TO)
|
|
376
|
-
return
|
|
381
|
+
return _j = {}, _j[field] = { $gte: isDate ? fieldValue : +fieldValue }, _j;
|
|
377
382
|
if (key === drapcode_constant_1.LESS_THAN_EQUALS_TO)
|
|
378
|
-
return
|
|
383
|
+
return _k = {}, _k[field] = { $lte: isDate ? fieldValue : +fieldValue }, _k;
|
|
379
384
|
if (key === drapcode_constant_1.LESS_THAN)
|
|
380
|
-
return
|
|
385
|
+
return _l = {}, _l[field] = { $lt: isDate ? fieldValue : +fieldValue }, _l;
|
|
381
386
|
if (key === drapcode_constant_1.GREATER_THAN)
|
|
382
|
-
return
|
|
387
|
+
return _m = {}, _m[field] = { $gt: isDate ? fieldValue : +fieldValue }, _m;
|
|
383
388
|
if (key === drapcode_constant_1.IN_LIST) {
|
|
384
389
|
if (!Array.isArray(fieldValue)) {
|
|
385
390
|
fieldValue = [fieldValue];
|
|
386
391
|
}
|
|
387
|
-
return
|
|
392
|
+
return _o = {}, _o[field] = { $in: fieldValue || [] }, _o;
|
|
388
393
|
}
|
|
389
394
|
if (key === drapcode_constant_1.NOT_IN_LIST) {
|
|
390
395
|
if (!Array.isArray(fieldValue)) {
|
|
391
396
|
fieldValue = [fieldValue];
|
|
392
397
|
}
|
|
393
|
-
return
|
|
398
|
+
return _p = {}, _p[field] = { $nin: fieldValue || [] }, _p;
|
|
394
399
|
}
|
|
395
400
|
if (key === drapcode_constant_1.EQUALS && isDate) {
|
|
396
|
-
return
|
|
397
|
-
|
|
401
|
+
return _q = {},
|
|
402
|
+
_q[field] = {
|
|
398
403
|
$gte: fieldValue,
|
|
399
404
|
$lt: date_util_1.nextDayDate(fieldValue),
|
|
400
405
|
},
|
|
401
|
-
|
|
406
|
+
_q;
|
|
402
407
|
// Todo: Remove this if works properly
|
|
403
408
|
// if (DateConstant.some((cnst) => value.includes(cnst))) {
|
|
404
409
|
// return {
|
|
@@ -419,46 +424,46 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
419
424
|
if (key == drapcode_constant_1.EQUALS && field === "createdBy")
|
|
420
425
|
return {
|
|
421
426
|
$and: [
|
|
422
|
-
(
|
|
423
|
-
(
|
|
424
|
-
(
|
|
427
|
+
(_r = {}, _r[field] = { $ne: null }, _r),
|
|
428
|
+
(_s = {}, _s[field] = { $ne: "" }, _s),
|
|
429
|
+
(_t = {}, _t[field] = { $eq: fieldValue }, _t),
|
|
425
430
|
],
|
|
426
431
|
};
|
|
427
432
|
if (key == drapcode_constant_1.EQUALS && fieldType === "boolean" && fieldValue)
|
|
428
433
|
return JSON.parse(fieldValue)
|
|
429
|
-
? (
|
|
430
|
-
|
|
431
|
-
|
|
434
|
+
? (_u = {},
|
|
435
|
+
_u[field] = JSON.parse(fieldValue),
|
|
436
|
+
_u) : {
|
|
432
437
|
$or: [
|
|
433
|
-
(
|
|
434
|
-
(
|
|
438
|
+
(_v = {}, _v[field] = JSON.parse(fieldValue), _v),
|
|
439
|
+
(_w = {}, _w[field] = { $exists: false }, _w),
|
|
435
440
|
],
|
|
436
441
|
};
|
|
437
442
|
if (key == drapcode_constant_1.EQUALS) {
|
|
438
|
-
return
|
|
439
|
-
|
|
443
|
+
return _x = {},
|
|
444
|
+
_x[field] = fieldType === "boolean" && fieldValue
|
|
440
445
|
? JSON.parse(fieldValue)
|
|
441
446
|
: !isNaN(fieldValue)
|
|
442
447
|
? +fieldValue
|
|
443
448
|
: fieldValue,
|
|
444
|
-
|
|
449
|
+
_x;
|
|
445
450
|
}
|
|
446
451
|
if (key == drapcode_constant_1.NOT_EQUAL)
|
|
447
|
-
return
|
|
448
|
-
|
|
452
|
+
return _y = {},
|
|
453
|
+
_y[field] = {
|
|
449
454
|
$ne: fieldType === "boolean" && fieldValue
|
|
450
455
|
? JSON.parse(fieldValue)
|
|
451
456
|
: fieldValue,
|
|
452
457
|
},
|
|
453
|
-
|
|
458
|
+
_y;
|
|
454
459
|
if (key == drapcode_constant_1.BETWEEN) {
|
|
455
|
-
var
|
|
456
|
-
return
|
|
457
|
-
|
|
460
|
+
var _0 = exports.getMinMaxValue(fieldValue), startValue = _0.startValue, endValue = _0.endValue, isInteger = _0.isInteger;
|
|
461
|
+
return _z = {},
|
|
462
|
+
_z[field] = {
|
|
458
463
|
$gte: isInteger ? +startValue : startValue,
|
|
459
464
|
$lte: isInteger ? +endValue : endValue,
|
|
460
465
|
},
|
|
461
|
-
|
|
466
|
+
_z;
|
|
462
467
|
}
|
|
463
468
|
};
|
|
464
469
|
var isEntityInCondition = function (value) {
|
|
@@ -126,7 +126,12 @@ var queryParserNew = function (collectionName, query, constants, externalParams,
|
|
|
126
126
|
_c["_" + key] = toBoolean(value),
|
|
127
127
|
_c));
|
|
128
128
|
}
|
|
129
|
-
else if ([
|
|
129
|
+
else if ([
|
|
130
|
+
"static_option",
|
|
131
|
+
"dynamic_option",
|
|
132
|
+
"reference",
|
|
133
|
+
"belongsTo",
|
|
134
|
+
].includes(searchQueryTypeObj[key])) {
|
|
130
135
|
// if input is string and db field type is array
|
|
131
136
|
aggregateQuery.push({
|
|
132
137
|
$addFields: (_d = {},
|
|
@@ -422,7 +427,7 @@ var modifyQuery = function (obj, hasAndQueryConjunction) {
|
|
|
422
427
|
return arr;
|
|
423
428
|
};
|
|
424
429
|
var queryToMongo = function (query, requiredExternal, externalParams, constants, currentUser) {
|
|
425
|
-
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;
|
|
430
|
+
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;
|
|
426
431
|
if (currentUser === void 0) { currentUser = {}; }
|
|
427
432
|
var fieldValue = replaceExternalParams(query, requiredExternal, externalParams, constants, currentUser);
|
|
428
433
|
var isDate = checkDate(fieldValue);
|
|
@@ -443,94 +448,99 @@ var queryToMongo = function (query, requiredExternal, externalParams, constants,
|
|
|
443
448
|
return _b = {}, _b[field] = { $nin: fieldValue || [] }, _b;
|
|
444
449
|
}
|
|
445
450
|
if (condition && key === drapcode_constant_1.IS_NULL) {
|
|
446
|
-
return
|
|
451
|
+
return {
|
|
452
|
+
$or: [
|
|
453
|
+
(_c = {}, _c[field] = { $exists: false }, _c),
|
|
454
|
+
(_d = {}, _d[field] = { $type: "array", $eq: [] }, _d),
|
|
455
|
+
],
|
|
456
|
+
};
|
|
447
457
|
}
|
|
448
458
|
if (condition && key === drapcode_constant_1.IS_NOT_NULL) {
|
|
449
|
-
return
|
|
459
|
+
return _e = {}, _e[field] = { $exists: true, $type: "array", $ne: [] }, _e;
|
|
450
460
|
}
|
|
451
461
|
if (key === drapcode_constant_1.IS_NOT_NULL)
|
|
452
|
-
return
|
|
462
|
+
return _f = {}, _f[field] = { $nin: [null, ""] }, _f;
|
|
453
463
|
if (key === drapcode_constant_1.IS_NULL)
|
|
454
|
-
return
|
|
464
|
+
return _g = {}, _g[field] = { $in: [null, ""] }, _g;
|
|
455
465
|
if (key === drapcode_constant_1.LIKE)
|
|
456
|
-
return
|
|
466
|
+
return _h = {}, _h[field] = { $regex: fieldValue, $options: "i" }, _h;
|
|
457
467
|
if (key === drapcode_constant_1.GREATER_THAN_EQUALS_TO)
|
|
458
|
-
return
|
|
468
|
+
return _j = {}, _j[field] = { $gte: isDate ? fieldValue : +fieldValue }, _j;
|
|
459
469
|
if (key === drapcode_constant_1.LESS_THAN_EQUALS_TO)
|
|
460
|
-
return
|
|
470
|
+
return _k = {}, _k[field] = { $lte: isDate ? fieldValue : +fieldValue }, _k;
|
|
461
471
|
if (key === drapcode_constant_1.LESS_THAN)
|
|
462
|
-
return
|
|
472
|
+
return _l = {}, _l[field] = { $lt: isDate ? fieldValue : +fieldValue }, _l;
|
|
463
473
|
if (key === drapcode_constant_1.GREATER_THAN)
|
|
464
|
-
return
|
|
474
|
+
return _m = {}, _m[field] = { $gt: isDate ? fieldValue : +fieldValue }, _m;
|
|
465
475
|
if (key === drapcode_constant_1.IN_LIST) {
|
|
466
476
|
if (!Array.isArray(fieldValue)) {
|
|
467
477
|
fieldValue = [fieldValue];
|
|
468
478
|
}
|
|
469
|
-
return
|
|
479
|
+
return _o = {}, _o[field] = { $in: fieldValue || [] }, _o;
|
|
470
480
|
}
|
|
471
481
|
if (key === drapcode_constant_1.NOT_IN_LIST) {
|
|
472
482
|
if (!Array.isArray(fieldValue)) {
|
|
473
483
|
fieldValue = [fieldValue];
|
|
474
484
|
}
|
|
475
|
-
return
|
|
485
|
+
return _p = {}, _p[field] = { $nin: fieldValue || [] }, _p;
|
|
476
486
|
}
|
|
477
487
|
if (key === drapcode_constant_1.EQUALS && isDate) {
|
|
478
488
|
if (drapcode_constant_1.DateConstant.some(function (cnst) { return value.includes(cnst); }))
|
|
479
|
-
return
|
|
480
|
-
|
|
489
|
+
return _q = {},
|
|
490
|
+
_q[field] = {
|
|
481
491
|
$gte: fieldValue,
|
|
482
492
|
},
|
|
483
|
-
|
|
493
|
+
_q;
|
|
484
494
|
else
|
|
485
|
-
return
|
|
486
|
-
|
|
495
|
+
return _r = {},
|
|
496
|
+
_r[field] = {
|
|
487
497
|
$gte: fieldValue,
|
|
488
498
|
$lt: new Date(date_util_1.nextDayDate(fieldValue)),
|
|
489
499
|
},
|
|
490
|
-
|
|
500
|
+
_r;
|
|
491
501
|
}
|
|
492
502
|
if (key == drapcode_constant_1.EQUALS && field === "createdBy")
|
|
493
503
|
return {
|
|
494
504
|
$and: [
|
|
495
|
-
(
|
|
496
|
-
(
|
|
497
|
-
(
|
|
505
|
+
(_s = {}, _s[field] = { $ne: null }, _s),
|
|
506
|
+
(_t = {}, _t[field] = { $ne: "" }, _t),
|
|
507
|
+
(_u = {}, _u[field] = { $eq: fieldValue }, _u),
|
|
498
508
|
],
|
|
499
509
|
};
|
|
500
510
|
if (key == drapcode_constant_1.EQUALS && fieldType === "boolean" && fieldValue)
|
|
501
511
|
return JSON.parse(fieldValue)
|
|
502
|
-
? (
|
|
503
|
-
|
|
504
|
-
|
|
512
|
+
? (_v = {},
|
|
513
|
+
_v[field] = JSON.parse(fieldValue),
|
|
514
|
+
_v) : {
|
|
505
515
|
$or: [
|
|
506
|
-
(
|
|
507
|
-
(
|
|
516
|
+
(_w = {}, _w[field] = JSON.parse(fieldValue), _w),
|
|
517
|
+
(_x = {}, _x[field] = { $exists: false }, _x),
|
|
508
518
|
],
|
|
509
519
|
};
|
|
510
520
|
if (key == drapcode_constant_1.EQUALS)
|
|
511
|
-
return
|
|
512
|
-
|
|
521
|
+
return _y = {},
|
|
522
|
+
_y[field] = fieldType === "boolean" && fieldValue
|
|
513
523
|
? JSON.parse(fieldValue)
|
|
514
524
|
: !isNaN(fieldValue)
|
|
515
525
|
? +fieldValue
|
|
516
526
|
: fieldValue,
|
|
517
|
-
|
|
527
|
+
_y;
|
|
518
528
|
if (key == drapcode_constant_1.NOT_EQUAL)
|
|
519
|
-
return
|
|
520
|
-
|
|
529
|
+
return _z = {},
|
|
530
|
+
_z[field] = {
|
|
521
531
|
$ne: fieldType === "boolean" && fieldValue
|
|
522
532
|
? JSON.parse(fieldValue)
|
|
523
533
|
: fieldValue,
|
|
524
534
|
},
|
|
525
|
-
|
|
535
|
+
_z;
|
|
526
536
|
if (key == drapcode_constant_1.BETWEEN) {
|
|
527
|
-
var
|
|
528
|
-
return
|
|
529
|
-
|
|
537
|
+
var _1 = getMinMaxValue(fieldValue), startValue = _1.startValue, endValue = _1.endValue, isInteger = _1.isInteger;
|
|
538
|
+
return _0 = {},
|
|
539
|
+
_0[field] = {
|
|
530
540
|
$gte: isInteger ? +startValue : startValue,
|
|
531
541
|
$lte: isInteger ? +endValue : endValue,
|
|
532
542
|
},
|
|
533
|
-
|
|
543
|
+
_0;
|
|
534
544
|
}
|
|
535
545
|
};
|
|
536
546
|
var replaceExternalParams = function (query, requiredExternal, externalParams, constants, currentUser) {
|