@mixd-id/web-scaffold 0.1.230406287 → 0.1.230406288
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/package.json +1 -1
- package/src/utils/preset-selector.js +44 -10
package/package.json
CHANGED
|
@@ -22,17 +22,39 @@ const getValue = (filter, opt) => {
|
|
|
22
22
|
break
|
|
23
23
|
|
|
24
24
|
case 'number':
|
|
25
|
+
case 'currency':
|
|
25
26
|
switch(operator) {
|
|
26
27
|
case '=':
|
|
27
28
|
withoutKey ? whereObj = { [Op.eq]:filter.value } : whereObj[key] = filter.value
|
|
28
29
|
break
|
|
29
30
|
|
|
30
31
|
case '>':
|
|
32
|
+
withoutKey ?
|
|
33
|
+
whereObj = { [Op.gt]:filter.value } :
|
|
34
|
+
whereObj[key] = {
|
|
35
|
+
[Op[operator]]: filter.value
|
|
36
|
+
}
|
|
37
|
+
break
|
|
38
|
+
|
|
31
39
|
case '>=':
|
|
40
|
+
withoutKey ?
|
|
41
|
+
whereObj = { [Op.gte]:filter.value } :
|
|
42
|
+
whereObj[key] = {
|
|
43
|
+
[Op[operator]]: filter.value
|
|
44
|
+
}
|
|
45
|
+
break
|
|
46
|
+
|
|
32
47
|
case '<':
|
|
48
|
+
withoutKey ?
|
|
49
|
+
whereObj = { [Op.lt]:filter.value } :
|
|
50
|
+
whereObj[key] = {
|
|
51
|
+
[Op[operator]]: filter.value
|
|
52
|
+
}
|
|
53
|
+
break
|
|
54
|
+
|
|
33
55
|
case '<=':
|
|
34
56
|
withoutKey ?
|
|
35
|
-
whereObj = { [Op
|
|
57
|
+
whereObj = { [Op.lte]:filter.value } :
|
|
36
58
|
whereObj[key] = {
|
|
37
59
|
[Op[operator]]: filter.value
|
|
38
60
|
}
|
|
@@ -40,11 +62,11 @@ const getValue = (filter, opt) => {
|
|
|
40
62
|
|
|
41
63
|
case 'in':
|
|
42
64
|
withoutKey ?
|
|
43
|
-
whereObj = { [Op.in]: filter.value.split(',')
|
|
65
|
+
whereObj = { [Op.in]: (!Array.isArray(filter.value) ? filter.value.split(',') : filter.value)
|
|
44
66
|
.map(_ => parseInt(_))
|
|
45
67
|
.filter(_ => !isNaN(_)) } :
|
|
46
68
|
whereObj[key] = {
|
|
47
|
-
[Op.in]: filter.value.split(',')
|
|
69
|
+
[Op.in]: (!Array.isArray(filter.value) ? filter.value.split(',') : filter.value)
|
|
48
70
|
.map(_ => parseInt(_))
|
|
49
71
|
.filter(_ => !isNaN(_))
|
|
50
72
|
}
|
|
@@ -321,13 +343,11 @@ const getValue = (filter, opt) => {
|
|
|
321
343
|
withoutKey ?
|
|
322
344
|
whereObj = {
|
|
323
345
|
[Op.in]: (!Array.isArray(filter.value) ? filter.value.split(',') : filter.value)
|
|
324
|
-
.
|
|
325
|
-
.filter(_ => !isNaN(_))
|
|
346
|
+
.filter(_ => _)
|
|
326
347
|
} :
|
|
327
348
|
whereObj[key] = {
|
|
328
349
|
[Op.in]: (!Array.isArray(filter.value) ? filter.value.split(',') : filter.value)
|
|
329
|
-
.
|
|
330
|
-
.filter(_ => !isNaN(_))
|
|
350
|
+
.filter(_ => _)
|
|
331
351
|
}
|
|
332
352
|
break
|
|
333
353
|
|
|
@@ -358,6 +378,8 @@ const getValue = (filter, opt) => {
|
|
|
358
378
|
break
|
|
359
379
|
}
|
|
360
380
|
|
|
381
|
+
//console.log('getValue', type, util.inspect({ filter, whereObj }, false, null, true /* enable colors */))
|
|
382
|
+
|
|
361
383
|
return whereObj
|
|
362
384
|
}
|
|
363
385
|
|
|
@@ -867,7 +889,7 @@ const filtersToSequelizeInclude = async(filters, opt, includes) => {
|
|
|
867
889
|
}
|
|
868
890
|
}
|
|
869
891
|
}
|
|
870
|
-
//console.log('whereObj', whereObj)
|
|
892
|
+
//console.log('whereObj', util.inspect(whereObj, false, null, true /* enable colors */))
|
|
871
893
|
|
|
872
894
|
// Apply where to includes
|
|
873
895
|
for(let key in whereObj){
|
|
@@ -895,7 +917,8 @@ const filtersToSequelizeInclude = async(filters, opt, includes) => {
|
|
|
895
917
|
include.where[Op.and].push({ [currentKey]: whereObj[key] })
|
|
896
918
|
}
|
|
897
919
|
|
|
898
|
-
//console.log('includes', includes)
|
|
920
|
+
//console.log('includes', util.inspect(includes, false, null, true /* enable colors */))
|
|
921
|
+
|
|
899
922
|
return includes
|
|
900
923
|
}
|
|
901
924
|
|
|
@@ -916,7 +939,13 @@ const syntaxSearchToSequelizeOpt = async(search, opt) => {
|
|
|
916
939
|
}
|
|
917
940
|
|
|
918
941
|
const presetToSequelizeList = async(preset, {
|
|
919
|
-
conn,
|
|
942
|
+
conn,
|
|
943
|
+
model,
|
|
944
|
+
config,
|
|
945
|
+
where:initialWhere,
|
|
946
|
+
replacements: initialReplacements,
|
|
947
|
+
include,
|
|
948
|
+
order:initialOrder
|
|
920
949
|
}) => {
|
|
921
950
|
|
|
922
951
|
if(!initialOrder){
|
|
@@ -965,6 +994,10 @@ const presetToSequelizeList = async(preset, {
|
|
|
965
994
|
}
|
|
966
995
|
}
|
|
967
996
|
|
|
997
|
+
if(include){
|
|
998
|
+
include = await filtersToSequelizeInclude(filters, config, include)
|
|
999
|
+
}
|
|
1000
|
+
|
|
968
1001
|
if(pivot && pivot.enabled){
|
|
969
1002
|
const { attributes, group, order } = await pivotToSequelizeWhere(pivot, {
|
|
970
1003
|
model,
|
|
@@ -1005,6 +1038,7 @@ const presetToSequelizeList = async(preset, {
|
|
|
1005
1038
|
},
|
|
1006
1039
|
limit: itemsPerPage,
|
|
1007
1040
|
order,
|
|
1041
|
+
include,
|
|
1008
1042
|
replacements: [
|
|
1009
1043
|
...(initialReplacements ?? []),
|
|
1010
1044
|
...replacements,
|