prostgles-server 4.1.88 → 4.1.90
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/getExistsCondition.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js +0 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts +1 -2
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +7 -6
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +18 -2
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/dist/PublishParser.d.ts +1 -0
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser.js +57 -1
- package/dist/PublishParser.js.map +1 -1
- package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +0 -1
- package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +7 -7
- package/lib/PubSubManager/initPubSubManager.ts +19 -2
- package/lib/PublishParser.ts +62 -1
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/isomorphic_queries.ts +11 -1
- package/tests/server/package-lock.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExistsCondition.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getExistsCondition.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getExistsCondition.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getExistsCondition.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA+D9I"}
|
|
@@ -45,7 +45,6 @@ async function getExistsCondition(eConfig, localParams) {
|
|
|
45
45
|
if (eConfig.isJoined) {
|
|
46
46
|
const { query } = (0, getTableJoinQuery_1.getTableJoinQuery)({
|
|
47
47
|
path: eConfig.parsedPath,
|
|
48
|
-
aliasSufix: "jd",
|
|
49
48
|
rootTableAlias: thisTable,
|
|
50
49
|
type: "EXISTS",
|
|
51
50
|
finalWhere,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExistsCondition.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getExistsCondition.ts"],"names":[],"mappings":";;;AAAA,qDAA0F;AAK1F,2DAAwD;AAGjD,KAAK,UAAU,kBAAkB,CAAoB,OAA2B,EAAE,WAAoC;IAE3H,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnF,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAEtC,mCAAmC;IACnC,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,6BAAW,CAAC,QAAQ,CAAC,EAAgB,CAAC,CAAC,EAAE;QAC1G,MAAM,EAAE,KAAK,EAAE,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;KACpF;IAED,IAAI,OAAO,GAA0B,SAAS,EAC5C,YAAmC,EACnC,YAAqC,EACrC,UAAU,CAAC;IAEb,uGAAuG;IACvG,IAAI,WAAW,EAAE,eAAe,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE;QACjF,MAAM,sEAAsE,CAAC;KAC9E;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAA,CAAC,CAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC9F,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;QAElF,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,2BAA2B,CAAC;YACxE,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,MAAM;YACf,WAAW;SACZ,CAAc,CAAC;QAEhB,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM,aAAa,CAAC;QACrD,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACnD;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAiB,CAAA;IACrE,MAAM,UAAU,GAAG,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC;QAClD,MAAM,EAAE,iBAAiB;QACzB,YAAY;QACZ,YAAY;QACZ,WAAW,EAAE,KAAK;QAClB,UAAU;QACV,WAAW;QACX,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC,CAAC,KAAK,CAAA;IAET,IAAI,UAAU,GAAG;QACf,UAAU;QACV,QAAQ,IAAA,wBAAM,EAAC,WAAW,CAAC,EAAE;QAC7B,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAG,OAAO,CAAC,QAAQ,EAAC;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,qCAAiB,EAAC;YAClC,IAAI,EAAE,OAAO,CAAC,UAAU;YACxB,
|
|
1
|
+
{"version":3,"file":"getExistsCondition.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getExistsCondition.ts"],"names":[],"mappings":";;;AAAA,qDAA0F;AAK1F,2DAAwD;AAGjD,KAAK,UAAU,kBAAkB,CAAoB,OAA2B,EAAE,WAAoC;IAE3H,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnF,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAEtC,mCAAmC;IACnC,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,6BAAW,CAAC,QAAQ,CAAC,EAAgB,CAAC,CAAC,EAAE;QAC1G,MAAM,EAAE,KAAK,EAAE,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;KACpF;IAED,IAAI,OAAO,GAA0B,SAAS,EAC5C,YAAmC,EACnC,YAAqC,EACrC,UAAU,CAAC;IAEb,uGAAuG;IACvG,IAAI,WAAW,EAAE,eAAe,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE;QACjF,MAAM,sEAAsE,CAAC;KAC9E;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAA,CAAC,CAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC9F,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;QAElF,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,2BAA2B,CAAC;YACxE,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,MAAM;YACf,WAAW;SACZ,CAAc,CAAC;QAEhB,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM,aAAa,CAAC;QACrD,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACnD;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAiB,CAAA;IACrE,MAAM,UAAU,GAAG,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC;QAClD,MAAM,EAAE,iBAAiB;QACzB,YAAY;QACZ,YAAY;QACZ,WAAW,EAAE,KAAK;QAClB,UAAU;QACV,WAAW;QACX,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC,CAAC,KAAK,CAAA;IAET,IAAI,UAAU,GAAG;QACf,UAAU;QACV,QAAQ,IAAA,wBAAM,EAAC,WAAW,CAAC,EAAE;QAC7B,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAG,OAAO,CAAC,QAAQ,EAAC;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,qCAAiB,EAAC;YAClC,IAAI,EAAE,OAAO,CAAC,UAAU;YACxB,cAAc,EAAE,SAAS;YACzB,IAAI,EAAE,QAAQ;YACd,UAAU;SACX,CAAC,CAAC;QACH,UAAU,GAAG,KAAK,CAAC;KACpB;IAED,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,UAAU,OAAO,CAAC;AAExE,CAAC;AA/DD,gDA+DC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { ParsedJoinPath } from "./parseJoinPath";
|
|
2
2
|
type getTableJoinsArgs = {
|
|
3
|
-
aliasSufix: string;
|
|
4
3
|
rootTableAlias: string;
|
|
5
4
|
type: "INNER" | "LEFT" | "EXISTS";
|
|
6
5
|
finalWhere?: string;
|
|
7
6
|
path: ParsedJoinPath[];
|
|
8
7
|
};
|
|
9
|
-
export declare const getTableJoinQuery: ({ path, type,
|
|
8
|
+
export declare const getTableJoinQuery: ({ path, type, rootTableAlias, finalWhere }: getTableJoinsArgs) => {
|
|
10
9
|
targetAlias: string;
|
|
11
10
|
query: string;
|
|
12
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,iBAAiB,GAAG;IACvB,
|
|
1
|
+
{"version":3,"file":"getTableJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB,CAAA;AACD,eAAO,MAAM,iBAAiB,+CAAgD,iBAAiB;iBAAkB,MAAM;WAAS,MAAM;CA6DrI,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C,CAAA;AACD,eAAO,MAAM,kBAAkB,mEAAsF,sBAAsB,WAI1I,CAAA"}
|
|
@@ -2,18 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getJoinOnCondition = exports.getTableJoinQuery = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const getTableJoinQuery = ({ path, type,
|
|
5
|
+
const getTableJoinQuery = ({ path, type, rootTableAlias, finalWhere }) => {
|
|
6
6
|
const [firstPath] = path;
|
|
7
7
|
if (!firstPath) {
|
|
8
8
|
throw `Cannot create join query for empty path`;
|
|
9
9
|
}
|
|
10
|
-
const
|
|
10
|
+
const aliasSufix = "jd";
|
|
11
|
+
const getTableAlias = (table, pathIndex) => (0, prostgles_types_1.asName)(`${aliasSufix}_${pathIndex}_${table}`);
|
|
11
12
|
const query = path.map(({ table, on }, i) => {
|
|
12
13
|
if (!on)
|
|
13
14
|
throw "on missing";
|
|
14
15
|
const tableName = table;
|
|
15
|
-
const tableAlias = getTableAlias(table);
|
|
16
|
-
const prevTableAlias = i === 0 ? rootTableAlias : getTableAlias(path[i - 1].table);
|
|
16
|
+
const tableAlias = getTableAlias(table, i);
|
|
17
|
+
const prevTableAlias = i === 0 ? rootTableAlias : getTableAlias(path[i - 1].table, i - 1);
|
|
17
18
|
const onCondition = (0, exports.getJoinOnCondition)({ on, leftAlias: prevTableAlias, rightAlias: tableAlias });
|
|
18
19
|
const isExists = type === "EXISTS";
|
|
19
20
|
const joinType = isExists ? "INNER" : type;
|
|
@@ -28,7 +29,7 @@ const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, finalWhere
|
|
|
28
29
|
`WHERE (${(0, exports.getJoinOnCondition)({
|
|
29
30
|
on: firstPath.on,
|
|
30
31
|
leftAlias: rootTableAlias,
|
|
31
|
-
rightAlias: getTableAlias(firstPath.table)
|
|
32
|
+
rightAlias: getTableAlias(firstPath.table, 0)
|
|
32
33
|
})})` : "";
|
|
33
34
|
const tableSelect = (isExists && isLast) ? [
|
|
34
35
|
`(`,
|
|
@@ -52,7 +53,7 @@ const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, finalWhere
|
|
|
52
53
|
}).join("\n");
|
|
53
54
|
return {
|
|
54
55
|
query,
|
|
55
|
-
targetAlias: getTableAlias(path.at(-1).table)
|
|
56
|
+
targetAlias: getTableAlias(path.at(-1).table, path.length - 1)
|
|
56
57
|
};
|
|
57
58
|
};
|
|
58
59
|
exports.getTableJoinQuery = getTableJoinQuery;
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAI9D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAI9D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8I/F"}
|
|
@@ -57,7 +57,6 @@ async function initPubSubManager() {
|
|
|
57
57
|
checkForStaleTriggers = `
|
|
58
58
|
DO $$
|
|
59
59
|
BEGIN
|
|
60
|
-
set statement_timeout to ${Math.min(5e3, Math.round(this.appCheckFrequencyMS / 2))};
|
|
61
60
|
/*
|
|
62
61
|
${REALTIME_TRIGGER_CHECK_QUERY}
|
|
63
62
|
${PubSubManager_1.PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
|
|
@@ -80,8 +79,25 @@ async function initPubSubManager() {
|
|
|
80
79
|
${dataTriggerCheckQuery}
|
|
81
80
|
END IF;
|
|
82
81
|
|
|
82
|
+
END $$;`;
|
|
83
|
+
const queryTimeoutMillis = Math.min(5e3, Math.round(this.appCheckFrequencyMS / 2));
|
|
84
|
+
this.db.any(`
|
|
85
|
+
DO $$
|
|
86
|
+
BEGIN
|
|
87
|
+
/*
|
|
88
|
+
${REALTIME_TRIGGER_CHECK_QUERY}
|
|
89
|
+
${PubSubManager_1.PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
|
|
90
|
+
*/
|
|
91
|
+
DO $$
|
|
92
|
+
BEGIN
|
|
93
|
+
PERFORM pg_sleep(\${queryTimeoutMillis}/1e3);
|
|
94
|
+
SELECT pg_cancel_backend(pid)
|
|
95
|
+
FROM pg_catalog.pg_stat_activity
|
|
96
|
+
WHERE pid <> pg_backend_pid()
|
|
97
|
+
AND query = \${checkForStaleTriggers};
|
|
98
|
+
END $$;
|
|
83
99
|
END $$;
|
|
84
|
-
|
|
100
|
+
`, { queryTimeoutMillis, checkForStaleTriggers });
|
|
85
101
|
await this.db.any(checkForStaleTriggers);
|
|
86
102
|
tries = 5;
|
|
87
103
|
(0, PubSubManager_1.log)("updated last_check");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,mDAA8D;AAC9D,MAAM,4BAA4B,GAAG,kEAA2E,CAAC;AACjH,iDAA8C;AAEvC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAGhC,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC3B,sJAAsJ,EACpJ,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAC3D,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YAEpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAElB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;oBACrC,IAAI,qBAAqB,GAAG,EAAE,CAAC;oBAC/B,IAAI,EAAI,qBAAqB;wBAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBAExB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5C,MAAM,wBAAwB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;wBACtF,IAAI,qBAAqB,GAAG,EAAE,CAAC;wBAC/B,IAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,wBAAwB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAC;4BACzF,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;4BACzD,qBAAqB,GAAG;;;;;;;;;;sBAUhB,CAAC,SAAS,CAAC,MAAM,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;0BAGpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAA,uBAAO,EAAC,CAAC,CAAC,UAAU,CAAC,KAAK,IAAA,uBAAO,EAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;uCAE3E,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;qBACrC;;;;qCAIgB,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;kDACN,IAAA,uBAAO,EAAC,IAAI,CAAC,mBAAmB,CAAC;;;;eAIpE,CAAA;yBACF;wBAED,qBAAqB,GAAG;;;
|
|
1
|
+
{"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,mDAA8D;AAC9D,MAAM,4BAA4B,GAAG,kEAA2E,CAAC;AACjH,iDAA8C;AAEvC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAGhC,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC3B,sJAAsJ,EACpJ,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAC3D,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YAEpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAElB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;oBACrC,IAAI,qBAAqB,GAAG,EAAE,CAAC;oBAC/B,IAAI,EAAI,qBAAqB;wBAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBAExB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5C,MAAM,wBAAwB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;wBACtF,IAAI,qBAAqB,GAAG,EAAE,CAAC;wBAC/B,IAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,wBAAwB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAC;4BACzF,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;4BACzD,qBAAqB,GAAG;;;;;;;;;;sBAUhB,CAAC,SAAS,CAAC,MAAM,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;0BAGpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAA,uBAAO,EAAC,CAAC,CAAC,UAAU,CAAC,KAAK,IAAA,uBAAO,EAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;uCAE3E,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;qBACrC;;;;qCAIgB,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;kDACN,IAAA,uBAAO,EAAC,IAAI,CAAC,mBAAmB,CAAC;;;;eAIpE,CAAA;yBACF;wBAED,qBAAqB,GAAG;;;;oBAIhB,4BAA4B;oBAC5B,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;iCAenC,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;;sBAE9B,qBAAqB;;;sBAGrB,CAAA;wBAEV,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAC,CAAC,CAAC,CAAC,CAAC;wBACjF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;;;oBAIJ,4BAA4B;oBAC5B,6BAAa,CAAC,kCAAkC;;;;;;;;;;;aAWvD,EAAE,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,CAAC,CAAA;wBACjD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;wBACzC,KAAK,GAAG,CAAC,CAAC;wBACV,IAAA,mBAAG,EAAC,oBAAoB,CAAC,CAAC;qBAC3B;oBAAC,OAAO,CAAM,EAAE;wBACf,KAAK,EAAG,CAAC;wBAET,4FAA4F;wBAC5F,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,sHAAsH,EACtH,EAAE,GAAG,EAAE,GAAG,GAAG,4BAA4B,GAAG,GAAG,EAAE,CAClD,CAAC;wBAEF;;;;;6BAKK;wBACL,IAAG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,EAAC,EAAE,+CAA+C;4BACpF,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBAC9B;wBACD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;qBAChE;oBAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC3B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACpC;SACF;QAED,IAAI,CAAC,0BAA0B,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5H,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAEpC,OAAO,IAAI,CAAC;KAEb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;KACjD;AACH,CAAC;AA9ID,8CA8IC"}
|
package/dist/PublishParser.d.ts
CHANGED
|
@@ -280,5 +280,6 @@ export declare class PublishParser {
|
|
|
280
280
|
tables: DBSchemaTable[];
|
|
281
281
|
}>;
|
|
282
282
|
}
|
|
283
|
+
export declare function getFileTableRules(this: PublishParser, socket: PRGLIOSocket, clientInfo: AuthResult | undefined): Promise<TableRule<AnyObject, void>>;
|
|
283
284
|
export {};
|
|
284
285
|
//# sourceMappingURL=PublishParser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAO,oBAAoB,EAAE,aAAa,EAAwB,UAAU,EAAY,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3K,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAyB,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtI,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"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"}
|
package/dist/PublishParser.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PublishParser = void 0;
|
|
3
|
+
exports.getFileTableRules = exports.PublishParser = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const DboBuilder_1 = require("./DboBuilder");
|
|
6
6
|
const Prostgles_1 = require("./Prostgles");
|
|
@@ -79,6 +79,7 @@ const RULE_TO_METHODS = [
|
|
|
79
79
|
}
|
|
80
80
|
];
|
|
81
81
|
const PubSubManager_1 = require("./PubSubManager/PubSubManager");
|
|
82
|
+
const parseFieldFilter_1 = require("./DboBuilder/ViewHandler/parseFieldFilter");
|
|
82
83
|
class PublishParser {
|
|
83
84
|
publish;
|
|
84
85
|
publishMethods;
|
|
@@ -436,4 +437,59 @@ function applyParamsIfFunc(maybeFunc, ...params) {
|
|
|
436
437
|
}
|
|
437
438
|
return maybeFunc;
|
|
438
439
|
}
|
|
440
|
+
async function getFileTableRules(socket, clientInfo) {
|
|
441
|
+
const opts = this.prostgles.opts;
|
|
442
|
+
const forcedDeleteFilters = [];
|
|
443
|
+
const forcedSelectFilters = [];
|
|
444
|
+
if (opts.fileTable?.referencedTables) {
|
|
445
|
+
Object.entries(opts.fileTable.referencedTables).forEach(async ([tableName, refCols]) => {
|
|
446
|
+
if ((0, prostgles_types_1.isObject)(refCols)) {
|
|
447
|
+
const table_rules = await this.getTableRules({ localParams: { socket }, tableName }, clientInfo);
|
|
448
|
+
if (table_rules) {
|
|
449
|
+
Object.keys(refCols).map(column => {
|
|
450
|
+
if (table_rules.delete) {
|
|
451
|
+
forcedDeleteFilters.push({
|
|
452
|
+
$existsJoined: {
|
|
453
|
+
path: [{ table: tableName, on: [{ [column]: "id" }] }],
|
|
454
|
+
filter: table_rules.delete.forcedFilter ?? {},
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
if (table_rules.select) {
|
|
459
|
+
const parsedFields = (0, parseFieldFilter_1.parseFieldFilter)(table_rules.select.fields, false, [column]);
|
|
460
|
+
/** Must be allowed to view this column */
|
|
461
|
+
if (parsedFields.includes(column)) {
|
|
462
|
+
forcedSelectFilters.push({
|
|
463
|
+
$existsJoined: {
|
|
464
|
+
path: [{ table: tableName, on: [{ [column]: "id" }] }],
|
|
465
|
+
filter: table_rules.select.forcedFilter ?? {},
|
|
466
|
+
}
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
const fileTableRule = {};
|
|
476
|
+
if (forcedSelectFilters.length) {
|
|
477
|
+
fileTableRule.select = {
|
|
478
|
+
fields: "*",
|
|
479
|
+
forcedFilter: {
|
|
480
|
+
$or: forcedSelectFilters
|
|
481
|
+
}
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
if (forcedDeleteFilters.length) {
|
|
485
|
+
fileTableRule.delete = {
|
|
486
|
+
filterFields: "*",
|
|
487
|
+
forcedFilter: {
|
|
488
|
+
$or: forcedSelectFilters
|
|
489
|
+
}
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
return fileTableRule;
|
|
493
|
+
}
|
|
494
|
+
exports.getFileTableRules = getFileTableRules;
|
|
439
495
|
//# sourceMappingURL=PublishParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,25 +2,25 @@ import { asName } from "prostgles-types";
|
|
|
2
2
|
import { ParsedJoinPath } from "./parseJoinPath";
|
|
3
3
|
|
|
4
4
|
type getTableJoinsArgs = {
|
|
5
|
-
aliasSufix: string;
|
|
6
5
|
rootTableAlias: string;
|
|
7
6
|
type: "INNER" | "LEFT" | "EXISTS";
|
|
8
7
|
finalWhere?: string;
|
|
9
8
|
path: ParsedJoinPath[];
|
|
10
9
|
}
|
|
11
|
-
export const getTableJoinQuery = ({ path, type,
|
|
10
|
+
export const getTableJoinQuery = ({ path, type, rootTableAlias, finalWhere }: getTableJoinsArgs): { targetAlias: string; query: string } => {
|
|
12
11
|
|
|
13
12
|
const [firstPath] = path;
|
|
14
13
|
if(!firstPath){
|
|
15
14
|
throw `Cannot create join query for empty path`;
|
|
16
15
|
}
|
|
17
|
-
const
|
|
16
|
+
const aliasSufix = "jd";
|
|
17
|
+
const getTableAlias = (table: string, pathIndex: number) => asName(`${aliasSufix}_${pathIndex}_${table}`);
|
|
18
18
|
|
|
19
19
|
const query = path.map(({ table, on }, i) => {
|
|
20
20
|
if(!on) throw "on missing";
|
|
21
21
|
const tableName = table;
|
|
22
|
-
const tableAlias = getTableAlias(table);
|
|
23
|
-
const prevTableAlias = i === 0? rootTableAlias : getTableAlias(path[i-1]!.table);
|
|
22
|
+
const tableAlias = getTableAlias(table, i);
|
|
23
|
+
const prevTableAlias = i === 0? rootTableAlias : getTableAlias(path[i-1]!.table, i-1);
|
|
24
24
|
|
|
25
25
|
const onCondition = getJoinOnCondition({ on, leftAlias: prevTableAlias, rightAlias: tableAlias });
|
|
26
26
|
|
|
@@ -38,7 +38,7 @@ export const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, fina
|
|
|
38
38
|
`WHERE (${getJoinOnCondition({
|
|
39
39
|
on: firstPath.on,
|
|
40
40
|
leftAlias: rootTableAlias,
|
|
41
|
-
rightAlias: getTableAlias(firstPath.table)
|
|
41
|
+
rightAlias: getTableAlias(firstPath.table, 0)
|
|
42
42
|
})})` : "";
|
|
43
43
|
|
|
44
44
|
const tableSelect = (isExists && isLast)? [
|
|
@@ -66,7 +66,7 @@ export const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, fina
|
|
|
66
66
|
|
|
67
67
|
return {
|
|
68
68
|
query,
|
|
69
|
-
targetAlias: getTableAlias(path.at(-1)!.table)
|
|
69
|
+
targetAlias: getTableAlias(path.at(-1)!.table, path.length - 1)
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
@@ -65,7 +65,6 @@ export async function initPubSubManager(this: PubSubManager): Promise<PubSubMana
|
|
|
65
65
|
checkForStaleTriggers = `
|
|
66
66
|
DO $$
|
|
67
67
|
BEGIN
|
|
68
|
-
set statement_timeout to ${Math.min(5e3, Math.round(this.appCheckFrequencyMS/2))};
|
|
69
68
|
/*
|
|
70
69
|
${REALTIME_TRIGGER_CHECK_QUERY}
|
|
71
70
|
${PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
|
|
@@ -88,8 +87,26 @@ export async function initPubSubManager(this: PubSubManager): Promise<PubSubMana
|
|
|
88
87
|
${dataTriggerCheckQuery}
|
|
89
88
|
END IF;
|
|
90
89
|
|
|
90
|
+
END $$;`
|
|
91
|
+
|
|
92
|
+
const queryTimeoutMillis = Math.min(5e3, Math.round(this.appCheckFrequencyMS/2));
|
|
93
|
+
this.db.any(`
|
|
94
|
+
DO $$
|
|
95
|
+
BEGIN
|
|
96
|
+
/*
|
|
97
|
+
${REALTIME_TRIGGER_CHECK_QUERY}
|
|
98
|
+
${PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
|
|
99
|
+
*/
|
|
100
|
+
DO $$
|
|
101
|
+
BEGIN
|
|
102
|
+
PERFORM pg_sleep(\${queryTimeoutMillis}/1e3);
|
|
103
|
+
SELECT pg_cancel_backend(pid)
|
|
104
|
+
FROM pg_catalog.pg_stat_activity
|
|
105
|
+
WHERE pid <> pg_backend_pid()
|
|
106
|
+
AND query = \${checkForStaleTriggers};
|
|
107
|
+
END $$;
|
|
91
108
|
END $$;
|
|
92
|
-
|
|
109
|
+
`, { queryTimeoutMillis, checkForStaleTriggers })
|
|
93
110
|
await this.db.any(checkForStaleTriggers);
|
|
94
111
|
tries = 5;
|
|
95
112
|
log("updated last_check");
|
package/lib/PublishParser.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getKeys, RULE_METHODS, AnyObject, get, TableSchemaForClient, DBSchemaTable, MethodKey, TableInfo, FullFilter, isObject, Method, DBSchema } from "prostgles-types";
|
|
2
2
|
import { AuthResult, SessionUser } from "./AuthHandler";
|
|
3
3
|
import { CommonTableRules, Filter, isPlainObject, LocalParams, PRGLIOSocket, TableOrViewInfo, TableSchemaColumn } from "./DboBuilder";
|
|
4
|
-
import { Prostgles, DBHandlerServer, DB, TABLE_METHODS } from "./Prostgles";
|
|
4
|
+
import { Prostgles, DBHandlerServer, DB, TABLE_METHODS, ProstglesInitOptions } from "./Prostgles";
|
|
5
5
|
import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
|
|
6
6
|
|
|
7
7
|
export type PublishMethods<S = void, SUser extends SessionUser = SessionUser> = (params: PublishParams<S, SUser>) => { [key: string]: Method } | Promise<{ [key: string]: Method } | null>;
|
|
@@ -101,6 +101,7 @@ import { FieldFilter, SelectParams } from "prostgles-types";
|
|
|
101
101
|
import { DEFAULT_SYNC_BATCH_SIZE } from "./PubSubManager/PubSubManager";
|
|
102
102
|
import { TableHandler } from "./DboBuilder/TableHandler";
|
|
103
103
|
import { ViewHandler } from "./DboBuilder/ViewHandler/ViewHandler";
|
|
104
|
+
import { parseFieldFilter } from "./DboBuilder/ViewHandler/parseFieldFilter";
|
|
104
105
|
|
|
105
106
|
export type InsertRequestData = {
|
|
106
107
|
data: object | object[]
|
|
@@ -796,4 +797,64 @@ function applyParamsIfFunc(maybeFunc: any, ...params: any): any {
|
|
|
796
797
|
}
|
|
797
798
|
|
|
798
799
|
return maybeFunc;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
export async function getFileTableRules (this: PublishParser, socket: PRGLIOSocket, clientInfo: AuthResult | undefined) {
|
|
803
|
+
const opts = this.prostgles.opts;
|
|
804
|
+
const forcedDeleteFilters: FullFilter<AnyObject, void>[] = [];
|
|
805
|
+
const forcedSelectFilters: FullFilter<AnyObject, void>[] = [];
|
|
806
|
+
if(opts.fileTable?.referencedTables){
|
|
807
|
+
Object.entries(opts.fileTable.referencedTables).forEach(async ([tableName, refCols]) => {
|
|
808
|
+
if(isObject(refCols)){
|
|
809
|
+
const table_rules = await this.getTableRules({ localParams: { socket }, tableName }, clientInfo);
|
|
810
|
+
if(table_rules){
|
|
811
|
+
Object.keys(refCols).map(column => {
|
|
812
|
+
|
|
813
|
+
if(table_rules.delete){
|
|
814
|
+
forcedDeleteFilters.push({
|
|
815
|
+
$existsJoined: {
|
|
816
|
+
path: [{ table: tableName, on: [{ [column]: "id" }] }],
|
|
817
|
+
filter: table_rules.delete.forcedFilter ?? {},
|
|
818
|
+
}
|
|
819
|
+
})
|
|
820
|
+
}
|
|
821
|
+
if(table_rules.select){
|
|
822
|
+
const parsedFields = parseFieldFilter(table_rules.select.fields, false, [column]);
|
|
823
|
+
/** Must be allowed to view this column */
|
|
824
|
+
if(parsedFields.includes(column as any)){
|
|
825
|
+
forcedSelectFilters.push({
|
|
826
|
+
$existsJoined: {
|
|
827
|
+
path: [{ table: tableName, on: [{ [column]: "id" }] }],
|
|
828
|
+
filter: table_rules.select.forcedFilter ?? {},
|
|
829
|
+
}
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
})
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
})
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
const fileTableRule: TableRule = {};
|
|
842
|
+
if(forcedSelectFilters.length){
|
|
843
|
+
fileTableRule.select = {
|
|
844
|
+
fields: "*",
|
|
845
|
+
forcedFilter: {
|
|
846
|
+
$or: forcedSelectFilters
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
if(forcedDeleteFilters.length){
|
|
851
|
+
fileTableRule.delete = {
|
|
852
|
+
filterFields: "*",
|
|
853
|
+
forcedFilter: {
|
|
854
|
+
$or: forcedSelectFilters
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
return fileTableRule;
|
|
799
860
|
}
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2604230
|
|
@@ -946,7 +946,7 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
946
946
|
}]
|
|
947
947
|
}]);
|
|
948
948
|
|
|
949
|
-
const
|
|
949
|
+
const exists1 = await db[`"""quoted0"""`].find({
|
|
950
950
|
$existsJoined: {
|
|
951
951
|
path: ['"""quoted1"""', '"""quoted2"""'],
|
|
952
952
|
filter: {
|
|
@@ -954,6 +954,16 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
954
954
|
}
|
|
955
955
|
}
|
|
956
956
|
}, { select: "*" });
|
|
957
|
+
/** Duplicated tables */
|
|
958
|
+
const exists2 = await db[`"""quoted0"""`].find({
|
|
959
|
+
$existsJoined: {
|
|
960
|
+
path: ['"""quoted1"""', '"""quoted2"""','"""quoted1"""', '"""quoted2"""'],
|
|
961
|
+
filter: {
|
|
962
|
+
'"id2"': 1,
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
}, { select: "*" });
|
|
966
|
+
assert.deepStrictEqual(exists1, exists2)
|
|
957
967
|
})
|
|
958
968
|
|
|
959
969
|
await tryRun("Reverse join with agg", async () => {
|