prostgles-server 4.0.36 → 4.0.37
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.d.ts +1 -1
- package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler.js +2 -77
- package/dist/DboBuilder/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/delete.d.ts.map +1 -1
- package/dist/DboBuilder/delete.js +5 -2
- package/dist/DboBuilder/delete.js.map +1 -1
- package/dist/DboBuilder/find.d.ts +8 -0
- package/dist/DboBuilder/find.d.ts.map +1 -0
- package/dist/DboBuilder/find.js +89 -0
- package/dist/DboBuilder/find.js.map +1 -0
- package/dist/DboBuilder/insert.d.ts.map +1 -1
- package/dist/DboBuilder/insert.js +4 -2
- package/dist/DboBuilder/insert.js.map +1 -1
- package/dist/DboBuilder/update.d.ts.map +1 -1
- package/dist/DboBuilder/update.js +6 -1
- package/dist/DboBuilder/update.js.map +1 -1
- package/lib/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
- package/lib/DboBuilder/QueryBuilder/Functions.js +18 -11
- package/lib/DboBuilder/ViewHandler.d.ts +1 -1
- package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/lib/DboBuilder/ViewHandler.js +2 -77
- package/lib/DboBuilder/ViewHandler.ts +6 -80
- package/lib/DboBuilder/delete.d.ts.map +1 -1
- package/lib/DboBuilder/delete.js +5 -2
- package/lib/DboBuilder/delete.ts +7 -3
- package/lib/DboBuilder/find.d.ts +8 -0
- package/lib/DboBuilder/find.d.ts.map +1 -0
- package/lib/DboBuilder/find.js +88 -0
- package/lib/DboBuilder/find.ts +89 -0
- package/lib/DboBuilder/insert.d.ts.map +1 -1
- package/lib/DboBuilder/insert.js +4 -2
- package/lib/DboBuilder/insert.ts +4 -2
- package/lib/DboBuilder/update.d.ts.map +1 -1
- package/lib/DboBuilder/update.js +6 -1
- package/lib/DboBuilder/update.ts +7 -2
- package/lib/JSONBValidation/validation.js +1 -1
- package/package.json +2 -2
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +3 -3
|
@@ -5,6 +5,7 @@ const prostgles_types_1 = require("prostgles-types");
|
|
|
5
5
|
const DboBuilder_1 = require("../DboBuilder");
|
|
6
6
|
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
7
7
|
const uploadFile_1 = require("./uploadFile");
|
|
8
|
+
const find_1 = require("./find");
|
|
8
9
|
async function update(filter, _newData, params, tableRules, localParams) {
|
|
9
10
|
const ACTION = "update";
|
|
10
11
|
try {
|
|
@@ -51,7 +52,8 @@ async function update(filter, _newData, params, tableRules, localParams) {
|
|
|
51
52
|
const { returning, multi = true, onConflictDoNothing = false, fixIssues = false } = params || {};
|
|
52
53
|
const { returnQuery = false } = localParams ?? {};
|
|
53
54
|
if (params) {
|
|
54
|
-
const
|
|
55
|
+
const good_paramsObj = { returning: 1, returnType: 1, fixIssues: 1, onConflictDoNothing: 1, multi: 1 };
|
|
56
|
+
const good_params = Object.keys(good_paramsObj);
|
|
55
57
|
const bad_params = Object.keys(params).filter(k => !good_params.includes(k));
|
|
56
58
|
if (bad_params && bad_params.length)
|
|
57
59
|
throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
|
|
@@ -106,6 +108,9 @@ async function update(filter, _newData, params, tableRules, localParams) {
|
|
|
106
108
|
}
|
|
107
109
|
if (returnQuery)
|
|
108
110
|
return query;
|
|
111
|
+
if (params?.returnType) {
|
|
112
|
+
return (0, find_1.runQueryReturnType)(query, params.returnType, this, localParams);
|
|
113
|
+
}
|
|
109
114
|
let result;
|
|
110
115
|
if (this.t) {
|
|
111
116
|
result = await (this.t)[qType](query).catch((err) => (0, DboBuilder_1.makeErrorFromPGError)(err, localParams, this, fields));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../lib/DboBuilder/update.ts"],"names":[],"mappings":";;;AAAA,qDAA0F;AAC1F,8CAA4G;AAE5G,kEAAoE;AAEpE,6CAAiD;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../lib/DboBuilder/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Functions.d.ts","sourceRoot":"","sources":["Functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAqB,uBAAuB,EAAuC,MAAM,iBAAiB,CAAC;AAKtI,eAAO,MAAM,aAAa,aAAc;IAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;CAAE,KAAG,YA0C5I,CAAA;AAGD,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IAGH;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC9C;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,MAAM,EAAE,CAAC;IAC3C;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC;IAE3C,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC,CAAC;AA8VF;;EAEE;AACF,eAAO,MAAM,SAAS,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"Functions.d.ts","sourceRoot":"","sources":["Functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAqB,uBAAuB,EAAuC,MAAM,iBAAiB,CAAC;AAKtI,eAAO,MAAM,aAAa,aAAc;IAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;CAAE,KAAG,YA0C5I,CAAA;AAGD,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IAGH;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC9C;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,MAAM,EAAE,CAAC;IAC3C;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC;IAE3C,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC,CAAC;AA8VF;;EAEE;AACF,eAAO,MAAM,SAAS,EAAE,YAAY,EA+jBnC,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,SAAS,EA8BtC,CAAC"}
|
|
@@ -303,7 +303,7 @@ PostGIS_Funcs = PostGIS_Funcs.concat([
|
|
|
303
303
|
singleColArg: true,
|
|
304
304
|
numArgs: 1,
|
|
305
305
|
getFields: (args) => [args[0]],
|
|
306
|
-
getQuery: ({
|
|
306
|
+
getQuery: ({ args: [colName, ...otherArgs], tableAlias }) => {
|
|
307
307
|
let secondArg = "";
|
|
308
308
|
if (otherArgs.length)
|
|
309
309
|
secondArg = ", " + otherArgs.map(arg => asValue(arg)).join(", ");
|
|
@@ -329,7 +329,7 @@ PostGIS_Funcs = PostGIS_Funcs.concat(["ST_Extent", "ST_3DExtent", "ST_XMin_Agg",
|
|
|
329
329
|
singleColArg: true,
|
|
330
330
|
numArgs: 1,
|
|
331
331
|
getFields: (args) => [args[0]],
|
|
332
|
-
getQuery: ({
|
|
332
|
+
getQuery: ({ args, tableAlias }) => {
|
|
333
333
|
const escTabelName = (0, QueryBuilder_1.asNameAlias)(args[0], tableAlias) + "::geometry";
|
|
334
334
|
if (fname.includes("Extent")) {
|
|
335
335
|
return `${fname}(${escTabelName})`;
|
|
@@ -366,7 +366,7 @@ exports.FUNCTIONS = [
|
|
|
366
366
|
singleColArg: false,
|
|
367
367
|
numArgs: MAX_COL_NUM,
|
|
368
368
|
getFields: (args) => args,
|
|
369
|
-
getQuery: ({
|
|
369
|
+
getQuery: ({ args, tableAlias }) => {
|
|
370
370
|
const q = DboBuilder_1.pgp.as.format("md5(" + args.map(fname => "COALESCE( " + (0, QueryBuilder_1.asNameAlias)(fname, tableAlias) + "::text, '' )").join(" || ") + ")");
|
|
371
371
|
return q;
|
|
372
372
|
}
|
|
@@ -378,7 +378,7 @@ exports.FUNCTIONS = [
|
|
|
378
378
|
singleColArg: false,
|
|
379
379
|
numArgs: MAX_COL_NUM,
|
|
380
380
|
getFields: (args) => args,
|
|
381
|
-
getQuery: ({
|
|
381
|
+
getQuery: ({ args, tableAlias }) => {
|
|
382
382
|
const q = DboBuilder_1.pgp.as.format("md5(string_agg(" + args.map(fname => "COALESCE( " + (0, QueryBuilder_1.asNameAlias)(fname, tableAlias) + "::text, '' )").join(" || ") + ", ','))");
|
|
383
383
|
return q;
|
|
384
384
|
}
|
|
@@ -390,7 +390,7 @@ exports.FUNCTIONS = [
|
|
|
390
390
|
singleColArg: false,
|
|
391
391
|
numArgs: MAX_COL_NUM,
|
|
392
392
|
getFields: (args) => args,
|
|
393
|
-
getQuery: ({
|
|
393
|
+
getQuery: ({ args, tableAlias }) => {
|
|
394
394
|
const q = DboBuilder_1.pgp.as.format("encode(sha256((" + args.map(fname => "COALESCE( " + (0, QueryBuilder_1.asNameAlias)(fname, tableAlias) + ", '' )").join(" || ") + ")::text::bytea), 'hex')");
|
|
395
395
|
return q;
|
|
396
396
|
}
|
|
@@ -402,7 +402,7 @@ exports.FUNCTIONS = [
|
|
|
402
402
|
singleColArg: false,
|
|
403
403
|
numArgs: MAX_COL_NUM,
|
|
404
404
|
getFields: (args) => args,
|
|
405
|
-
getQuery: ({
|
|
405
|
+
getQuery: ({ args, tableAlias }) => {
|
|
406
406
|
const q = DboBuilder_1.pgp.as.format("encode(sha256(string_agg(" + args.map(fname => "COALESCE( " + (0, QueryBuilder_1.asNameAlias)(fname, tableAlias) + ", '' )").join(" || ") + ", ',')::text::bytea), 'hex')");
|
|
407
407
|
return q;
|
|
408
408
|
}
|
|
@@ -414,7 +414,7 @@ exports.FUNCTIONS = [
|
|
|
414
414
|
singleColArg: false,
|
|
415
415
|
numArgs: MAX_COL_NUM,
|
|
416
416
|
getFields: (args) => args,
|
|
417
|
-
getQuery: ({
|
|
417
|
+
getQuery: ({ args, tableAlias }) => {
|
|
418
418
|
const q = DboBuilder_1.pgp.as.format("encode(sha512((" + args.map(fname => "COALESCE( " + (0, QueryBuilder_1.asNameAlias)(fname, tableAlias) + ", '' )").join(" || ") + ")::text::bytea), 'hex')");
|
|
419
419
|
return q;
|
|
420
420
|
}
|
|
@@ -426,7 +426,7 @@ exports.FUNCTIONS = [
|
|
|
426
426
|
singleColArg: false,
|
|
427
427
|
numArgs: MAX_COL_NUM,
|
|
428
428
|
getFields: (args) => args,
|
|
429
|
-
getQuery: ({
|
|
429
|
+
getQuery: ({ args, tableAlias }) => {
|
|
430
430
|
const q = DboBuilder_1.pgp.as.format("encode(sha512(string_agg(" + args.map(fname => "COALESCE( " + (0, QueryBuilder_1.asNameAlias)(fname, tableAlias) + ", '' )").join(" || ") + ", ',')::text::bytea), 'hex')");
|
|
431
431
|
return q;
|
|
432
432
|
}
|
|
@@ -605,14 +605,21 @@ exports.FUNCTIONS = [
|
|
|
605
605
|
}
|
|
606
606
|
})),
|
|
607
607
|
/* Basic 1 arg col funcs */
|
|
608
|
-
...[
|
|
608
|
+
...[
|
|
609
|
+
...["TEXT"].flatMap(cast => [
|
|
610
|
+
"upper", "lower", "length", "reverse", "trim", "initcap"
|
|
611
|
+
].map(funcName => ({ cast, funcName }))),
|
|
612
|
+
...[""].flatMap(cast => [
|
|
613
|
+
"round", "ceil", "floor", "sign", "md5"
|
|
614
|
+
].map(funcName => ({ cast, funcName }))),
|
|
615
|
+
].map(({ funcName, cast }) => ({
|
|
609
616
|
name: "$" + funcName,
|
|
610
617
|
type: "function",
|
|
611
618
|
numArgs: 1,
|
|
612
619
|
singleColArg: true,
|
|
613
620
|
getFields: (args) => [args[0]],
|
|
614
|
-
getQuery: ({
|
|
615
|
-
return funcName
|
|
621
|
+
getQuery: ({ args, tableAlias }) => {
|
|
622
|
+
return `${funcName}(${(0, QueryBuilder_1.asNameAlias)(args[0], tableAlias)}${cast ? `::${cast}` : ""})`;
|
|
616
623
|
}
|
|
617
624
|
})),
|
|
618
625
|
/**
|
|
@@ -70,7 +70,7 @@ export declare class ViewHandler {
|
|
|
70
70
|
getInfo(lang?: string, param2?: any, param3?: any, tableRules?: TableRule, localParams?: LocalParams): Promise<TInfo>;
|
|
71
71
|
getColumns: any;
|
|
72
72
|
getValidatedRules(tableRules?: TableRule, localParams?: LocalParams): ValidatedTableRules;
|
|
73
|
-
find
|
|
73
|
+
find: any;
|
|
74
74
|
findOne(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
75
75
|
subscribe(filter: Filter, params: SubscribeParams, localFuncs: LocalFuncs): Promise<{
|
|
76
76
|
unsubscribe: () => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["ViewHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["ViewHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ViewHandler = void 0;
|
|
4
|
-
const makeSelectQuery_1 = require("../DboBuilder/QueryBuilder/makeSelectQuery");
|
|
5
4
|
const getCondition_1 = require("./getCondition");
|
|
6
|
-
const runSQL_1 = require("../DboBuilder/runSQL");
|
|
7
5
|
const prostgles_types_1 = require("prostgles-types");
|
|
8
6
|
const DboBuilder_1 = require("../DboBuilder");
|
|
9
7
|
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
@@ -11,6 +9,7 @@ const QueryBuilder_1 = require("./QueryBuilder/QueryBuilder");
|
|
|
11
9
|
const Functions_1 = require("./QueryBuilder/Functions");
|
|
12
10
|
const getColumns_1 = require("./getColumns");
|
|
13
11
|
const subscribe_1 = require("./subscribe");
|
|
12
|
+
const find_1 = require("./find");
|
|
14
13
|
class ColSet {
|
|
15
14
|
opts;
|
|
16
15
|
constructor(columns, tableName) {
|
|
@@ -497,81 +496,7 @@ class ViewHandler {
|
|
|
497
496
|
};
|
|
498
497
|
}
|
|
499
498
|
}
|
|
500
|
-
|
|
501
|
-
try {
|
|
502
|
-
filter = filter || {};
|
|
503
|
-
const allowedReturnTypes = ["row", "value", "values", "statement"];
|
|
504
|
-
const { returnType } = selectParams || {};
|
|
505
|
-
if (returnType && !allowedReturnTypes.includes(returnType)) {
|
|
506
|
-
throw `returnType (${returnType}) can only be ${allowedReturnTypes.join(" OR ")}`;
|
|
507
|
-
}
|
|
508
|
-
const { testRule = false, returnQuery = false, returnNewQuery } = localParams || {};
|
|
509
|
-
if (testRule)
|
|
510
|
-
return [];
|
|
511
|
-
if (selectParams) {
|
|
512
|
-
const good_params = ["select", "orderBy", "offset", "limit", "returnType", "groupBy"];
|
|
513
|
-
const bad_params = Object.keys(selectParams).filter(k => !good_params.includes(k));
|
|
514
|
-
if (bad_params && bad_params.length)
|
|
515
|
-
throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
|
|
516
|
-
}
|
|
517
|
-
/* Validate publish */
|
|
518
|
-
if (tableRules) {
|
|
519
|
-
if (!tableRules.select)
|
|
520
|
-
throw "select rules missing for " + this.name;
|
|
521
|
-
const fields = tableRules.select.fields;
|
|
522
|
-
const maxLimit = tableRules.select.maxLimit;
|
|
523
|
-
if (tableRules.select !== "*" && typeof tableRules.select !== "boolean" && !(0, DboBuilder_1.isPlainObject)(tableRules.select))
|
|
524
|
-
throw `\nINVALID publish.${this.name}.select\nExpecting any of: "*" | { fields: "*" } | true | false`;
|
|
525
|
-
if (!fields)
|
|
526
|
-
throw ` invalid ${this.name}.select rule -> fields (required) setting missing.\nExpecting any of: "*" | { col_name: false } | { col1: true, col2: true }`;
|
|
527
|
-
if (maxLimit && !Number.isInteger(maxLimit))
|
|
528
|
-
throw ` invalid publish.${this.name}.select.maxLimit -> expecting integer but got ` + maxLimit;
|
|
529
|
-
}
|
|
530
|
-
const q = await (0, QueryBuilder_1.getNewQuery)(this, filter, selectParams, param3_unused, tableRules, localParams, this.columns), _query = (0, makeSelectQuery_1.makeSelectQuery)(this, q, undefined, undefined, selectParams);
|
|
531
|
-
// console.log(_query, JSON.stringify(q, null, 2))
|
|
532
|
-
if (testRule) {
|
|
533
|
-
try {
|
|
534
|
-
await this.db.any("EXPLAIN " + _query);
|
|
535
|
-
return [];
|
|
536
|
-
}
|
|
537
|
-
catch (e) {
|
|
538
|
-
console.error(e);
|
|
539
|
-
throw `INTERNAL ERROR: Publish config is not valid for publish.${this.name}.select `;
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
/** Used for subscribe */
|
|
543
|
-
if (returnNewQuery)
|
|
544
|
-
return q;
|
|
545
|
-
if (returnQuery)
|
|
546
|
-
return _query;
|
|
547
|
-
if (returnType === "statement") {
|
|
548
|
-
if (!(await (0, runSQL_1.canRunSQL)(this.dboBuilder.prostgles, localParams))) {
|
|
549
|
-
throw `Not allowed: {returnType: "statement"} requires sql privileges `;
|
|
550
|
-
}
|
|
551
|
-
return _query;
|
|
552
|
-
}
|
|
553
|
-
if (["row", "value"].includes(returnType)) {
|
|
554
|
-
return (this.t || this.db).oneOrNone(_query).then(data => {
|
|
555
|
-
return (data && returnType === "value") ? Object.values(data)[0] : data;
|
|
556
|
-
}).catch(err => (0, DboBuilder_1.makeErrorFromPGError)(err, localParams, this));
|
|
557
|
-
}
|
|
558
|
-
else {
|
|
559
|
-
return (this.t || this.db).any(_query).then(data => {
|
|
560
|
-
if (returnType === "values") {
|
|
561
|
-
return data.map(d => Object.values(d)[0]);
|
|
562
|
-
}
|
|
563
|
-
return data;
|
|
564
|
-
}).catch(err => (0, DboBuilder_1.makeErrorFromPGError)(err, localParams, this));
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
catch (e) {
|
|
568
|
-
// console.trace(e)
|
|
569
|
-
if (localParams && localParams.testRule)
|
|
570
|
-
throw e;
|
|
571
|
-
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.find()`);
|
|
572
|
-
// throw { err: parseError(e), msg: `Issue with dbo.${this.name}.find()`, args: { filter, selectParams} };
|
|
573
|
-
}
|
|
574
|
-
}
|
|
499
|
+
find = find_1.find.bind(this);
|
|
575
500
|
findOne(filter, selectParams, param3_unused, table_rules, localParams) {
|
|
576
501
|
try {
|
|
577
502
|
const { select = "*", orderBy, offset = 0 } = selectParams || {};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { makeSelectQuery } from "../DboBuilder/QueryBuilder/makeSelectQuery";
|
|
2
1
|
import { getCondition } from "./getCondition";
|
|
3
2
|
|
|
4
3
|
import * as pgPromise from 'pg-promise';
|
|
5
|
-
import { canRunSQL } from "../DboBuilder/runSQL";
|
|
6
4
|
import {
|
|
7
5
|
ColumnInfo, FieldFilter, SelectParams,
|
|
8
6
|
OrderBy,
|
|
@@ -16,17 +14,19 @@ import {
|
|
|
16
14
|
import { DB, DBHandlerServer, Join } from "../Prostgles";
|
|
17
15
|
import {
|
|
18
16
|
DboBuilder, escapeTSNames, ExistsFilterConfig,Filter, isPlainObject,
|
|
19
|
-
JoinInfo, LocalParams,
|
|
17
|
+
JoinInfo, LocalParams, parseError, pgp, postgresToTsType, SortItem,
|
|
20
18
|
TableHandlers, TableSchema, ValidatedTableRules
|
|
21
19
|
} from "../DboBuilder";
|
|
22
20
|
import { Graph } from "../shortestPath";
|
|
23
21
|
import { TableRule, UpdateRule, ValidateRow } from "../PublishParser";
|
|
24
22
|
import { asValue } from "../PubSubManager/PubSubManager";
|
|
25
23
|
import { TableHandler } from "./TableHandler";
|
|
26
|
-
import { asNameAlias,
|
|
24
|
+
import { asNameAlias, SelectItem, SelectItemValidated } from "./QueryBuilder/QueryBuilder";
|
|
27
25
|
import { COMPUTED_FIELDS, FieldSpec } from "./QueryBuilder/Functions";
|
|
28
26
|
import { getColumns } from "./getColumns";
|
|
29
27
|
import { LocalFuncs, subscribe } from "./subscribe";
|
|
28
|
+
import { find } from "./find";
|
|
29
|
+
|
|
30
30
|
export type JoinPaths = {
|
|
31
31
|
t1: string;
|
|
32
32
|
t2: string;
|
|
@@ -600,82 +600,8 @@ export class ViewHandler {
|
|
|
600
600
|
}
|
|
601
601
|
|
|
602
602
|
}
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
try {
|
|
606
|
-
filter = filter || {};
|
|
607
|
-
const allowedReturnTypes: Array<SelectParams["returnType"]> = ["row", "value", "values", "statement"]
|
|
608
|
-
const { returnType } = selectParams || {};
|
|
609
|
-
if (returnType && !allowedReturnTypes.includes(returnType)) {
|
|
610
|
-
throw `returnType (${returnType}) can only be ${allowedReturnTypes.join(" OR ")}`
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
const { testRule = false, returnQuery = false, returnNewQuery } = localParams || {};
|
|
614
|
-
|
|
615
|
-
if (testRule) return [];
|
|
616
|
-
if (selectParams) {
|
|
617
|
-
const good_params: Array<keyof SelectParams> = ["select", "orderBy", "offset", "limit", "returnType", "groupBy"];
|
|
618
|
-
const bad_params = Object.keys(selectParams).filter(k => !good_params.includes(k as any));
|
|
619
|
-
if (bad_params && bad_params.length) throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
/* Validate publish */
|
|
623
|
-
if (tableRules) {
|
|
624
|
-
|
|
625
|
-
if (!tableRules.select) throw "select rules missing for " + this.name;
|
|
626
|
-
const fields = tableRules.select.fields;
|
|
627
|
-
const maxLimit = tableRules.select.maxLimit;
|
|
628
|
-
|
|
629
|
-
if (<any>tableRules.select !== "*" && typeof tableRules.select !== "boolean" && !isPlainObject(tableRules.select)) throw `\nINVALID publish.${this.name}.select\nExpecting any of: "*" | { fields: "*" } | true | false`
|
|
630
|
-
if (!fields) throw ` invalid ${this.name}.select rule -> fields (required) setting missing.\nExpecting any of: "*" | { col_name: false } | { col1: true, col2: true }`;
|
|
631
|
-
if (maxLimit && !Number.isInteger(maxLimit)) throw ` invalid publish.${this.name}.select.maxLimit -> expecting integer but got ` + maxLimit;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
const q = await getNewQuery(this as unknown as TableHandler, filter, selectParams, param3_unused, tableRules, localParams, this.columns),
|
|
635
|
-
_query = makeSelectQuery(this as unknown as TableHandler, q, undefined, undefined, selectParams);
|
|
636
|
-
// console.log(_query, JSON.stringify(q, null, 2))
|
|
637
|
-
if (testRule) {
|
|
638
|
-
try {
|
|
639
|
-
await this.db.any("EXPLAIN " + _query);
|
|
640
|
-
return [];
|
|
641
|
-
} catch (e) {
|
|
642
|
-
console.error(e);
|
|
643
|
-
throw `INTERNAL ERROR: Publish config is not valid for publish.${this.name}.select `
|
|
644
|
-
}
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
/** Used for subscribe */
|
|
648
|
-
if(returnNewQuery) return (q as unknown as any);
|
|
649
|
-
if (returnQuery) return (_query as unknown as any[]);
|
|
650
|
-
|
|
651
|
-
if (returnType === "statement") {
|
|
652
|
-
if (!(await canRunSQL(this.dboBuilder.prostgles, localParams))) {
|
|
653
|
-
throw `Not allowed: {returnType: "statement"} requires sql privileges `
|
|
654
|
-
}
|
|
655
|
-
return _query as unknown as any[];
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
if (["row", "value"].includes(returnType!)) {
|
|
659
|
-
return (this.t || this.db).oneOrNone(_query).then(data => {
|
|
660
|
-
return (data && returnType === "value") ? Object.values(data)[0] : data;
|
|
661
|
-
}).catch(err => makeErrorFromPGError(err, localParams, this));
|
|
662
|
-
} else {
|
|
663
|
-
return (this.t || this.db).any(_query).then(data => {
|
|
664
|
-
if (returnType === "values") {
|
|
665
|
-
return data.map(d => Object.values(d)[0]);
|
|
666
|
-
}
|
|
667
|
-
return data;
|
|
668
|
-
}).catch(err => makeErrorFromPGError(err, localParams, this));
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
} catch (e) {
|
|
672
|
-
// console.trace(e)
|
|
673
|
-
if (localParams && localParams.testRule) throw e;
|
|
674
|
-
throw parseError(e, `dbo.${this.name}.find()`);
|
|
675
|
-
// throw { err: parseError(e), msg: `Issue with dbo.${this.name}.find()`, args: { filter, selectParams} };
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
|
|
603
|
+
find = find.bind(this);
|
|
604
|
+
|
|
679
605
|
findOne(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any> {
|
|
680
606
|
|
|
681
607
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,eAAe,CAAC;AAChE,OAAO,EAAc,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,wBAAsB,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAgIrL"}
|
package/lib/DboBuilder/delete.js
CHANGED
|
@@ -4,6 +4,7 @@ exports._delete = void 0;
|
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const DboBuilder_1 = require("../DboBuilder");
|
|
6
6
|
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
7
|
+
const find_1 = require("./find");
|
|
7
8
|
async function _delete(filter, params, param3_unused, table_rules, localParams) {
|
|
8
9
|
try {
|
|
9
10
|
const { returning } = params || {};
|
|
@@ -32,7 +33,8 @@ async function _delete(filter, params, param3_unused, table_rules, localParams)
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
if (params) {
|
|
35
|
-
const
|
|
36
|
+
const good_paramsObj = { returning: 1, returnType: 1 };
|
|
37
|
+
const good_params = Object.keys(good_paramsObj);
|
|
36
38
|
const bad_params = Object.keys(params).filter(k => !good_params.includes(k));
|
|
37
39
|
if (bad_params && bad_params.length)
|
|
38
40
|
throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
|
|
@@ -112,7 +114,8 @@ async function _delete(filter, params, param3_unused, table_rules, localParams)
|
|
|
112
114
|
}
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
|
-
return
|
|
117
|
+
return (0, find_1.runQueryReturnType)(_query, params?.returnType, this, localParams);
|
|
118
|
+
// return dbHandler[queryType](_query).catch((err: any) => makeErrorFromPGError(err, localParams));
|
|
116
119
|
}
|
|
117
120
|
catch (e) {
|
|
118
121
|
// console.trace(e)
|
package/lib/DboBuilder/delete.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import pgPromise from "pg-promise";
|
|
2
2
|
import { AnyObject, asName, DeleteParams, FieldFilter } from "prostgles-types";
|
|
3
|
-
import { Filter, LocalParams,
|
|
3
|
+
import { Filter, LocalParams, parseError } from "../DboBuilder";
|
|
4
4
|
import { DeleteRule, TableRule } from "../PublishParser";
|
|
5
5
|
import { pickKeys } from "../PubSubManager/PubSubManager";
|
|
6
6
|
import { TableHandler } from "./TableHandler";
|
|
7
|
+
import { runQueryReturnType } from "./find";
|
|
7
8
|
|
|
8
9
|
export async function _delete(this: TableHandler, filter?: Filter, params?: DeleteParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any> {
|
|
9
10
|
try {
|
|
@@ -40,7 +41,8 @@ export async function _delete(this: TableHandler, filter?: Filter, params?: Dele
|
|
|
40
41
|
|
|
41
42
|
|
|
42
43
|
if (params) {
|
|
43
|
-
const
|
|
44
|
+
const good_paramsObj: Record<keyof DeleteParams, 1> = { returning: 1, returnType: 1 };
|
|
45
|
+
const good_params = Object.keys(good_paramsObj);
|
|
44
46
|
const bad_params = Object.keys(params).filter(k => !good_params.includes(k));
|
|
45
47
|
if (bad_params && bad_params.length) throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
|
|
46
48
|
}
|
|
@@ -124,7 +126,9 @@ export async function _delete(this: TableHandler, filter?: Filter, params?: Dele
|
|
|
124
126
|
}
|
|
125
127
|
}
|
|
126
128
|
|
|
127
|
-
return
|
|
129
|
+
return runQueryReturnType(_query, params?.returnType, this, localParams);
|
|
130
|
+
|
|
131
|
+
// return dbHandler[queryType](_query).catch((err: any) => makeErrorFromPGError(err, localParams));
|
|
128
132
|
} catch (e) {
|
|
129
133
|
// console.trace(e)
|
|
130
134
|
if (localParams && localParams.testRule) throw e;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SelectParams } from "prostgles-types";
|
|
2
|
+
import { Filter, LocalParams } from "../DboBuilder";
|
|
3
|
+
import { TableRule } from "../PublishParser";
|
|
4
|
+
import { TableHandler } from "./TableHandler";
|
|
5
|
+
import { ViewHandler } from "./ViewHandler";
|
|
6
|
+
export declare const find: (this: ViewHandler, filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams) => Promise<any[]>;
|
|
7
|
+
export declare const runQueryReturnType: (query: string, returnType: SelectParams["returnType"], handler: ViewHandler | TableHandler, localParams: LocalParams | undefined) => Promise<any>;
|
|
8
|
+
//# sourceMappingURL=find.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["find.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAoC,MAAM,eAAe,CAAC;AAGtF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,IAAI,SAAwB,WAAW,WAAW,MAAM,iBAAiB,YAAY,kBAAkB,SAAS,eAAe,SAAS,gBAAgB,WAAW,KAAG,QAAQ,GAAG,EAAE,CAuD/L,CAAA;AAGD,eAAO,MAAM,kBAAkB,UAAiB,MAAM,cAAc,YAAY,CAAC,YAAY,CAAC,WAAW,WAAW,GAAG,YAAY,eAAe,WAAW,GAAG,SAAS,iBAoBxK,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runQueryReturnType = exports.find = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const DboBuilder_1 = require("../DboBuilder");
|
|
6
|
+
const makeSelectQuery_1 = require("../DboBuilder/QueryBuilder/makeSelectQuery");
|
|
7
|
+
const runSQL_1 = require("../DboBuilder/runSQL");
|
|
8
|
+
const QueryBuilder_1 = require("./QueryBuilder/QueryBuilder");
|
|
9
|
+
const find = async function (filter, selectParams, param3_unused, tableRules, localParams) {
|
|
10
|
+
try {
|
|
11
|
+
filter = filter || {};
|
|
12
|
+
const allowedReturnTypes = ["row", "value", "values", "statement"];
|
|
13
|
+
const { returnType } = selectParams || {};
|
|
14
|
+
if (returnType && !allowedReturnTypes.includes(returnType)) {
|
|
15
|
+
throw `returnType (${returnType}) can only be ${allowedReturnTypes.join(" OR ")}`;
|
|
16
|
+
}
|
|
17
|
+
const { testRule = false, returnQuery = false, returnNewQuery } = localParams || {};
|
|
18
|
+
if (testRule)
|
|
19
|
+
return [];
|
|
20
|
+
if (selectParams) {
|
|
21
|
+
const good_params = ["select", "orderBy", "offset", "limit", "returnType", "groupBy"];
|
|
22
|
+
const bad_params = Object.keys(selectParams).filter(k => !good_params.includes(k));
|
|
23
|
+
if (bad_params && bad_params.length)
|
|
24
|
+
throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
|
|
25
|
+
}
|
|
26
|
+
/* Validate publish */
|
|
27
|
+
if (tableRules) {
|
|
28
|
+
if (!tableRules.select)
|
|
29
|
+
throw "select rules missing for " + this.name;
|
|
30
|
+
const fields = tableRules.select.fields;
|
|
31
|
+
const maxLimit = tableRules.select.maxLimit;
|
|
32
|
+
if (tableRules.select !== "*" && typeof tableRules.select !== "boolean" && !(0, prostgles_types_1.isObject)(tableRules.select))
|
|
33
|
+
throw `\nINVALID publish.${this.name}.select\nExpecting any of: "*" | { fields: "*" } | true | false`;
|
|
34
|
+
if (!fields)
|
|
35
|
+
throw ` invalid ${this.name}.select rule -> fields (required) setting missing.\nExpecting any of: "*" | { col_name: false } | { col1: true, col2: true }`;
|
|
36
|
+
if (maxLimit && !Number.isInteger(maxLimit))
|
|
37
|
+
throw ` invalid publish.${this.name}.select.maxLimit -> expecting integer but got ` + maxLimit;
|
|
38
|
+
}
|
|
39
|
+
const q = await (0, QueryBuilder_1.getNewQuery)(this, filter, selectParams, param3_unused, tableRules, localParams, this.columns), _query = (0, makeSelectQuery_1.makeSelectQuery)(this, q, undefined, undefined, selectParams);
|
|
40
|
+
// console.log(_query, JSON.stringify(q, null, 2))
|
|
41
|
+
if (testRule) {
|
|
42
|
+
try {
|
|
43
|
+
await this.db.any("EXPLAIN " + _query);
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
console.error(e);
|
|
48
|
+
throw `INTERNAL ERROR: Publish config is not valid for publish.${this.name}.select `;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Used for subscribe */
|
|
52
|
+
if (returnNewQuery)
|
|
53
|
+
return q;
|
|
54
|
+
if (returnQuery)
|
|
55
|
+
return _query;
|
|
56
|
+
return (0, exports.runQueryReturnType)(_query, returnType, this, localParams);
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
// console.trace(e)
|
|
60
|
+
if (localParams && localParams.testRule)
|
|
61
|
+
throw e;
|
|
62
|
+
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.find()`);
|
|
63
|
+
// throw { err: parseError(e), msg: `Issue with dbo.${this.name}.find()`, args: { filter, selectParams} };
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.find = find;
|
|
67
|
+
const runQueryReturnType = async (query, returnType, handler, localParams) => {
|
|
68
|
+
if (returnType === "statement") {
|
|
69
|
+
if (!(await (0, runSQL_1.canRunSQL)(handler.dboBuilder.prostgles, localParams))) {
|
|
70
|
+
throw `Not allowed: {returnType: "statement"} requires sql privileges `;
|
|
71
|
+
}
|
|
72
|
+
return query;
|
|
73
|
+
}
|
|
74
|
+
else if (["row", "value"].includes(returnType)) {
|
|
75
|
+
return (handler.t || handler.db).oneOrNone(query).then(data => {
|
|
76
|
+
return (data && returnType === "value") ? Object.values(data)[0] : data;
|
|
77
|
+
}).catch(err => (0, DboBuilder_1.makeErrorFromPGError)(err, localParams, this));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return (handler.t || handler.db).any(query).then(data => {
|
|
81
|
+
if (returnType === "values") {
|
|
82
|
+
return data.map(d => Object.values(d)[0]);
|
|
83
|
+
}
|
|
84
|
+
return data;
|
|
85
|
+
}).catch(err => (0, DboBuilder_1.makeErrorFromPGError)(err, localParams, this));
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
exports.runQueryReturnType = runQueryReturnType;
|