prostgles-server 4.1.78 → 4.1.80
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/QueryBuilder/getNewQuery.d.ts +1 -1
- package/dist/DboBuilder/find.d.ts.map +1 -1
- package/dist/DboBuilder/find.js +2 -3
- package/dist/DboBuilder/find.js.map +1 -1
- package/lib/DboBuilder/find.ts +3 -4
- package/package.json +2 -2
- package/tests/client/PID.txt +1 -1
- package/tests/client/package-lock.json +15 -15
- package/tests/client/package.json +1 -1
- package/tests/server/package-lock.json +3 -3
|
@@ -4,7 +4,7 @@ import { Filter, LocalParams } from "../../DboBuilder";
|
|
|
4
4
|
import { RawJoinPath } from "prostgles-types";
|
|
5
5
|
import { NewQuery } from "./QueryBuilder";
|
|
6
6
|
export declare function getNewQuery(_this: TableHandler, filter: Filter, selectParams: ({
|
|
7
|
-
limit?: number | undefined;
|
|
7
|
+
limit?: number | null | undefined;
|
|
8
8
|
offset?: number | undefined;
|
|
9
9
|
groupBy?: boolean | undefined;
|
|
10
10
|
returnType?: "values" | "value" | "row" | "statement" | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/find.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAiD,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/find.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAiD,MAAM,eAAe,CAAC;AAEnG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAO,MAAM,IAAI,SAAwB,WAAW,WAAW,MAAM,iBAAiB,YAAY,kBAAkB,SAAS,eAAe,SAAS,gBAAgB,WAAW,KAAG,QAAQ,GAAG,EAAE,CAyE/L,CAAA;AAGD,eAAO,MAAM,kBAAkB,UAAiB,MAAM,cAAc,YAAY,CAAC,YAAY,CAAC,WAAW,WAAW,GAAG,YAAY,eAAe,WAAW,GAAG,SAAS,iBAoBxK,CAAA"}
|
package/dist/DboBuilder/find.js
CHANGED
|
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.runQueryReturnType = exports.find = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const DboBuilder_1 = require("../DboBuilder");
|
|
6
|
-
const getSelectQuery_1 = require("./QueryBuilder/getSelectQuery");
|
|
7
6
|
const runSQL_1 = require("../DboBuilder/runSQL");
|
|
8
7
|
const getNewQuery_1 = require("./QueryBuilder/getNewQuery");
|
|
9
|
-
const
|
|
8
|
+
const getSelectQuery_1 = require("./QueryBuilder/getSelectQuery");
|
|
10
9
|
const find = async function (filter, selectParams, param3_unused, tableRules, localParams) {
|
|
11
10
|
try {
|
|
12
11
|
await this._log({ command: "find", localParams, data: { filter, selectParams } });
|
|
@@ -39,7 +38,7 @@ const find = async function (filter, selectParams, param3_unused, tableRules, lo
|
|
|
39
38
|
throw ` invalid publish.${this.name}.select.maxLimit -> expecting integer but got ` + maxLimit;
|
|
40
39
|
}
|
|
41
40
|
const _selectParams = selectParams ?? {};
|
|
42
|
-
const selectParamsLimitCheck = localParams?.bypassLimit && !Number.isFinite(_selectParams.limit) ?
|
|
41
|
+
const selectParamsLimitCheck = localParams?.bypassLimit && !Number.isFinite(_selectParams.limit) ? { ..._selectParams, limit: null } : { limit: 1000, ..._selectParams };
|
|
43
42
|
const q = await (0, getNewQuery_1.getNewQuery)(this, filter, selectParamsLimitCheck, param3_unused, tableRules, localParams);
|
|
44
43
|
const queryWithoutRLS = (0, getSelectQuery_1.getSelectQuery)(this, q, undefined, !!selectParamsLimitCheck?.groupBy);
|
|
45
44
|
const queryWithRLS = (0, DboBuilder_1.withUserRLS)(localParams, queryWithoutRLS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../lib/DboBuilder/find.ts"],"names":[],"mappings":";;;AACA,qDAAyD;AACzD,8CAAmG;AACnG,
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../lib/DboBuilder/find.ts"],"names":[],"mappings":"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"}
|
package/lib/DboBuilder/find.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
import { SelectParams, isObject } from "prostgles-types";
|
|
3
3
|
import { Filter, LocalParams, makeErrorFromPGError, parseError, withUserRLS } from "../DboBuilder";
|
|
4
|
-
import { getSelectQuery } from "./QueryBuilder/getSelectQuery";
|
|
5
4
|
import { canRunSQL } from "../DboBuilder/runSQL";
|
|
6
5
|
import { TableRule } from "../PublishParser";
|
|
7
|
-
import { TableHandler } from "./TableHandler";
|
|
8
6
|
import { getNewQuery } from "./QueryBuilder/getNewQuery";
|
|
7
|
+
import { getSelectQuery } from "./QueryBuilder/getSelectQuery";
|
|
8
|
+
import { TableHandler } from "./TableHandler";
|
|
9
9
|
import { ViewHandler } from "./ViewHandler/ViewHandler";
|
|
10
|
-
import { omitKeys, pickKeys } from "../PubSubManager/PubSubManager";
|
|
11
10
|
|
|
12
11
|
export const find = async function(this: ViewHandler, filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any[]> {
|
|
13
12
|
try {
|
|
@@ -41,7 +40,7 @@ export const find = async function(this: ViewHandler, filter?: Filter, selectPar
|
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
const _selectParams = selectParams ?? {}
|
|
44
|
-
const selectParamsLimitCheck = localParams?.bypassLimit && !Number.isFinite(_selectParams.limit)?
|
|
43
|
+
const selectParamsLimitCheck = localParams?.bypassLimit && !Number.isFinite(_selectParams.limit)? { ..._selectParams, limit: null } : { limit: 1000, ..._selectParams }
|
|
45
44
|
const q = await getNewQuery(
|
|
46
45
|
this as unknown as TableHandler,
|
|
47
46
|
filter,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prostgles-server",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.80",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"check-disk-space": "^3.3.1",
|
|
42
42
|
"file-type": "^17.1.4",
|
|
43
43
|
"pg-promise": "^11.3.0",
|
|
44
|
-
"prostgles-types": "^4.0.
|
|
44
|
+
"prostgles-types": "^4.0.41"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/bluebird": "^3.5.36",
|
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1241159
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@types/node": "^14.14.16",
|
|
13
|
-
"prostgles-client": "^4.0.
|
|
13
|
+
"prostgles-client": "^4.0.25",
|
|
14
14
|
"socket.io-client": "^4.7.1"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
@@ -74,11 +74,11 @@
|
|
|
74
74
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
|
75
75
|
},
|
|
76
76
|
"node_modules/prostgles-client": {
|
|
77
|
-
"version": "4.0.
|
|
78
|
-
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-4.0.
|
|
79
|
-
"integrity": "sha512-
|
|
77
|
+
"version": "4.0.25",
|
|
78
|
+
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-4.0.25.tgz",
|
|
79
|
+
"integrity": "sha512-wXLrZB65uqF+lop8AV7AuiA01P2sIDZgj+VjH+/SMTlTv5LhpubORIXofDzlZfAwk2eUs53u6o707RtQ4qHt4w==",
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"prostgles-types": "^4.0.
|
|
81
|
+
"prostgles-types": "^4.0.41"
|
|
82
82
|
},
|
|
83
83
|
"peerDependencies": {
|
|
84
84
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
}
|
|
91
91
|
},
|
|
92
92
|
"node_modules/prostgles-types": {
|
|
93
|
-
"version": "4.0.
|
|
94
|
-
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-4.0.
|
|
95
|
-
"integrity": "sha512-
|
|
93
|
+
"version": "4.0.41",
|
|
94
|
+
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-4.0.41.tgz",
|
|
95
|
+
"integrity": "sha512-DiSFE524LjCw5mc/2zDm9mnzirFCAPqutAJl/JD37t83uqXlOQjFb2cNvP4ACD444eJ0DXNhwm8Ko1gy7MsR6w==",
|
|
96
96
|
"dependencies": {
|
|
97
97
|
"json-schema": "^0.4.0"
|
|
98
98
|
}
|
|
@@ -212,17 +212,17 @@
|
|
|
212
212
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
|
213
213
|
},
|
|
214
214
|
"prostgles-client": {
|
|
215
|
-
"version": "4.0.
|
|
216
|
-
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-4.0.
|
|
217
|
-
"integrity": "sha512-
|
|
215
|
+
"version": "4.0.25",
|
|
216
|
+
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-4.0.25.tgz",
|
|
217
|
+
"integrity": "sha512-wXLrZB65uqF+lop8AV7AuiA01P2sIDZgj+VjH+/SMTlTv5LhpubORIXofDzlZfAwk2eUs53u6o707RtQ4qHt4w==",
|
|
218
218
|
"requires": {
|
|
219
|
-
"prostgles-types": "^4.0.
|
|
219
|
+
"prostgles-types": "^4.0.41"
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"prostgles-types": {
|
|
223
|
-
"version": "4.0.
|
|
224
|
-
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-4.0.
|
|
225
|
-
"integrity": "sha512-
|
|
223
|
+
"version": "4.0.41",
|
|
224
|
+
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-4.0.41.tgz",
|
|
225
|
+
"integrity": "sha512-DiSFE524LjCw5mc/2zDm9mnzirFCAPqutAJl/JD37t83uqXlOQjFb2cNvP4ACD444eJ0DXNhwm8Ko1gy7MsR6w==",
|
|
226
226
|
"requires": {
|
|
227
227
|
"json-schema": "^0.4.0"
|
|
228
228
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"../..": {
|
|
23
23
|
"name": "prostgles-server",
|
|
24
|
-
"version": "4.1.
|
|
24
|
+
"version": "4.1.79",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@types/express": "^4.17.13",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"check-disk-space": "^3.3.1",
|
|
31
31
|
"file-type": "^17.1.4",
|
|
32
32
|
"pg-promise": "^11.3.0",
|
|
33
|
-
"prostgles-types": "^4.0.
|
|
33
|
+
"prostgles-types": "^4.0.41"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/bluebird": "^3.5.36",
|
|
@@ -1521,7 +1521,7 @@
|
|
|
1521
1521
|
"eslint": "^8.44.0",
|
|
1522
1522
|
"file-type": "^17.1.4",
|
|
1523
1523
|
"pg-promise": "^11.3.0",
|
|
1524
|
-
"prostgles-types": "^4.0.
|
|
1524
|
+
"prostgles-types": "^4.0.41",
|
|
1525
1525
|
"typescript": "^5.0.3"
|
|
1526
1526
|
}
|
|
1527
1527
|
},
|