prostgles-server 4.2.484 → 4.2.485
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.
|
@@ -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,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,
|
|
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,CA6GD"}
|
|
@@ -16,10 +16,9 @@ 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
|
-
const result = { condition: "", columnsUsed: [] };
|
|
20
19
|
const keys = (0, dist_1.getKeys)(f);
|
|
21
20
|
if (!keys.length) {
|
|
22
|
-
return
|
|
21
|
+
return;
|
|
23
22
|
}
|
|
24
23
|
if (keys.includes($and_key) || keys.includes($or_key)) {
|
|
25
24
|
if (keys.length > 1)
|
|
@@ -30,7 +29,9 @@ async function prepareWhere(params) {
|
|
|
30
29
|
const { [$and_key]: $and, [$or_key]: $or } = f, group = $and || $or;
|
|
31
30
|
if (group && group.length) {
|
|
32
31
|
const operand = $and ? " AND " : " OR ";
|
|
33
|
-
const conditionItems = (await Promise.all(group.map(async (gf) => await parseFullFilter(gf, group, isForcedFilterBypass))))
|
|
32
|
+
const conditionItems = (await Promise.all(group.map(async (gf) => await parseFullFilter(gf, group, isForcedFilterBypass))))
|
|
33
|
+
.filter(dist_1.isDefined)
|
|
34
|
+
.filter((c) => c.condition);
|
|
34
35
|
if (conditionItems.length) {
|
|
35
36
|
const conditions = conditionItems.map((c) => c.condition);
|
|
36
37
|
const columnsUsed = conditionItems.map((c) => c.columnsUsed).flat();
|
|
@@ -42,7 +43,7 @@ async function prepareWhere(params) {
|
|
|
42
43
|
}
|
|
43
44
|
else if (!group) {
|
|
44
45
|
/** forcedFilters do not get checked against publish and are treated as server-side requests */
|
|
45
|
-
const
|
|
46
|
+
const itemInfo = await getCondition_1.getCondition.bind(this)({
|
|
46
47
|
filter: { ...f },
|
|
47
48
|
select,
|
|
48
49
|
allowed_colnames: isForcedFilterBypass ? this.column_names.slice(0) : this.parseFieldFilter(filterFields),
|
|
@@ -51,11 +52,12 @@ async function prepareWhere(params) {
|
|
|
51
52
|
tableRules: isForcedFilterBypass ? undefined : tableRule,
|
|
52
53
|
isHaving: params.isHaving,
|
|
53
54
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
exists.push(...itemInfo.exists);
|
|
56
|
+
return {
|
|
57
|
+
condition: itemInfo.condition,
|
|
58
|
+
columnsUsed: itemInfo.columnsUsed,
|
|
59
|
+
};
|
|
57
60
|
}
|
|
58
|
-
return result;
|
|
59
61
|
};
|
|
60
62
|
/* A forced filter condition will not check if the existsJoined filter tables have been published */
|
|
61
63
|
const forcedFilterCond = forcedFilter ? await parseFullFilter(forcedFilter, null, true) : undefined;
|
|
@@ -64,7 +66,10 @@ async function prepareWhere(params) {
|
|
|
64
66
|
.map((c) => (c?.condition ? c.condition : undefined))
|
|
65
67
|
.filter(dist_1.isDefined)
|
|
66
68
|
.join(" AND ");
|
|
67
|
-
const combinedColumnsUsed = [
|
|
69
|
+
const combinedColumnsUsed = [
|
|
70
|
+
...(forcedFilterCond?.columnsUsed ?? []),
|
|
71
|
+
...(filterCond?.columnsUsed ?? []),
|
|
72
|
+
];
|
|
68
73
|
const finalFilter = forcedFilter ?
|
|
69
74
|
{
|
|
70
75
|
[$and_key]: [forcedFilter, filter].filter(dist_1.isDefined),
|
|
@@ -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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"}
|
|
@@ -51,13 +51,13 @@ export async function prepareWhere(
|
|
|
51
51
|
f: any,
|
|
52
52
|
parentFilter: AnyObject | null = null,
|
|
53
53
|
isForcedFilterBypass: boolean,
|
|
54
|
-
): Promise<FilterItemResult> => {
|
|
54
|
+
): Promise<FilterItemResult | undefined> => {
|
|
55
55
|
if (!f) throw "Invalid/missing group filter provided";
|
|
56
56
|
if (!isObject(f)) throw "\nInvalid filter\nExpecting an object but got -> " + JSON.stringify(f);
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
const keys = getKeys(f);
|
|
59
59
|
if (!keys.length) {
|
|
60
|
-
return
|
|
60
|
+
return;
|
|
61
61
|
}
|
|
62
62
|
if (keys.includes($and_key) || keys.includes($or_key)) {
|
|
63
63
|
if (keys.length > 1)
|
|
@@ -75,7 +75,9 @@ export async function prepareWhere(
|
|
|
75
75
|
await Promise.all(
|
|
76
76
|
group.map(async (gf) => await parseFullFilter(gf, group, isForcedFilterBypass)),
|
|
77
77
|
)
|
|
78
|
-
)
|
|
78
|
+
)
|
|
79
|
+
.filter(isDefined)
|
|
80
|
+
.filter((c) => c.condition);
|
|
79
81
|
|
|
80
82
|
if (conditionItems.length) {
|
|
81
83
|
const conditions = conditionItems.map((c) => c.condition);
|
|
@@ -85,7 +87,7 @@ export async function prepareWhere(
|
|
|
85
87
|
}
|
|
86
88
|
} else if (!group) {
|
|
87
89
|
/** forcedFilters do not get checked against publish and are treated as server-side requests */
|
|
88
|
-
const
|
|
90
|
+
const itemInfo = await getCondition.bind(this)({
|
|
89
91
|
filter: { ...f },
|
|
90
92
|
select,
|
|
91
93
|
allowed_colnames:
|
|
@@ -95,11 +97,12 @@ export async function prepareWhere(
|
|
|
95
97
|
tableRules: isForcedFilterBypass ? undefined : tableRule,
|
|
96
98
|
isHaving: params.isHaving,
|
|
97
99
|
});
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
exists.push(...itemInfo.exists);
|
|
101
|
+
return {
|
|
102
|
+
condition: itemInfo.condition,
|
|
103
|
+
columnsUsed: itemInfo.columnsUsed,
|
|
104
|
+
};
|
|
101
105
|
}
|
|
102
|
-
return result;
|
|
103
106
|
};
|
|
104
107
|
|
|
105
108
|
/* A forced filter condition will not check if the existsJoined filter tables have been published */
|
|
@@ -111,7 +114,10 @@ export async function prepareWhere(
|
|
|
111
114
|
.filter(isDefined)
|
|
112
115
|
.join(" AND ");
|
|
113
116
|
|
|
114
|
-
const combinedColumnsUsed = [
|
|
117
|
+
const combinedColumnsUsed = [
|
|
118
|
+
...(forcedFilterCond?.columnsUsed ?? []),
|
|
119
|
+
...(filterCond?.columnsUsed ?? []),
|
|
120
|
+
];
|
|
115
121
|
const finalFilter =
|
|
116
122
|
forcedFilter ?
|
|
117
123
|
{
|