prostgles-server 4.2.670 → 4.2.672
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/Audit/getAuditJoins.d.ts +5 -0
- package/dist/Audit/getAuditJoins.d.ts.map +1 -0
- package/dist/Audit/getAuditJoins.js +33 -0
- package/dist/Audit/getAuditJoins.js.map +1 -0
- package/dist/Audit/getAuditTableConfig.d.ts +1 -1
- package/dist/Audit/getAuditTableConfig.d.ts.map +1 -1
- package/dist/Audit/getAuditTableConfig.js +24 -12
- package/dist/Audit/getAuditTableConfig.js.map +1 -1
- package/dist/Audit/getAuditTableRules.d.ts.map +1 -1
- package/dist/Audit/getAuditTableRules.js +34 -30
- package/dist/Audit/getAuditTableRules.js.map +1 -1
- package/dist/Audit/parseAuditConfig.d.ts +2 -1
- package/dist/Audit/parseAuditConfig.d.ts.map +1 -1
- package/dist/Audit/parseAuditConfig.js +1 -2
- package/dist/Audit/parseAuditConfig.js.map +1 -1
- package/dist/DboBuilder/DboBuilder.d.ts +4 -4
- package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/DboBuilder.js +6 -11
- package/dist/DboBuilder/DboBuilder.js.map +1 -1
- package/dist/DboBuilder/DboBuilderTypes.d.ts +1 -0
- package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getComputedJoinQuery.d.ts +4 -0
- package/dist/DboBuilder/QueryBuilder/getComputedJoinQuery.d.ts.map +1 -0
- package/dist/DboBuilder/QueryBuilder/getComputedJoinQuery.js +90 -0
- package/dist/DboBuilder/QueryBuilder/getComputedJoinQuery.js.map +1 -0
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts +2 -2
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +5 -9
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js +6 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getQuerySource.d.ts +3 -1
- package/dist/DboBuilder/QueryBuilder/getQuerySource.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getQuerySource.js +2 -1
- package/dist/DboBuilder/QueryBuilder/getQuerySource.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +2 -2
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js +4 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsFilters.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsFilters.js +2 -0
- package/dist/DboBuilder/ViewHandler/getExistsFilters.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts +5 -2
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +19 -4
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts +6 -0
- package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseJoinPath.js +34 -8
- package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.js +1 -0
- package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/subscribe.js +3 -1
- package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
- package/dist/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.js +6 -2
- package/dist/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.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 +1 -1
- package/dist/DboBuilder/getCondition.js.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.d.ts +4 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +117 -66
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/DboBuilder/joins/computedJoins.d.ts +23 -0
- package/dist/DboBuilder/joins/computedJoins.d.ts.map +1 -0
- package/dist/DboBuilder/joins/computedJoins.js +115 -0
- package/dist/DboBuilder/joins/computedJoins.js.map +1 -0
- package/dist/DboBuilder/joins/defineComputedJoin.d.ts +10 -0
- package/dist/DboBuilder/joins/defineComputedJoin.d.ts.map +1 -0
- package/dist/DboBuilder/joins/defineComputedJoin.js +10 -0
- package/dist/DboBuilder/joins/defineComputedJoin.js.map +1 -0
- package/dist/DboBuilder/joins/getClientJoins.d.ts +4 -0
- package/dist/DboBuilder/joins/getClientJoins.d.ts.map +1 -0
- package/dist/DboBuilder/joins/getClientJoins.js +22 -0
- package/dist/DboBuilder/joins/getClientJoins.js.map +1 -0
- package/dist/DboBuilder/joins/getInferredJoins.d.ts +1 -1
- package/dist/DboBuilder/joins/getInferredJoins.d.ts.map +1 -1
- package/dist/DboBuilder/joins/getInferredJoins.js +2 -12
- package/dist/DboBuilder/joins/getInferredJoins.js.map +1 -1
- package/dist/DboBuilder/joins/prepareShortestJoinPaths.d.ts +1 -1
- package/dist/DboBuilder/joins/prepareShortestJoinPaths.d.ts.map +1 -1
- package/dist/DboBuilder/joins/prepareShortestJoinPaths.js +15 -12
- package/dist/DboBuilder/joins/prepareShortestJoinPaths.js.map +1 -1
- package/dist/DboBuilder/joins/prepareShortestJoinPaths.spec.js +3 -4
- package/dist/DboBuilder/joins/prepareShortestJoinPaths.spec.js.map +1 -1
- package/dist/ProstglesTypes.d.ts +18 -6
- package/dist/ProstglesTypes.d.ts.map +1 -1
- package/dist/ProstglesTypes.js +0 -2
- package/dist/ProstglesTypes.js.map +1 -1
- package/dist/PubSubManager/addTrigger.d.ts.map +1 -1
- package/dist/PubSubManager/addTrigger.js +3 -9
- package/dist/PubSubManager/addTrigger.js.map +1 -1
- package/dist/PubSubManager/init/getDataWatchFunctionQuery.js +5 -5
- package/dist/PubSubManager/init/getDataWatchFunctionQuery.js.map +1 -1
- package/dist/PublishParser/PublishParser.d.ts +3 -1
- package/dist/PublishParser/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser/PublishParser.js +4 -1
- package/dist/PublishParser/PublishParser.js.map +1 -1
- package/dist/PublishParser/getPublishSchemas.js +1 -1
- package/dist/PublishParser/getPublishSchemas.js.map +1 -1
- package/dist/TableConfig/TableConfigTypes.d.ts +6 -0
- package/dist/TableConfig/TableConfigTypes.d.ts.map +1 -1
- package/dist/WebsocketAPI/getClientSchema.d.ts.map +1 -1
- package/dist/WebsocketAPI/getClientSchema.js +10 -5
- package/dist/WebsocketAPI/getClientSchema.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;
|
|
1
|
+
{"version":3,"file":"getTableJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RawJoinPath } from "prostgles-types";
|
|
2
2
|
import type { ViewHandler } from "./ViewHandler";
|
|
3
|
+
import type { ParsedComputedJoin } from "../joins/computedJoins";
|
|
3
4
|
type parseJoinPathArgs = {
|
|
4
5
|
rawPath: RawJoinPath;
|
|
5
6
|
rootTable: string;
|
|
@@ -10,10 +11,15 @@ type parseJoinPathArgs = {
|
|
|
10
11
|
export type ParsedJoinPath = {
|
|
11
12
|
table: string;
|
|
12
13
|
on: Record<string, string>[];
|
|
14
|
+
computedJoin?: ParsedComputedJoin;
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
15
17
|
* Return a valid join path
|
|
16
18
|
*/
|
|
17
19
|
export declare const parseJoinPath: ({ rawPath, rootTable, viewHandler, allowMultiOrJoin, addShortestJoinIfMissing, }: parseJoinPathArgs) => ParsedJoinPath[];
|
|
20
|
+
export declare const getJoinPathColumns: (path: ParsedJoinPath | undefined) => {
|
|
21
|
+
source: string[];
|
|
22
|
+
target: string[];
|
|
23
|
+
};
|
|
18
24
|
export {};
|
|
19
25
|
//# sourceMappingURL=parseJoinPath.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseJoinPath.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseJoinPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"parseJoinPath.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseJoinPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,kFAM3B,iBAAiB,KAAG,cAAc,EAyEpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,cAAc,GAAG,SAAS;;;CASjE,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseJoinPath = void 0;
|
|
3
|
+
exports.getJoinPathColumns = exports.parseJoinPath = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const computedJoins_1 = require("../joins/computedJoins");
|
|
5
6
|
/**
|
|
6
7
|
* Return a valid join path
|
|
7
8
|
*/
|
|
@@ -16,8 +17,18 @@ const parseJoinPath = ({ rawPath, rootTable, viewHandler, allowMultiOrJoin = fal
|
|
|
16
17
|
if (!prevTable)
|
|
17
18
|
throw `prevTable missing`;
|
|
18
19
|
const pushJoinPath = (targetPath) => {
|
|
20
|
+
const computedJoin = (0, computedJoins_1.resolveComputedJoin)(viewHandler, prevTable, targetPath);
|
|
21
|
+
if (computedJoin) {
|
|
22
|
+
result.push({ table: targetPath.table, on: [], computedJoin });
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
19
25
|
const getShortestJoin = i === 1 && cleanPath[0] === "**";
|
|
20
|
-
const joinInfo = getJoins(viewHandler, prevTable, [
|
|
26
|
+
const joinInfo = getJoins(viewHandler, prevTable, [
|
|
27
|
+
{
|
|
28
|
+
table: targetPath.table,
|
|
29
|
+
on: typeof targetPath.on === "string" ? undefined : targetPath.on,
|
|
30
|
+
},
|
|
31
|
+
], {
|
|
21
32
|
allowMultiOrJoin,
|
|
22
33
|
getShortestJoin,
|
|
23
34
|
});
|
|
@@ -46,13 +57,28 @@ const parseJoinPath = ({ rawPath, rootTable, viewHandler, allowMultiOrJoin = fal
|
|
|
46
57
|
pushJoinPath(item);
|
|
47
58
|
}
|
|
48
59
|
});
|
|
49
|
-
|
|
60
|
+
if (result.length > 1) {
|
|
61
|
+
const blockedTable = [rootTable, ...result.map((path) => path.table)].find((table) => viewHandler.dboBuilder.prostgles.mergedTableConfig.tableConfig?.[table]
|
|
62
|
+
?.allowMultiHopJoins === false);
|
|
63
|
+
if (blockedTable)
|
|
64
|
+
throw new Error(`Multi-hop joins are disabled for table: ${blockedTable}`);
|
|
65
|
+
}
|
|
66
|
+
const missingPath = result.find((r) => !r.computedJoin && (!r.on.length || r.on.some((v) => !Object.keys(v).length)));
|
|
50
67
|
if (missingPath) {
|
|
51
68
|
throw `Missing join on condition for: ${missingPath.table}`;
|
|
52
69
|
}
|
|
53
70
|
return result;
|
|
54
71
|
};
|
|
55
72
|
exports.parseJoinPath = parseJoinPath;
|
|
73
|
+
const getJoinPathColumns = (path) => ({
|
|
74
|
+
source: path?.computedJoin ?
|
|
75
|
+
[...path.computedJoin.columnsUsed[0]]
|
|
76
|
+
: (path?.on.flatMap((columnPair) => Object.keys(columnPair)) ?? []),
|
|
77
|
+
target: path?.computedJoin ?
|
|
78
|
+
[...path.computedJoin.columnsUsed[1]]
|
|
79
|
+
: (path?.on.flatMap((columnPair) => Object.values(columnPair)) ?? []),
|
|
80
|
+
});
|
|
81
|
+
exports.getJoinPathColumns = getJoinPathColumns;
|
|
56
82
|
/**
|
|
57
83
|
* Returns all tables and fields required to join from source table to target table
|
|
58
84
|
* Respecting the path.on condition
|
|
@@ -67,17 +93,17 @@ const getJoins = (viewHandler, source, path, { allowMultiOrJoin = true, getShort
|
|
|
67
93
|
}
|
|
68
94
|
const target = lastItem.table;
|
|
69
95
|
/* Find the join path between tables */
|
|
70
|
-
const actualPath = getShortestJoin
|
|
71
|
-
|
|
96
|
+
const actualPath = getShortestJoin ?
|
|
97
|
+
viewHandler.joinPaths
|
|
72
98
|
.find((j) => {
|
|
73
99
|
return j.t1 === source && j.t2 === target;
|
|
74
100
|
})
|
|
75
101
|
?.path.map((table) => ({ table, on: undefined }))
|
|
76
102
|
.slice(1)
|
|
77
|
-
: viewHandler.joinPaths.find((j) => {
|
|
103
|
+
: (viewHandler.joinPaths.find((j) => {
|
|
78
104
|
return j.path.join() === [{ table: source }, ...path].map((p) => p.table).join();
|
|
79
|
-
})
|
|
80
|
-
|
|
105
|
+
})) ?
|
|
106
|
+
path
|
|
81
107
|
: undefined;
|
|
82
108
|
if (getShortestJoin && actualPath?.length && lastItem.on?.length) {
|
|
83
109
|
actualPath[actualPath.length - 1].on = lastItem.on;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseJoinPath.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseJoinPath.ts"],"names":[],"mappings":";;;AACA,qDAAgD;
|
|
1
|
+
{"version":3,"file":"parseJoinPath.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/parseJoinPath.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAIhD,0DAA6D;AAgB7D;;GAEG;AACI,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,GAAG,KAAK,EACxB,wBAAwB,GACN,EAAoB,EAAE;IACxC,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7E,IAAI,wBAAwB,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,SAAS,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,MAAM,mBAAmB,CAAC;QAE1C,MAAM,YAAY,GAAG,CAAC,UAAoB,EAAE,EAAE;YAC5C,MAAM,YAAY,GAAG,IAAA,mCAAmB,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC7E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YACzD,MAAM,QAAQ,GAAG,QAAQ,CACvB,WAAW,EACX,SAAS,EACT;gBACE;oBACE,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;iBAClE;aACF,EACD;gBACE,gBAAgB;gBAChB,eAAe;aAChB,CACF,CAAC;YAEF,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,qCAAqC;gBACrC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnD,MAAM;wBACJ,KAAK,EAAE,CAAC,yBAAyB,CAAC;wBAClC,OAAO,EAAE,6CAA6C,IAAI,CAAC,KAAK,EAAE;qBACnE,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;iBAChE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,oBAAoB;QACpB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC;YACnB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACxE,CAAC,KAAK,EAAE,EAAE,CACR,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;YACrE,EAAE,kBAAkB,KAAK,KAAK,CACnC,CAAC;QACF,IAAI,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,YAAY,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACrF,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,kCAAkC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA/EW,QAAA,aAAa,iBA+ExB;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAgC,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,EACJ,IAAI,EAAE,YAAY,CAAC,CAAC;QAClB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,MAAM,EACJ,IAAI,EAAE,YAAY,CAAC,CAAC;QAClB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;CACxE,CAAC,CAAC;AATU,QAAA,kBAAkB,sBAS5B;AAOH;;;GAGG;AACH,MAAM,QAAQ,GAAG,CACf,WAAwB,EACxB,MAAc,EACd,IAAsB,EACtB,EAAE,gBAAgB,GAAG,IAAI,EAAE,eAAe,KAAW,EAAE,EAC7C,EAAE;IACZ,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,YAAY,CAAC;IACrB,CAAC;IACD,IAAI,eAAe,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,8CAA8C,CAAC;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE9B,uCAAuC;IACvC,MAAM,UAAU,GACd,eAAe,CAAC,CAAC;QACf,WAAW,CAAC,SAAS;aAClB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;QAC5C,CAAC,CAAC;YACF,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;aAChD,KAAK,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CACA,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACnF,CAAC,CAAC,CACH,CAAC,CAAC;YACD,IAAI;YACN,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,eAAe,IAAI,UAAU,EAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QACjE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,WAAW,MAAM,YAAY,MAAM,wBAAwB,CAAC;IACpE,CAAC;IAED,8BAA8B;IAC9B,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QAE9C,sBAAsB;QACtB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;YAChE,OAAO,CACL,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,CACzF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,WAAW,EAAE,QAAQ,SAAS,CAAC,KAAK,wBAAwB,CAAC;QACrE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,+BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC;YACT,MAAM;YACN,MAAM;YACN,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,EAAE;SACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,KAAK,CAAC;IAExB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,gBAAgB,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oDAAoD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;IACpK,CAAC;IACD,OAAO;QACL,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,SAA+B,EAAE,QAA8B,EAAE,EAAE;IACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,mDAAmD,CAAC;IAC5D,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,EAAE;QACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAC1C,eAAe,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,oCAAoC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpH,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAA0B,EAAE,EAA0B,EAAE,EAAE;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,CACL,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CACjG,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -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,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjF,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,EAAkB,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClF,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;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,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;IAC7B,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,aAAa,WAAW,EACxB,oIAYG,kBAAkB,KACpB,OAAO,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"prepareWhere.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjF,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,EAAkB,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClF,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;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,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;IAC7B,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,aAAa,WAAW,EACxB,oIAYG,kBAAkB,KACpB,OAAO,CAAC,YAAY,CAkHtB,CAAC"}
|
|
@@ -56,6 +56,7 @@ filterFields = !tableRule ? "*" : undefined, isHaving, selectParams, }) => {
|
|
|
56
56
|
localParams: isForcedFilterBypass ? undefined : localParams,
|
|
57
57
|
tableRules: isForcedFilterBypass ? undefined : tableRule,
|
|
58
58
|
isHaving,
|
|
59
|
+
joinColumns: source.joinColumns,
|
|
59
60
|
});
|
|
60
61
|
exists.push(...itemInfo.exists);
|
|
61
62
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareWhere.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareWhere.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prepareWhere.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/prepareWhere.ts"],"names":[],"mappings":";;;AACA,+CAAoE;AAGpE,kDAA+C;AAE/C,mEAAkF;AAyB3E,MAAM,YAAY,GAAG,KAAK,EAC/B,WAAwB,EACxB,EACE,MAAM,EACN,MAAM,EACN,YAAY,EACZ,QAAQ,EAAE,WAAW,GAAG,IAAI,EAC5B,UAAU,EACV,WAAW,EACX,SAAS;AACT,kDAAkD;AAClD,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAC3C,QAAQ,EACR,YAAY,GACO,EACE,EAAE;IACzB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC;IAEnF,IAAI,WAAW,EAAE,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,+DAA+D,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAc,EACjC,WAAW,EACX,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACpC,MAAM,IAAI,EAAE,EACZ,YAAY,IAAI,EAAE,EAClB,UAAU,CACX,CAAC;IAEF,MAAM,MAAM,GAAyB,EAAE,CAAC;IAGxC,MAAM,eAAe,GAAG,KAAK,EAC3B,UAAe,EACf,eAAiC,IAAI,EACrC,oBAA6B,EACU,EAAE;QACzC,IAAI,CAAC,UAAU;YAAE,MAAM,uCAAuC,CAAC;QAC/D,IAAI,CAAC,IAAA,eAAQ,EAAC,UAAU,CAAC;YACvB,MAAM,mDAAmD,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEzF,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBACjB,MAAM,gEAAgE,QAAQ,kBAAkB,OAAO,YAAY,CAAC;YACtH,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,MAAM,uFAAuF,CAAC;QAClG,CAAC;QAED,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QACxD,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAA4B,CAAC;QAEvD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACxC,MAAM,cAAc,GAAG,CACrB,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAChF,CACF;iBACE,MAAM,CAAC,gBAAS,CAAC;iBACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE9B,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC1D,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,CAAC;gBACD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChF,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,+FAA+F;YAC/F,MAAM,QAAQ,GAAG,MAAM,2BAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpD,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE;gBACzB,MAAM;gBACN,gBAAgB,EACd,oBAAoB,CAAC,CAAC;oBACpB,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC;gBAC9C,UAAU,EAAE,MAAM,CAAC,KAAK;gBACxB,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;gBAC3D,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACxD,QAAQ;gBACR,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,oGAAoG;IACpG,MAAM,gBAAgB,GACpB,YAAY,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,kBAAkB,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACpD,MAAM,CAAC,gBAAS,CAAC;SACjB,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjB,MAAM,mBAAmB,GAAG;QAC1B,GAAG,CAAC,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC;QACxC,GAAG,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE,CAAC;KACnC,CAAC;IACF,MAAM,WAAW,GACf,YAAY,CAAC,CAAC;QACZ;YACE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAS,CAAC;SACrD;QACH,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAElB,MAAM,SAAS,GAAG,kBAAkB,CAAC;IACrC,IAAI,kBAAkB,IAAI,WAAW,EAAE,CAAC;QACtC,kBAAkB,GAAG,SAAS,kBAAkB,EAAE,CAAC;IACrD,CAAC;IACD,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,SAAS;QACT,KAAK,EAAE,kBAAkB,IAAI,EAAE;QAC/B,MAAM,EAAE,WAAW;QACnB,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAjIW,QAAA,YAAY,gBAiIvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;AAElE,eAAO,MAAM,iBAAiB,GAC5B,aAAa,MAAM,GAAG,SAAS,EAC/B,aAAa,MAAM,GAAG,SAAS,wBAGhC,CAAC;AAEF,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAC;AACvC,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;AAElE,eAAO,MAAM,iBAAiB,GAC5B,aAAa,MAAM,GAAG,SAAS,EAC/B,aAAa,MAAM,GAAG,SAAS,wBAGhC,CAAC;AAEF,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAC;AACvC,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAyIjC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -29,7 +29,7 @@ async function subscribe(filter, params, onData, table_rules, localParams) {
|
|
|
29
29
|
/** Ensure request is valid */
|
|
30
30
|
await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, localParams);
|
|
31
31
|
const newQuery = (await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, { ...localParams, returnNewQuery: true }));
|
|
32
|
-
const viewOptions = await getSubscribeRelatedTables_1.getSubscribeRelatedTables.bind(this)({
|
|
32
|
+
const { viewOptions, rootJoinColumns } = await getSubscribeRelatedTables_1.getSubscribeRelatedTables.bind(this)({
|
|
33
33
|
filter,
|
|
34
34
|
selectParams,
|
|
35
35
|
table_rules,
|
|
@@ -37,6 +37,8 @@ async function subscribe(filter, params, onData, table_rules, localParams) {
|
|
|
37
37
|
newQuery,
|
|
38
38
|
});
|
|
39
39
|
const [firstField, ...otherFields] = Array.from(new Set([
|
|
40
|
+
...rootJoinColumns,
|
|
41
|
+
...newQuery.whereOpts.columnsUsed,
|
|
40
42
|
...newQuery.select
|
|
41
43
|
.filter((s) => s.selected)
|
|
42
44
|
.flatMap((item) => [...item.fields, ...(item.dependencyFields ?? [])]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllViewRelatedTables.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,uBAAuB,GAAU,YAAY,UAAU,EAAE,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"getAllViewRelatedTables.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,uBAAuB,GAAU,YAAY,UAAU,EAAE,UAAU,MAAM,qEA4BrF,CAAC"}
|
|
@@ -4,6 +4,10 @@ exports.getAllViewRelatedTables = void 0;
|
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const getAllViewRelatedTables = async (dboBuilder, viewName) => {
|
|
6
6
|
const db = dboBuilder.db;
|
|
7
|
+
const view = dboBuilder.dboMap.get(viewName);
|
|
8
|
+
if (!view)
|
|
9
|
+
throw new Error(`View ${viewName} not found`);
|
|
10
|
+
const { schema, name } = view.tableOrViewInfo.qualifiedNameParts;
|
|
7
11
|
const tables = await db.any(`
|
|
8
12
|
SELECT DISTINCT
|
|
9
13
|
vcu.table_name,
|
|
@@ -12,8 +16,8 @@ const getAllViewRelatedTables = async (dboBuilder, viewName) => {
|
|
|
12
16
|
FROM information_schema.view_column_usage vcu
|
|
13
17
|
JOIN pg_class c ON c.relname = vcu.table_name
|
|
14
18
|
JOIN pg_namespace n ON n.oid = c.relnamespace AND n.nspname = vcu.table_schema
|
|
15
|
-
WHERE vcu.view_name = \${
|
|
16
|
-
`, {
|
|
19
|
+
WHERE vcu.view_schema = \${schema} AND vcu.view_name = \${name}
|
|
20
|
+
`, { schema, name });
|
|
17
21
|
return tables
|
|
18
22
|
.map((t) => {
|
|
19
23
|
const tableInfo = dboBuilder.tablesOrViews?.find((tov) => tov.oid === t.table_oid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllViewRelatedTables.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAGrC,MAAM,uBAAuB,GAAG,KAAK,EAAE,UAAsB,EAAE,QAAgB,EAAE,EAAE;IACxF,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAKzB;;;;;;;;;GASD,EACC,EAAE,
|
|
1
|
+
{"version":3,"file":"getAllViewRelatedTables.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAGrC,MAAM,uBAAuB,GAAG,KAAK,EAAE,UAAsB,EAAE,QAAgB,EAAE,EAAE;IACxF,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAKzB;;;;;;;;;GASD,EACC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACF,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;SACD,MAAM,CAAC,2BAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AA5BW,QAAA,uBAAuB,2BA4BlC"}
|
|
@@ -17,6 +17,7 @@ export declare function getCondition(this: ViewHandler, params: {
|
|
|
17
17
|
localParams?: LocalParams;
|
|
18
18
|
tableRules?: ParsedTableRule;
|
|
19
19
|
isHaving?: boolean;
|
|
20
|
+
joinColumns?: Record<string, string>;
|
|
20
21
|
}): Promise<{
|
|
21
22
|
exists: ExistsFilterConfig[];
|
|
22
23
|
condition: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3D,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;AAQ7D;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IACN,MAAM,EAAE,SAAS,CAAC;IAClB,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;
|
|
1
|
+
{"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3D,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;AAQ7D;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IACN,MAAM,EAAE,SAAS,CAAC;IAClB,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;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA4NrF"}
|
|
@@ -45,7 +45,7 @@ async function getCondition(params) {
|
|
|
45
45
|
});
|
|
46
46
|
let existsCond = "";
|
|
47
47
|
if (existsConfigs.length) {
|
|
48
|
-
existsCond = (await Promise.all(existsConfigs.map(async (existsConfig) => await getExistsCondition_1.getExistsCondition.bind(this)(existsConfig, tableAlias?.escaped, localParams)))).join(" AND ");
|
|
48
|
+
existsCond = (await Promise.all(existsConfigs.map(async (existsConfig) => await getExistsCondition_1.getExistsCondition.bind(this)(existsConfig, tableAlias?.escaped, localParams, params.joinColumns)))).join(" AND ");
|
|
49
49
|
}
|
|
50
50
|
/* Computed field queries ($rowhash) */
|
|
51
51
|
const p = this.getValidatedRules(tableRules, localParams);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCondition.js","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":";;AAqBA,
|
|
1
|
+
{"version":3,"file":"getCondition.js","sourceRoot":"","sources":["../../lib/DboBuilder/getCondition.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,9 @@ type Args = {
|
|
|
16
16
|
* When subscribing to a view: identify underlying tables to subscribe to them
|
|
17
17
|
* When subscribing to a table: identify joined tables to subscribe to them
|
|
18
18
|
*/
|
|
19
|
-
export declare function getSubscribeRelatedTables(this: ViewHandler | TableHandler, { filter, localParams, newQuery }: Args): Promise<
|
|
19
|
+
export declare function getSubscribeRelatedTables(this: ViewHandler | TableHandler, { filter, localParams, newQuery }: Args): Promise<{
|
|
20
|
+
viewOptions: ViewSubscriptionOptions | undefined;
|
|
21
|
+
rootJoinColumns: string[];
|
|
22
|
+
}>;
|
|
20
23
|
export {};
|
|
21
24
|
//# sourceMappingURL=getSubscribeRelatedTables.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlE,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;AAM7D,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;;;GAmKxC"}
|
|
@@ -1,90 +1,141 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSubscribeRelatedTables = getSubscribeRelatedTables;
|
|
4
|
+
const parseJoinPath_1 = require("./ViewHandler/parseJoinPath");
|
|
4
5
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
6
|
const getViewRelatedTables_1 = require("./ViewRelatedTables/getViewRelatedTables");
|
|
6
7
|
const prepareWhere_1 = require("./ViewHandler/prepareWhere");
|
|
8
|
+
const getAllViewRelatedTables_1 = require("./ViewRelatedTables/getAllViewRelatedTables");
|
|
7
9
|
/**
|
|
8
10
|
* When subscribing to a view: identify underlying tables to subscribe to them
|
|
9
11
|
* When subscribing to a table: identify joined tables to subscribe to them
|
|
10
12
|
*/
|
|
11
13
|
async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
|
|
12
|
-
let viewOptions =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.
|
|
24
|
-
.flatMap((item) => item.dependencyExists ?? []);
|
|
25
|
-
const nonExistsFilter = newQuery.whereOpts.exists.length ? {} : filter;
|
|
26
|
-
const pushRelatedTable = async (relatedTableName, joinPath, selectedColumnNames, targetTableFilter) => {
|
|
27
|
-
const relatedTableOrViewHandler = this.dboBuilder.dboMap.get(relatedTableName);
|
|
28
|
-
if (!relatedTableOrViewHandler) {
|
|
29
|
-
throw `Table ${relatedTableName} not found`;
|
|
30
|
-
}
|
|
31
|
-
if (relatedTableOrViewHandler.isView) {
|
|
14
|
+
let viewOptions = { type: "table", relatedTables: [] };
|
|
15
|
+
let hasComputedJoin = false;
|
|
16
|
+
const rootJoinColumns = new Set();
|
|
17
|
+
const expandedViews = new Set();
|
|
18
|
+
const nonExistsFilter = newQuery.whereOpts.exists.length ? {} : filter;
|
|
19
|
+
const pushRelatedTable = async (relatedTableName, joinPath, selectedColumnNames, targetTableFilter) => {
|
|
20
|
+
const relatedTableOrViewHandler = this.dboBuilder.dboMap.get(relatedTableName);
|
|
21
|
+
if (!relatedTableOrViewHandler) {
|
|
22
|
+
throw `Table ${relatedTableName} not found`;
|
|
23
|
+
}
|
|
24
|
+
if (relatedTableOrViewHandler.isView) {
|
|
25
|
+
if (expandedViews.has(relatedTableName))
|
|
32
26
|
return;
|
|
27
|
+
expandedViews.add(relatedTableName);
|
|
28
|
+
// View predicates can depend on columns that are not exposed by the view.
|
|
29
|
+
for (const table of await (0, getAllViewRelatedTables_1.getAllViewRelatedTables)(this.dboBuilder, relatedTableName)) {
|
|
30
|
+
await pushRelatedTable(table.name, [], undefined, {});
|
|
33
31
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const reversedJoinFilter = {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const reversedJoinFilter = joinPath.length ?
|
|
35
|
+
{
|
|
39
36
|
$existsJoined: {
|
|
40
|
-
path: (0, prostgles_types_1.reverseParsedPath)(joinPath,
|
|
37
|
+
path: (0, prostgles_types_1.reverseParsedPath)(joinPath.map(({ table, on, computedJoin }) => computedJoin ?
|
|
38
|
+
{
|
|
39
|
+
table,
|
|
40
|
+
on: computedJoin.definition.$joinName,
|
|
41
|
+
params: computedJoin.params,
|
|
42
|
+
...(computedJoin.definition.tables[0] === computedJoin.definition.tables[1] && {
|
|
43
|
+
reversed: computedJoin.reversed,
|
|
44
|
+
}),
|
|
45
|
+
}
|
|
46
|
+
: { table, on }), this.name),
|
|
41
47
|
filter: nonExistsFilter,
|
|
42
48
|
},
|
|
43
|
-
};
|
|
44
|
-
const filter = (0, prostgles_types_1.isEmpty)(targetTableFilter) ? reversedJoinFilter : ({ $and: [targetTableFilter, reversedJoinFilter] });
|
|
45
|
-
const joinConditionInfo = await (0, prepareWhere_1.prepareWhere)(relatedTableOrViewHandler, {
|
|
46
|
-
filter,
|
|
47
|
-
select: undefined,
|
|
48
|
-
addWhere: false,
|
|
49
|
-
localParams: undefined,
|
|
50
|
-
tableRule: undefined,
|
|
51
|
-
});
|
|
52
|
-
const relatedTableJoinPathItem = joinPath.at(-1);
|
|
53
|
-
const joinColumns = relatedTableJoinPathItem?.on.map((columnPair) => Object.values(columnPair)).flat() ?? [];
|
|
54
|
-
const [firstField, ...otherFields] = Array.from(new Set([...(selectedColumnNames ?? []), ...joinColumns, ...joinConditionInfo.columnsUsed]));
|
|
55
|
-
const tracked_columns = !firstField ? undefined : [firstField, ...otherFields];
|
|
56
|
-
const condition = joinConditionInfo.where;
|
|
57
|
-
const alreadyPushed = viewOptions.relatedTables.find((rt) => rt.tableName === relatedTableName && rt.condition === condition);
|
|
58
|
-
if (alreadyPushed) {
|
|
59
|
-
const [firstMerged, ...others] = Array.from(new Set([...(alreadyPushed.tracked_columns ?? []), ...(tracked_columns ?? [])]));
|
|
60
|
-
alreadyPushed.tracked_columns = firstMerged ? [firstMerged, ...others] : undefined;
|
|
61
|
-
return;
|
|
62
49
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
50
|
+
: {};
|
|
51
|
+
// Views can hide changed rows; self joins also need rows outside the trigger's transition tables.
|
|
52
|
+
const needsUnfilteredTrigger = this.isView ||
|
|
53
|
+
joinPath.some((path) => this.dboBuilder.dboMap.get(path.table)?.isView) ||
|
|
54
|
+
(joinPath.length > 0 &&
|
|
55
|
+
[this.name, ...joinPath.slice(0, -1).map((path) => path.table)].includes(relatedTableName));
|
|
56
|
+
const filter = needsUnfilteredTrigger ? {}
|
|
57
|
+
: (0, prostgles_types_1.isEmpty)(targetTableFilter) ? reversedJoinFilter
|
|
58
|
+
: { $and: [targetTableFilter, reversedJoinFilter] };
|
|
59
|
+
const joinConditionInfo = await (0, prepareWhere_1.prepareWhere)(relatedTableOrViewHandler, {
|
|
60
|
+
filter,
|
|
61
|
+
select: undefined,
|
|
62
|
+
addWhere: false,
|
|
63
|
+
localParams: undefined,
|
|
64
|
+
tableRule: undefined,
|
|
65
|
+
});
|
|
66
|
+
const [firstField, ...otherFields] = Array.from(new Set([
|
|
67
|
+
...(selectedColumnNames ?? []),
|
|
68
|
+
...(0, parseJoinPath_1.getJoinPathColumns)(joinPath.at(-1)).target,
|
|
69
|
+
...joinConditionInfo.columnsUsed,
|
|
70
|
+
]));
|
|
71
|
+
const tracked_columns = !firstField ? undefined : [firstField, ...otherFields];
|
|
72
|
+
const condition = joinConditionInfo.where || "TRUE";
|
|
73
|
+
const alreadyPushed = viewOptions.relatedTables.find((rt) => rt.tableName === relatedTableName && rt.condition === condition);
|
|
74
|
+
if (alreadyPushed) {
|
|
75
|
+
const [firstMerged, ...others] = Array.from(new Set([...(alreadyPushed.tracked_columns ?? []), ...(tracked_columns ?? [])]));
|
|
76
|
+
alreadyPushed.tracked_columns =
|
|
77
|
+
alreadyPushed.tracked_columns && tracked_columns && firstMerged ?
|
|
78
|
+
[firstMerged, ...others]
|
|
79
|
+
: undefined;
|
|
80
|
+
return;
|
|
77
81
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
viewOptions.relatedTables.push({
|
|
83
|
+
tableName: relatedTableName,
|
|
84
|
+
tableNameEscaped: (0, prostgles_types_1.asName)(relatedTableName),
|
|
85
|
+
tracked_columns,
|
|
86
|
+
condition,
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const pushRelatedPath = async (joinPath, selectedColumnNames, targetTableFilter) => {
|
|
90
|
+
hasComputedJoin ||= joinPath.some((path) => path.computedJoin);
|
|
91
|
+
(0, parseJoinPath_1.getJoinPathColumns)(joinPath[0]).source.forEach((column) => rootJoinColumns.add(column));
|
|
92
|
+
for (const [index, pathItem] of joinPath.entries()) {
|
|
93
|
+
const isLast = index === joinPath.length - 1;
|
|
94
|
+
await pushRelatedTable(pathItem.table, joinPath.slice(0, index + 1), isLast ? selectedColumnNames : (0, parseJoinPath_1.getJoinPathColumns)(joinPath[index + 1]).source, isLast ? targetTableFilter : {});
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
const subscribeQuery = async (query, parentPath) => {
|
|
98
|
+
for (const join of query.joins ?? []) {
|
|
99
|
+
const joinPath = [...parentPath, ...join.joinPath];
|
|
100
|
+
const sortAliases = query.orderByItems.flatMap((item) => item.nested?.joinAlias.raw === join.joinAlias.raw ? [item.nested.selectItemAlias] : []);
|
|
101
|
+
await pushRelatedPath(joinPath, getQueryColumns(join, sortAliases), {});
|
|
102
|
+
await subscribeQuery(join, joinPath);
|
|
103
|
+
}
|
|
104
|
+
const dependencyExists = query.select
|
|
105
|
+
.filter((item) => item.selected)
|
|
106
|
+
.flatMap((item) => item.dependencyExists ?? []);
|
|
107
|
+
for (const existsFilter of [...query.whereOpts.exists, ...dependencyExists]) {
|
|
108
|
+
if (existsFilter.isJoined) {
|
|
109
|
+
await pushRelatedPath([...parentPath, ...existsFilter.parsedPath], existsFilter.targetTableColumns, existsFilter.targetTableFilter);
|
|
82
110
|
}
|
|
111
|
+
else {
|
|
112
|
+
await pushRelatedTable(existsFilter.targetTable, [], existsFilter.targetTableColumns, existsFilter.targetTableFilter);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
await subscribeQuery(newQuery, []);
|
|
117
|
+
if (this.isView) {
|
|
118
|
+
if (hasComputedJoin) {
|
|
119
|
+
await pushRelatedTable(this.name, [], undefined, {});
|
|
83
120
|
}
|
|
84
|
-
|
|
85
|
-
|
|
121
|
+
else {
|
|
122
|
+
const rootViewOptions = await (0, getViewRelatedTables_1.getViewRelatedTables)(this, localParams, newQuery);
|
|
123
|
+
rootViewOptions.relatedTables.push(...viewOptions.relatedTables);
|
|
124
|
+
viewOptions = rootViewOptions;
|
|
86
125
|
}
|
|
87
126
|
}
|
|
88
|
-
return
|
|
127
|
+
return {
|
|
128
|
+
viewOptions: viewOptions.relatedTables.length ? viewOptions : undefined,
|
|
129
|
+
rootJoinColumns: [...rootJoinColumns],
|
|
130
|
+
};
|
|
89
131
|
}
|
|
132
|
+
const getQueryColumns = (query, sortAliases) => [
|
|
133
|
+
...query.select
|
|
134
|
+
.filter((item) => item.selected ||
|
|
135
|
+
sortAliases.includes(item.alias) ||
|
|
136
|
+
query.orderByItems.some((sort) => sort.key === item.alias))
|
|
137
|
+
.flatMap((item) => [...item.fields, ...(item.dependencyFields ?? [])]),
|
|
138
|
+
...query.whereOpts.columnsUsed,
|
|
139
|
+
...query.orderByItems.map((item) => item.key).filter((key) => query.allFields.includes(key)),
|
|
140
|
+
];
|
|
90
141
|
//# sourceMappingURL=getSubscribeRelatedTables.js.map
|