prostgles-server 4.2.483 → 4.2.484
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/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +1 -0
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.js +3 -2
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts +1 -0
- package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.js +26 -13
- package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
- package/dist/DboBuilder/getCondition.d.ts +1 -0
- package/dist/DboBuilder/getCondition.d.ts.map +1 -1
- package/dist/DboBuilder/getCondition.js +10 -8
- package/dist/DboBuilder/getCondition.js.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/{Filtering.d.ts → Filtering/Filtering.d.ts} +5 -7
- package/dist/Filtering/Filtering.d.ts.map +1 -0
- package/dist/Filtering/Filtering.js +244 -0
- package/dist/Filtering/Filtering.js.map +1 -0
- package/dist/Filtering/getFilterItemCondition.d.ts +7 -0
- package/dist/Filtering/getFilterItemCondition.d.ts.map +1 -0
- package/dist/Filtering/getFilterItemCondition.js +186 -0
- package/dist/Filtering/getFilterItemCondition.js.map +1 -0
- package/dist/Filtering/parseFilterRightValue.d.ts +8 -0
- package/dist/Filtering/parseFilterRightValue.d.ts.map +1 -0
- package/dist/Filtering/parseFilterRightValue.js +23 -0
- package/dist/Filtering/parseFilterRightValue.js.map +1 -0
- package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +2 -5
- package/lib/DboBuilder/ViewHandler/prepareWhere.ts +30 -15
- package/lib/DboBuilder/getCondition.ts +15 -13
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +3 -1
- package/lib/Filtering/Filtering.ts +286 -0
- package/lib/Filtering/getFilterItemCondition.ts +205 -0
- package/lib/Filtering/parseFilterRightValue.ts +24 -0
- package/package.json +1 -1
- package/dist/Filtering.d.ts.map +0 -1
- package/dist/Filtering.js +0 -418
- package/dist/Filtering.js.map +0 -1
- package/lib/Filtering.ts +0 -468
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/ViewHandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/ViewHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseComplexFilter.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseComplexFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"parseComplexFilter.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseComplexFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAO5D,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,SAAS,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B,CAAC;AAWF,eAAO,MAAM,kBAAkB,GAAI,yEAMhC,IAAI,WA4EN,CAAC"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseComplexFilter = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const Filtering_1 = require("../../Filtering");
|
|
5
|
+
const Filtering_1 = require("../../Filtering/Filtering");
|
|
6
6
|
const Functions_1 = require("../QueryBuilder/Functions/Functions");
|
|
7
7
|
const QueryBuilder_1 = require("../QueryBuilder/QueryBuilder");
|
|
8
8
|
const PubSubManagerUtils_1 = require("../../PubSubManager/PubSubManagerUtils");
|
|
9
9
|
const parseFunction_1 = require("../QueryBuilder/Functions/parseFunction");
|
|
10
10
|
const asNameAlias_1 = require("../../utils/asNameAlias");
|
|
11
|
+
const parseFilterRightValue_1 = require("../../Filtering/parseFilterRightValue");
|
|
11
12
|
const allowedComparators = Filtering_1.FILTER_OPERANDS; //[">", "<", "=", "<=", ">=", "<>", "!="]
|
|
12
13
|
/* Parse complex filters
|
|
13
14
|
{
|
|
@@ -69,7 +70,7 @@ const parseComplexFilter = ({ filter, complexFilterKey, tableAliasRaw, allowed_c
|
|
|
69
70
|
}
|
|
70
71
|
let rightVal = (0, prostgles_types_1.isObject)(rightFilterOrValue) ?
|
|
71
72
|
getFuncQuery(rightFilterOrValue)
|
|
72
|
-
: (0,
|
|
73
|
+
: (0, parseFilterRightValue_1.parseFilterRightValue)(rightFilterOrValue, {
|
|
73
74
|
selectItem: undefined,
|
|
74
75
|
expect: ["$in", "$nin"].includes(comparator) ? "csv" : undefined,
|
|
75
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseComplexFilter.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseComplexFilter.ts"],"names":[],"mappings":";;;AACA,qDAA2C;AAC3C
|
|
1
|
+
{"version":3,"file":"parseComplexFilter.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseComplexFilter.ts"],"names":[],"mappings":";;;AACA,qDAA2C;AAC3C,yDAA2F;AAC3F,mEAAgE;AAChE,+DAAmE;AAEnE,+EAAiE;AACjE,2EAAwE;AACxE,yDAAsD;AACtD,iFAA8E;AAE9E,MAAM,kBAAkB,GAAG,2BAAe,CAAC,CAAC,yCAAyC;AASrF;;;;;;;;EAQE;AACK,MAAM,kBAAkB,GAAG,CAAC,EACjC,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,OAAO,GACF,EAAE,EAAE;IACT;;;OAGG;IACH,MAAM,YAAY,GAAG,CAAC,QAAmB,EAAU,EAAE;QACnD,IAAI,IAAA,0BAAQ,EAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,yDAAyD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5F,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,MAAM,iCAAiC,MAAM,sBAAsB,gBAAgB,EAAE,CAAC;YACxF,CAAC;YACD,OAAO,IAAA,yBAAW,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,kCAAmB,EAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC;YAC5B,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,SAAS,EAAE,qBAAS;YACpB,aAAa,EAAE,gBAAgB;SAChC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,QAAQ,CAAC;YACtB,IAAI;YACJ,aAAa;YACb,UAAU,EAAE,OAAO;YACnB,aAAa,EAAE,gBAAgB;SAChC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,uEAAuE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;IAChH,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,CAAC,GAAG,aAAa,CAAC;IAEnE,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAiB,CAAC,EAAE,CAAC;YACtF,MAAM,+BAA+B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,oCAAoC,kBAAkB,EAAE,CAAC;QAC1H,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,qEAAqE,CAAC;QAC9E,CAAC;QACD,MAAM,oBAAoB,GAAG,UAAwD,CAAC;QACtF,MAAM,UAAU,GAAG,yCAA6B,CAAC,oBAAoB,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,+BAA+B,UAAU,oCAAoC,kBAAkB,EAAE,CAAC;QAC1G,CAAC;QAED,IAAI,QAAQ,GACV,IAAA,0BAAQ,EAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5B,YAAY,CAAC,kBAAkB,CAAC;YAClC,CAAC,CAAC,IAAA,6CAAqB,EAAC,kBAAkB,EAAE;gBACxC,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjE,CAAC,CAAC;QACP,IAAI,oBAAoB,KAAK,UAAU,IAAI,oBAAoB,KAAK,aAAa,EAAE,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,+CAA+C,CAAC;YACxD,CAAC;YACD,QAAQ,GAAG,IAAA,4BAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAA,4BAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,CACJ,qEAAqE;gBACrE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAC3B,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlFW,QAAA,kBAAkB,sBAkF7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareWhere.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,CAAC,
|
|
1
|
+
{"version":3,"file":"prepareWhere.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC;IACT,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,CAAC,CAuGD"}
|
|
@@ -16,7 +16,7 @@ async function prepareWhere(params) {
|
|
|
16
16
|
throw "Invalid/missing group filter provided";
|
|
17
17
|
if (!(0, dist_1.isObject)(f))
|
|
18
18
|
throw "\nInvalid filter\nExpecting an object but got -> " + JSON.stringify(f);
|
|
19
|
-
|
|
19
|
+
const result = { condition: "", columnsUsed: [] };
|
|
20
20
|
const keys = (0, dist_1.getKeys)(f);
|
|
21
21
|
if (!keys.length) {
|
|
22
22
|
return result;
|
|
@@ -30,17 +30,19 @@ async function prepareWhere(params) {
|
|
|
30
30
|
const { [$and_key]: $and, [$or_key]: $or } = f, group = $and || $or;
|
|
31
31
|
if (group && group.length) {
|
|
32
32
|
const operand = $and ? " AND " : " OR ";
|
|
33
|
-
const
|
|
34
|
-
if (
|
|
33
|
+
const conditionItems = (await Promise.all(group.map(async (gf) => await parseFullFilter(gf, group, isForcedFilterBypass)))).filter((c) => c.condition);
|
|
34
|
+
if (conditionItems.length) {
|
|
35
|
+
const conditions = conditionItems.map((c) => c.condition);
|
|
36
|
+
const columnsUsed = conditionItems.map((c) => c.columnsUsed).flat();
|
|
35
37
|
if (conditions.length === 1)
|
|
36
|
-
return conditions.join(operand);
|
|
38
|
+
return { columnsUsed, condition: conditions.join(operand) };
|
|
37
39
|
else
|
|
38
|
-
return ` ( ${conditions.sort().join(operand)} )
|
|
40
|
+
return { columnsUsed, condition: ` ( ${conditions.sort().join(operand)} ) ` };
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
else if (!group) {
|
|
42
44
|
/** forcedFilters do not get checked against publish and are treated as server-side requests */
|
|
43
|
-
const
|
|
45
|
+
const { condition, exists, columnsUsed } = await getCondition_1.getCondition.bind(this)({
|
|
44
46
|
filter: { ...f },
|
|
45
47
|
select,
|
|
46
48
|
allowed_colnames: isForcedFilterBypass ? this.column_names.slice(0) : this.parseFieldFilter(filterFields),
|
|
@@ -49,24 +51,35 @@ async function prepareWhere(params) {
|
|
|
49
51
|
tableRules: isForcedFilterBypass ? undefined : tableRule,
|
|
50
52
|
isHaving: params.isHaving,
|
|
51
53
|
});
|
|
52
|
-
result =
|
|
53
|
-
|
|
54
|
+
result.condition = condition;
|
|
55
|
+
result.columnsUsed = columnsUsed;
|
|
56
|
+
exists.push(...exists);
|
|
54
57
|
}
|
|
55
58
|
return result;
|
|
56
59
|
};
|
|
57
60
|
/* A forced filter condition will not check if the existsJoined filter tables have been published */
|
|
58
61
|
const forcedFilterCond = forcedFilter ? await parseFullFilter(forcedFilter, null, true) : undefined;
|
|
59
62
|
const filterCond = await parseFullFilter(filter, null, false);
|
|
60
|
-
let
|
|
63
|
+
let combinedConditions = [forcedFilterCond, filterCond]
|
|
64
|
+
.map((c) => (c?.condition ? c.condition : undefined))
|
|
65
|
+
.filter(dist_1.isDefined)
|
|
66
|
+
.join(" AND ");
|
|
67
|
+
const combinedColumnsUsed = [...(forcedFilterCond?.columnsUsed ?? []), ...filterCond.columnsUsed];
|
|
61
68
|
const finalFilter = forcedFilter ?
|
|
62
69
|
{
|
|
63
70
|
[$and_key]: [forcedFilter, filter].filter(dist_1.isDefined),
|
|
64
71
|
}
|
|
65
72
|
: { ...filter };
|
|
66
|
-
const condition =
|
|
67
|
-
if (
|
|
68
|
-
|
|
73
|
+
const condition = combinedConditions;
|
|
74
|
+
if (combinedConditions && addKeywords) {
|
|
75
|
+
combinedConditions = `WHERE ${combinedConditions}`;
|
|
69
76
|
}
|
|
70
|
-
return {
|
|
77
|
+
return {
|
|
78
|
+
columnsUsed: combinedColumnsUsed,
|
|
79
|
+
condition,
|
|
80
|
+
where: combinedConditions || "",
|
|
81
|
+
filter: finalFilter,
|
|
82
|
+
exists,
|
|
83
|
+
};
|
|
71
84
|
}
|
|
72
85
|
//# sourceMappingURL=prepareWhere.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareWhere.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareWhere.ts"],"names":[],"mappings":";;AAoBA,
|
|
1
|
+
{"version":3,"file":"prepareWhere.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareWhere.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGlF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IACN,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC1C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGlF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IACN,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC1C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoNrF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCondition = getCondition;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const Filtering_1 = require("../Filtering");
|
|
5
|
+
const Filtering_1 = require("../Filtering/Filtering");
|
|
6
6
|
const DboBuilder_1 = require("./DboBuilder");
|
|
7
7
|
const Functions_1 = require("./QueryBuilder/Functions/Functions");
|
|
8
8
|
const getExistsCondition_1 = require("./ViewHandler/getExistsCondition");
|
|
@@ -121,14 +121,15 @@ async function getCondition(params) {
|
|
|
121
121
|
!funcFilter.find((ek) => ek.name === k) &&
|
|
122
122
|
!computedFields.find((cf) => cf.name === k) &&
|
|
123
123
|
!existsConfigs.find((ek) => ek.existType === k));
|
|
124
|
-
const
|
|
125
|
-
const invalidColumn = filterKeys.find((
|
|
126
|
-
(
|
|
127
|
-
(
|
|
124
|
+
const selectAliases = allowedSelect.map((s) => s.alias);
|
|
125
|
+
const invalidColumn = filterKeys.find((filterKey) => !selectAliases.find((alias) => alias === filterKey ||
|
|
126
|
+
(filterKey.startsWith(alias) &&
|
|
127
|
+
(filterKey.slice(alias.length).includes("->") ||
|
|
128
|
+
filterKey.slice(alias.length).includes(".")))));
|
|
128
129
|
if (invalidColumn) {
|
|
129
|
-
const
|
|
130
|
+
const selectItem = select?.find((s) => s.alias === invalidColumn);
|
|
130
131
|
let isComplexFilter = false;
|
|
131
|
-
if (
|
|
132
|
+
if (selectItem?.type === "aggregation") {
|
|
132
133
|
if (!params.isHaving) {
|
|
133
134
|
throw new Error(`Filtering by ${this.name}.${invalidColumn} is not allowed. Aggregations cannot be filtered. Use HAVING clause instead.`);
|
|
134
135
|
}
|
|
@@ -156,7 +157,7 @@ async function getCondition(params) {
|
|
|
156
157
|
this.column_names.slice(0)
|
|
157
158
|
: this.parseFieldFilter(tableRules.select?.filterFields ?? tableRules.select?.fields),
|
|
158
159
|
});
|
|
159
|
-
let templates = [q]
|
|
160
|
+
let templates = q?.condition ? [q.condition] : [];
|
|
160
161
|
if (existsCond)
|
|
161
162
|
templates.push(existsCond);
|
|
162
163
|
templates = templates.concat(funcConds);
|
|
@@ -164,6 +165,7 @@ async function getCondition(params) {
|
|
|
164
165
|
templates = templates.concat(complexFilters);
|
|
165
166
|
/* sorted to ensure duplicate subscription channels are not created due to different condition order */
|
|
166
167
|
return {
|
|
168
|
+
columnsUsed: q?.columnsUsed ?? [],
|
|
167
169
|
exists: existsConfigs,
|
|
168
170
|
condition: templates.sort().join(" AND \n"),
|
|
169
171
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCondition.js","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":";;AAoBA,
|
|
1
|
+
{"version":3,"file":"getCondition.js","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,gDAkGxC"}
|
|
@@ -48,7 +48,7 @@ async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
|
|
|
48
48
|
});
|
|
49
49
|
const relatedTableJoinPathItem = joinPath.at(-1);
|
|
50
50
|
const joinColumns = relatedTableJoinPathItem?.on.map((columnPair) => Object.values(columnPair)).flat() ?? [];
|
|
51
|
-
const trackedColumns = Array.from(new Set([...(selectedColumnNames ?? []), ...joinColumns]));
|
|
51
|
+
const trackedColumns = Array.from(new Set([...(selectedColumnNames ?? []), ...joinColumns, ...joinConditionInfo.columnsUsed]));
|
|
52
52
|
viewOptions.relatedTables.push({
|
|
53
53
|
tableName: relatedTableName,
|
|
54
54
|
tableNameEscaped: (0, prostgles_types_1.asName)(relatedTableName),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":";;AAsBA,
|
|
1
|
+
{"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FullFilter } from "prostgles-types";
|
|
2
|
-
import { type SelectItemValidated } from "
|
|
2
|
+
import { type SelectItemValidated } from "../DboBuilder/QueryBuilder/QueryBuilder";
|
|
3
3
|
export declare const FILTER_OPERANDS: readonly ["$ilike", "$like", "$nilike", "$nlike", ...("?" | "-" | "@>" | "<@" | "?|" | "?&" | "||" | "#-" | "@?" | "@@")[], "=", "$eq", "<>", ">", "<", ">=", "<=", "$eq", "$ne", "$gt", "$gte", "$lt", "$lte", "$isDistinctFrom", "$isNotDistinctFrom", "$between", "$notBetween", "$in", "$nin"];
|
|
4
4
|
export declare const FILTER_OPERAND_TO_SQL_OPERAND: Record<(typeof FILTER_OPERANDS)[number], string>;
|
|
5
5
|
/**
|
|
@@ -12,11 +12,9 @@ type ParseFilterItemArgs = {
|
|
|
12
12
|
tableAliasRaw: string | undefined;
|
|
13
13
|
allowedColumnNames: string[];
|
|
14
14
|
};
|
|
15
|
-
export declare const parseFilterItem: (args: ParseFilterItemArgs) =>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
export declare const parseFilterRightValue: (val: any, { expect, selectItem }: ParseRightValOpts) => string;
|
|
15
|
+
export declare const parseFilterItem: (args: ParseFilterItemArgs) => {
|
|
16
|
+
condition: string;
|
|
17
|
+
columnsUsed: string[];
|
|
18
|
+
} | undefined;
|
|
21
19
|
export {};
|
|
22
20
|
//# sourceMappingURL=Filtering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filtering.d.ts","sourceRoot":"","sources":["../../lib/Filtering/Filtering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAWlD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,eAAO,MAAM,eAAe,oSAMlB,CAAC;AAEX,eAAO,MAAM,6BAA6B,EAqBrC,MAAM,CAAC,CAAC,OAAO,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtD;;;GAGG;AACH,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3C,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC1C,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,mBAAmB,KACxB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SA0MjD,CAAC"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseFilterItem = exports.FILTER_OPERAND_TO_SQL_OPERAND = exports.FILTER_OPERANDS = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const DboBuilderTypes_1 = require("../DboBuilder/DboBuilderTypes");
|
|
6
|
+
const getFilterItemCondition_1 = require("./getFilterItemCondition");
|
|
7
|
+
exports.FILTER_OPERANDS = [
|
|
8
|
+
...prostgles_types_1.TextFilterKeys,
|
|
9
|
+
...prostgles_types_1.JsonbFilterKeys,
|
|
10
|
+
...prostgles_types_1.CompareFilterKeys,
|
|
11
|
+
...prostgles_types_1.BetweenFilterKeys,
|
|
12
|
+
...prostgles_types_1.CompareInFilterKeys,
|
|
13
|
+
];
|
|
14
|
+
exports.FILTER_OPERAND_TO_SQL_OPERAND = Object.fromEntries(exports.FILTER_OPERANDS.map((filterOperand) => {
|
|
15
|
+
let sqlOperand = filterOperand;
|
|
16
|
+
if (filterOperand === "$eq")
|
|
17
|
+
sqlOperand = "=";
|
|
18
|
+
else if (filterOperand === "$gt")
|
|
19
|
+
sqlOperand = ">";
|
|
20
|
+
else if (filterOperand === "$gte")
|
|
21
|
+
sqlOperand = ">=";
|
|
22
|
+
else if (filterOperand === "$lt")
|
|
23
|
+
sqlOperand = "<";
|
|
24
|
+
else if (filterOperand === "$lte")
|
|
25
|
+
sqlOperand = "<=";
|
|
26
|
+
else if (filterOperand === "$ne")
|
|
27
|
+
sqlOperand = "<>";
|
|
28
|
+
else if (filterOperand === "$like")
|
|
29
|
+
sqlOperand = "LIKE";
|
|
30
|
+
else if (filterOperand === "$ilike")
|
|
31
|
+
sqlOperand = "ILIKE";
|
|
32
|
+
else if (filterOperand === "$nlike")
|
|
33
|
+
sqlOperand = "NOT LIKE";
|
|
34
|
+
else if (filterOperand === "$nilike")
|
|
35
|
+
sqlOperand = "NOT ILIKE";
|
|
36
|
+
else if (filterOperand === "$in")
|
|
37
|
+
sqlOperand = "IN";
|
|
38
|
+
else if (filterOperand === "$nin")
|
|
39
|
+
sqlOperand = "NOT IN";
|
|
40
|
+
else if (filterOperand === "$between")
|
|
41
|
+
sqlOperand = "BETWEEN";
|
|
42
|
+
else if (filterOperand === "$notBetween")
|
|
43
|
+
sqlOperand = "NOT BETWEEN";
|
|
44
|
+
else if (filterOperand === "$isDistinctFrom")
|
|
45
|
+
sqlOperand = "IS DISTINCT FROM";
|
|
46
|
+
else if (filterOperand === "$isNotDistinctFrom")
|
|
47
|
+
sqlOperand = "IS NOT DISTINCT FROM";
|
|
48
|
+
return [filterOperand, sqlOperand];
|
|
49
|
+
}));
|
|
50
|
+
const parseFilterItem = (args) => {
|
|
51
|
+
const { filter: filterItem, select, tableAliasRaw, allowedColumnNames } = args;
|
|
52
|
+
if (!filterItem || (0, prostgles_types_1.isEmpty)(filterItem))
|
|
53
|
+
return;
|
|
54
|
+
const makeError = (msg) => {
|
|
55
|
+
throw `${msg}: ${JSON.stringify(filterItem, null, 2)}`;
|
|
56
|
+
};
|
|
57
|
+
const asValue = (v) => DboBuilderTypes_1.pgp.as.format("$1", [v]);
|
|
58
|
+
const filterEntries = Object.entries(filterItem);
|
|
59
|
+
const [firstFilterEntry, ...otherFilterEnties] = filterEntries;
|
|
60
|
+
if (!firstFilterEntry) {
|
|
61
|
+
return;
|
|
62
|
+
/**
|
|
63
|
+
* { field1: cond1, field2: cond2 }
|
|
64
|
+
*/
|
|
65
|
+
}
|
|
66
|
+
else if (otherFilterEnties.length) {
|
|
67
|
+
const items = filterEntries
|
|
68
|
+
.map(([filterKey, filterValue]) => (0, exports.parseFilterItem)({
|
|
69
|
+
filter: { [filterKey]: filterValue },
|
|
70
|
+
select,
|
|
71
|
+
tableAliasRaw,
|
|
72
|
+
allowedColumnNames,
|
|
73
|
+
}))
|
|
74
|
+
.filter(prostgles_types_1.isDefined);
|
|
75
|
+
const condition = items
|
|
76
|
+
.map((i) => i.condition)
|
|
77
|
+
.sort() /* sorted to ensure duplicate subscription channels are not created due to different condition order */
|
|
78
|
+
.join(" AND ");
|
|
79
|
+
const columnsUsed = items.map((i) => i.columnsUsed).flat();
|
|
80
|
+
return { condition, columnsUsed };
|
|
81
|
+
}
|
|
82
|
+
// const fKey: string = filterKeys[0]!;
|
|
83
|
+
const [firstFilterKey, firstFilterValue] = firstFilterEntry;
|
|
84
|
+
let selItem;
|
|
85
|
+
if (select) {
|
|
86
|
+
selItem = select.find((s) => firstFilterKey === s.alias);
|
|
87
|
+
}
|
|
88
|
+
let rightF = firstFilterValue;
|
|
89
|
+
const validateSelectedItemFilter = (selectedItem) => {
|
|
90
|
+
const fields = selectedItem?.fields;
|
|
91
|
+
if (Array.isArray(fields) && fields.length) {
|
|
92
|
+
const dissallowedFields = fields.filter((fname) => !allowedColumnNames.includes(fname));
|
|
93
|
+
if (dissallowedFields.length) {
|
|
94
|
+
throw new Error(`Invalid/disallowed columns found in filter: ${dissallowedFields.join(", ")}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
const getLeftQ = (selItm) => {
|
|
99
|
+
validateSelectedItemFilter(selItem);
|
|
100
|
+
if (selItm.type === "function" || selItm.type === "aggregation")
|
|
101
|
+
return selItm.getQuery();
|
|
102
|
+
return selItm.getQuery(tableAliasRaw);
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Parsed left side of the query
|
|
106
|
+
*/
|
|
107
|
+
let leftQ; // = asName(selItem.alias);
|
|
108
|
+
/*
|
|
109
|
+
Select item not found.
|
|
110
|
+
Check if dot/json notation. Build obj if necessary
|
|
111
|
+
*/
|
|
112
|
+
const dot_notation_delims = ["->", "."];
|
|
113
|
+
if (!selItem) {
|
|
114
|
+
/* See if dot notation. Pick the best matching starting string */
|
|
115
|
+
if (select) {
|
|
116
|
+
selItem = select.find((s) => dot_notation_delims.find((delimiter) => firstFilterKey.startsWith(s.alias + delimiter)));
|
|
117
|
+
validateSelectedItemFilter(selItem);
|
|
118
|
+
}
|
|
119
|
+
if (!selItem) {
|
|
120
|
+
return makeError("Bad filter. Could not match to a column or alias or dot notation" +
|
|
121
|
+
select?.map((s) => s.alias).join(", "));
|
|
122
|
+
}
|
|
123
|
+
let remainingStr = firstFilterKey.slice(selItem.alias.length);
|
|
124
|
+
/* Is json path spec */
|
|
125
|
+
if (remainingStr.startsWith("->")) {
|
|
126
|
+
/** Has shorthand operand 'col->>key.<>' */
|
|
127
|
+
const matchingOperand = prostgles_types_1.CompareFilterKeys.find((operand) => remainingStr.endsWith(`.${operand}`));
|
|
128
|
+
if (matchingOperand) {
|
|
129
|
+
remainingStr = remainingStr.slice(0, -matchingOperand.length - 1);
|
|
130
|
+
rightF = { [matchingOperand]: rightF };
|
|
131
|
+
}
|
|
132
|
+
leftQ = getLeftQ(selItem);
|
|
133
|
+
const getSep = (fromIdx = 0) => {
|
|
134
|
+
const strPart = remainingStr.slice(fromIdx);
|
|
135
|
+
let idx = strPart.indexOf("->");
|
|
136
|
+
const idxx = strPart.indexOf("->>");
|
|
137
|
+
if (idx > -1) {
|
|
138
|
+
/* if -> matches then check if it's the last separator */
|
|
139
|
+
if (idx === idxx)
|
|
140
|
+
return { idx: idx + fromIdx, sep: "->>" };
|
|
141
|
+
return { idx: idx + fromIdx, sep: "->" };
|
|
142
|
+
}
|
|
143
|
+
idx = strPart.indexOf("->>");
|
|
144
|
+
if (idx > -1) {
|
|
145
|
+
return { idx: idx + fromIdx, sep: "->>" };
|
|
146
|
+
}
|
|
147
|
+
return undefined;
|
|
148
|
+
};
|
|
149
|
+
let currSep = getSep();
|
|
150
|
+
while (currSep) {
|
|
151
|
+
let nextSep = getSep(currSep.idx + currSep.sep.length);
|
|
152
|
+
let nextIdx = nextSep ? nextSep.idx : remainingStr.length;
|
|
153
|
+
/* If ending in set then add set as well into key */
|
|
154
|
+
if (nextSep && nextIdx + nextSep.sep.length === remainingStr.length) {
|
|
155
|
+
nextIdx = remainingStr.length;
|
|
156
|
+
nextSep = undefined;
|
|
157
|
+
}
|
|
158
|
+
leftQ +=
|
|
159
|
+
currSep.sep + asValue(remainingStr.slice(currSep.idx + currSep.sep.length, nextIdx));
|
|
160
|
+
currSep = nextSep;
|
|
161
|
+
}
|
|
162
|
+
/*
|
|
163
|
+
Is collapsed filter spec e.g. { "col.$ilike": 'text' }
|
|
164
|
+
will transform into { col: { $ilike: ['text'] } }
|
|
165
|
+
*/
|
|
166
|
+
}
|
|
167
|
+
else if (remainingStr.startsWith(".")) {
|
|
168
|
+
leftQ = getLeftQ(selItem);
|
|
169
|
+
const getSep = (fromIdx = 0) => {
|
|
170
|
+
const idx = remainingStr.slice(fromIdx).indexOf(".");
|
|
171
|
+
if (idx > -1)
|
|
172
|
+
return fromIdx + idx;
|
|
173
|
+
return idx;
|
|
174
|
+
};
|
|
175
|
+
let currIdx = getSep();
|
|
176
|
+
const res = {};
|
|
177
|
+
let curObj = res;
|
|
178
|
+
while (currIdx > -1) {
|
|
179
|
+
let nextIdx = getSep(currIdx + 1);
|
|
180
|
+
let nIdx = nextIdx > -1 ? nextIdx : remainingStr.length;
|
|
181
|
+
/* If ending in dot then add dot as well into key */
|
|
182
|
+
if (nextIdx + 1 === remainingStr.length) {
|
|
183
|
+
nIdx = remainingStr.length;
|
|
184
|
+
nextIdx = -1;
|
|
185
|
+
}
|
|
186
|
+
const key = remainingStr.slice(currIdx + 1, nIdx);
|
|
187
|
+
curObj[key] = nextIdx > -1 ? {} : firstFilterValue;
|
|
188
|
+
curObj = curObj[key];
|
|
189
|
+
currIdx = nextIdx;
|
|
190
|
+
}
|
|
191
|
+
rightF = res;
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
// console.trace(141, select, selItem, remainingStr)
|
|
195
|
+
makeError("Bad filter. Could not find the valid col name or alias or col json path");
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
leftQ = getLeftQ(selItem);
|
|
200
|
+
}
|
|
201
|
+
if (!leftQ) {
|
|
202
|
+
makeError("Internal error: leftQ missing?!");
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
const condition = (0, getFilterItemCondition_1.getFilterItemCondition)({
|
|
207
|
+
selItem,
|
|
208
|
+
leftQ,
|
|
209
|
+
rightF,
|
|
210
|
+
});
|
|
211
|
+
return {
|
|
212
|
+
condition,
|
|
213
|
+
columnsUsed: selItem.fields,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
catch (e) {
|
|
217
|
+
return makeError(e.message);
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
exports.parseFilterItem = parseFilterItem;
|
|
221
|
+
// ensure pgp is not NULL!!!
|
|
222
|
+
// const asValue = v => v;// pgp.as.value;
|
|
223
|
+
// const filters: FilterSpec[] = [
|
|
224
|
+
// ...(["ilike", "like"].map(op => ({
|
|
225
|
+
// operands: ["$" + op],
|
|
226
|
+
// tsDataTypes: ["any"] as TSDataType[],
|
|
227
|
+
// tsDefinition: ` { $${op}: string } `,
|
|
228
|
+
// // data_types:
|
|
229
|
+
// getQuery: (leftQuery: string, rightVal: any) => {
|
|
230
|
+
// return `${leftQuery}::text ${op.toUpperCase()} ${asValue(rightVal)}::text`
|
|
231
|
+
// }
|
|
232
|
+
// }))),
|
|
233
|
+
// {
|
|
234
|
+
// operands: ["", "="],
|
|
235
|
+
// tsDataTypes: ["any"],
|
|
236
|
+
// tsDefinition: ` { "=": any } | any `,
|
|
237
|
+
// // data_types:
|
|
238
|
+
// getQuery: (leftQuery: string, rightVal: any) => {
|
|
239
|
+
// if(rightVal === null) return`${leftQuery} IS NULL `;
|
|
240
|
+
// return `${leftQuery} = ${asValue(rightVal)}`;
|
|
241
|
+
// }
|
|
242
|
+
// }
|
|
243
|
+
// ];
|
|
244
|
+
//# sourceMappingURL=Filtering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filtering.js","sourceRoot":"","sources":["../../lib/Filtering/Filtering.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SelectItemValidated } from "../DboBuilder/QueryBuilder/QueryBuilder";
|
|
2
|
+
export declare const getFilterItemCondition: ({ selItem, leftQ, rightF, }: {
|
|
3
|
+
leftQ: string;
|
|
4
|
+
selItem: SelectItemValidated;
|
|
5
|
+
rightF: unknown;
|
|
6
|
+
}) => string;
|
|
7
|
+
//# sourceMappingURL=getFilterItemCondition.d.ts.map
|