prostgles-server 4.1.106 → 4.1.107
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/TableHandler/TableHandler.js +1 -1
- package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
- package/dist/DboBuilder/TableHandler/delete.d.ts +6 -0
- package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -0
- package/dist/DboBuilder/TableHandler/delete.js +101 -0
- package/dist/DboBuilder/TableHandler/delete.js.map +1 -0
- package/dist/DboBuilder/TableHandler/insert.js +2 -2
- package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +15 -0
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -0
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +53 -0
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -0
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts +7 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +3 -2
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
- package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/update.js +39 -52
- package/dist/DboBuilder/TableHandler/update.js.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.d.ts +15 -0
- package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -0
- package/dist/DboBuilder/TableHandler/updateFile.js +38 -0
- package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -0
- package/dist/DboBuilder/insertDataParse.d.ts +15 -0
- package/dist/DboBuilder/insertDataParse.d.ts.map +1 -1
- package/dist/DboBuilder/insertDataParse.js +52 -40
- package/dist/DboBuilder/insertDataParse.js.map +1 -1
- package/dist/DboBuilder/parseUpdateRules.js +7 -7
- package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
- package/dist/FileManager/initFileManager.js +3 -3
- package/dist/FileManager/initFileManager.js.map +1 -1
- package/lib/DboBuilder/TableHandler/TableHandler.ts +1 -1
- package/lib/DboBuilder/TableHandler/delete.ts +111 -0
- package/lib/DboBuilder/TableHandler/insert.ts +2 -2
- package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +62 -0
- package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +6 -2
- package/lib/DboBuilder/TableHandler/update.ts +45 -62
- package/lib/DboBuilder/TableHandler/updateFile.ts +47 -0
- package/lib/DboBuilder/insertDataParse.ts +55 -48
- package/lib/DboBuilder/parseUpdateRules.ts +7 -7
- package/lib/FileManager/initFileManager.ts +3 -3
- package/package.json +2 -2
- package/tests/client/package-lock.json +15 -15
- package/tests/client/package.json +1 -1
- package/tests/client_files.ts +76 -15
- package/tests/isomorphic_queries.ts +1 -4
- package/tests/server/package-lock.json +3 -3
- package/tests/server/package.json +2 -2
- package/tests/test.sh +1 -1
- package/lib/DboBuilder/delete.ts +0 -161
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getSelectItemQuery = exports.TableHandler = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const DboBuilder_1 = require("../../DboBuilder");
|
|
6
|
-
const delete_1 = require("
|
|
6
|
+
const delete_1 = require("./delete");
|
|
7
7
|
const parseUpdateRules_1 = require("../parseUpdateRules");
|
|
8
8
|
const Functions_1 = require("../QueryBuilder/Functions");
|
|
9
9
|
const QueryBuilder_1 = require("../QueryBuilder/QueryBuilder");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHandler.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/TableHandler.ts"],"names":[],"mappings":";;;AACA,qDAAsI;AACtI,iDAA2G;AAG3G,
|
|
1
|
+
{"version":3,"file":"TableHandler.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/TableHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DeleteParams } from "prostgles-types";
|
|
2
|
+
import { Filter, LocalParams } from "../../DboBuilder";
|
|
3
|
+
import { TableRule } from "../../PublishParser/PublishParser";
|
|
4
|
+
import { TableHandler } from "./TableHandler";
|
|
5
|
+
export declare function _delete(this: TableHandler, filter?: Filter, params?: DeleteParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
6
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAe,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAc,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE1E,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,UAAU,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAqGpL"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._delete = void 0;
|
|
4
|
+
const DboBuilder_1 = require("../../DboBuilder");
|
|
5
|
+
const find_1 = require("../find");
|
|
6
|
+
const onDeleteFromFileTable_1 = require("./onDeleteFromFileTable");
|
|
7
|
+
async function _delete(filter, params, param3_unused, tableRules, localParams) {
|
|
8
|
+
try {
|
|
9
|
+
await this._log({ command: "delete", localParams, data: { filter, params } });
|
|
10
|
+
const { returning } = params || {};
|
|
11
|
+
filter = filter || {};
|
|
12
|
+
this.checkFilter(filter);
|
|
13
|
+
let forcedFilter = {}, filterFields = "*", returningFields = "*", validate;
|
|
14
|
+
const { testRule = false, returnQuery = false } = localParams || {};
|
|
15
|
+
if (tableRules) {
|
|
16
|
+
if (!tableRules.delete)
|
|
17
|
+
throw "delete rules missing";
|
|
18
|
+
forcedFilter = tableRules.delete.forcedFilter;
|
|
19
|
+
filterFields = tableRules.delete.filterFields;
|
|
20
|
+
returningFields = tableRules.delete.returningFields;
|
|
21
|
+
validate = tableRules.delete.validate;
|
|
22
|
+
if (!returningFields)
|
|
23
|
+
returningFields = tableRules?.select?.fields;
|
|
24
|
+
if (!returningFields)
|
|
25
|
+
returningFields = tableRules?.delete?.filterFields;
|
|
26
|
+
if (!filterFields)
|
|
27
|
+
throw ` Invalid delete rule for ${this.name}. filterFields missing `;
|
|
28
|
+
/* Safely test publish rules */
|
|
29
|
+
if (testRule) {
|
|
30
|
+
await this.validateViewRules({ filterFields, returningFields, forcedFilter, rule: "delete" });
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (params) {
|
|
35
|
+
const good_paramsObj = { returning: 1, returnType: 1 };
|
|
36
|
+
const good_params = Object.keys(good_paramsObj);
|
|
37
|
+
const bad_params = Object.keys(params).filter(k => !good_params.includes(k));
|
|
38
|
+
if (bad_params && bad_params.length)
|
|
39
|
+
throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
|
|
40
|
+
}
|
|
41
|
+
let queryType = 'none';
|
|
42
|
+
let queryWithoutRLS = `DELETE FROM ${this.escapedName} `;
|
|
43
|
+
const filterOpts = (await this.prepareWhere({
|
|
44
|
+
filter,
|
|
45
|
+
forcedFilter,
|
|
46
|
+
filterFields,
|
|
47
|
+
localParams,
|
|
48
|
+
tableRule: tableRules
|
|
49
|
+
}));
|
|
50
|
+
queryWithoutRLS += filterOpts.where;
|
|
51
|
+
if (validate) {
|
|
52
|
+
const _filter = filterOpts.filter;
|
|
53
|
+
await validate(_filter);
|
|
54
|
+
}
|
|
55
|
+
let returningQuery = "";
|
|
56
|
+
if (returning) {
|
|
57
|
+
queryType = "any";
|
|
58
|
+
if (!returningFields) {
|
|
59
|
+
throw "Returning dissallowed";
|
|
60
|
+
}
|
|
61
|
+
returningQuery = this.makeReturnQuery(await this.prepareReturning(returning, this.parseFieldFilter(returningFields)));
|
|
62
|
+
queryWithoutRLS += returningQuery;
|
|
63
|
+
}
|
|
64
|
+
// TODO - delete orphaned files
|
|
65
|
+
// if(this.dboBuilder.prostgles.opts.fileTable?.referencedTables?.[this.name]?.referenceColumns){
|
|
66
|
+
// if(!this.getFinalDBtx(localParams)){
|
|
67
|
+
// const ACTION = "delete";
|
|
68
|
+
// return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.[ACTION]?.(filter, params, param3_unused, tableRules, localParams))
|
|
69
|
+
// }
|
|
70
|
+
// }
|
|
71
|
+
const queryWithRLS = (0, DboBuilder_1.withUserRLS)(localParams, queryWithoutRLS);
|
|
72
|
+
if (returnQuery)
|
|
73
|
+
return queryWithRLS;
|
|
74
|
+
/**
|
|
75
|
+
* Delete file
|
|
76
|
+
*/
|
|
77
|
+
if (this.is_media) {
|
|
78
|
+
return onDeleteFromFileTable_1.onDeleteFromFileTable.bind(this)({
|
|
79
|
+
localParams,
|
|
80
|
+
queryType,
|
|
81
|
+
returningQuery: returnQuery ? returnQuery : undefined,
|
|
82
|
+
filterOpts,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return (0, find_1.runQueryReturnType)({
|
|
86
|
+
queryWithoutRLS,
|
|
87
|
+
queryWithRLS,
|
|
88
|
+
newQuery: undefined,
|
|
89
|
+
returnType: params?.returnType,
|
|
90
|
+
handler: this,
|
|
91
|
+
localParams
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
if (localParams && localParams.testRule)
|
|
96
|
+
throw e;
|
|
97
|
+
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.delete(${JSON.stringify(filter || {}, null, 2)}, ${JSON.stringify(params || {}, null, 2)})`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports._delete = _delete;
|
|
101
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/delete.ts"],"names":[],"mappings":";;;AAEA,iDAAgF;AAEhF,kCAA6C;AAE7C,mEAAgE;AAEzD,KAAK,UAAU,OAAO,CAAqB,MAAe,EAAE,MAAqB,EAAE,aAAyB,EAAE,UAAsB,EAAE,WAAyB;IACpK,IAAI;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,YAAY,GAA0B,EAAE,EAC1C,YAAY,GAA4B,GAAG,EAC3C,eAAe,GAA4B,GAAG,EAC9C,QAAgC,CAAC;QAEnC,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,WAAW,IAAI,EAAE,CAAC;QACpE,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,MAAM,sBAAsB,CAAC;YACrD,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;YACpD,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;YAEtC,IAAI,CAAC,eAAe;gBAAE,eAAe,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;YACnE,IAAI,CAAC,eAAe;gBAAE,eAAe,GAAG,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC;YAEzE,IAAI,CAAC,YAAY;gBAAE,MAAM,4BAA4B,IAAI,CAAC,IAAI,yBAAyB,CAAC;YAExF,+BAA+B;YAC/B,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC;aACb;SACF;QAGD,IAAI,MAAM,EAAE;YACV,MAAM,cAAc,GAAkC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACtF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM;gBAAE,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpI;QAED,IAAI,SAAS,GAA8B,MAAM,CAAC;QAClD,IAAI,eAAe,GAAG,eAAe,IAAI,CAAC,WAAW,GAAG,CAAC;QACzD,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC;YAC1C,MAAM;YACN,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC,CAAA;QACH,eAAe,IAAI,UAAU,CAAC,KAAK,CAAC;QACpC,IAAI,QAAQ,EAAE;YACZ,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;YAClC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;SACzB;QAED,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,SAAS,EAAE;YACb,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,eAAe,EAAE;gBACpB,MAAM,uBAAuB,CAAC;aAC/B;YACD,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACtH,eAAe,IAAI,cAAc,CAAA;SAClC;QAED,+BAA+B;QAC/B,iGAAiG;QACjG,yCAAyC;QACzC,+BAA+B;QAC/B,kIAAkI;QAClI,MAAM;QACN,IAAI;QAEJ,MAAM,YAAY,GAAG,IAAA,wBAAW,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC/D,IAAI,WAAW;YAAE,OAAO,YAAY,CAAC;QAErC;;WAEG;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,6CAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,WAAW;gBACX,SAAS;gBACT,cAAc,EAAE,WAAW,CAAA,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACpD,UAAU;aACX,CAAC,CAAC;SACJ;QAED,OAAO,IAAA,yBAAkB,EAAC;YACxB,eAAe;YACf,YAAY;YACZ,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,OAAO,EAAE,IAAI;YACb,WAAW;SACZ,CAAC,CAAC;KAEJ;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ;YAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAA,uBAAU,EAAC,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;KACpI;AACH,CAAC;AArGD,0BAqGC"}
|
|
@@ -26,7 +26,7 @@ async function insert(rowOrRows = {}, insertParams, param3_unused, tableRules, l
|
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
if (allowedNestedInserts) {
|
|
29
|
-
if (!nestedInsert || !allowedNestedInserts.some(
|
|
29
|
+
if (!nestedInsert || !allowedNestedInserts.some(ai => ai.table === nestedInsert?.previousTable && ai.column === nestedInsert.referencingColumn)) {
|
|
30
30
|
throw `Direct inserts not allowed. Only nested inserts from these tables: ${JSON.stringify(allowedNestedInserts)} `;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -81,7 +81,7 @@ async function insert(rowOrRows = {}, insertParams, param3_unused, tableRules, l
|
|
|
81
81
|
data: rowOrRows,
|
|
82
82
|
fields,
|
|
83
83
|
params: insertParams,
|
|
84
|
-
type: "insert"
|
|
84
|
+
type: "insert",
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/insert.ts"],"names":[],"mappings":";;;AAAA,qDAAoE;AACpE,iDAAwE;AAExE,wDAAqD;AACrD,6CAA0C;AAE1C,iEAA8D;AAEvD,KAAK,UAAU,MAAM,CAAqB,YAAqC,EAAE,EAAE,YAA2B,EAAE,aAAyB,EAAE,UAAsB,EAAE,WAAyB;IAEjM,MAAM,MAAM,GAAG,QAAQ,CAAC;IACxB,IAAI;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAE/F,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;QACjD,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,WAAW,IAAI,EAAE,CAAC;QAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAEjF,2GAA2G;QAC3G,IAAG,YAAY,IAAI,WAAW,EAAC;YAC7B,IAAG,CAAC,SAAS,EAAC;gBACZ,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;aACrI;SACF;QAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,uBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QACnH,IAAG,QAAQ,EAAC;YACV,OAAO,IAAI,CAAC;SACb;QAED,IAAG,oBAAoB,EAAC;YACtB,IAAG,CAAC,YAAY,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/insert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnyObject } from "prostgles-types";
|
|
2
|
+
import { LocalParams } from "../../DboBuilder";
|
|
3
|
+
import { TableHandler } from "./TableHandler";
|
|
4
|
+
type OnDeleteFromFileTableArgs = {
|
|
5
|
+
localParams: LocalParams | undefined;
|
|
6
|
+
queryType: "one" | "none" | "many" | "any";
|
|
7
|
+
returningQuery: undefined | string;
|
|
8
|
+
filterOpts: {
|
|
9
|
+
where: string;
|
|
10
|
+
filter: AnyObject;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare function onDeleteFromFileTable(this: TableHandler, { localParams, queryType, returningQuery, filterOpts }: OnDeleteFromFileTableArgs): Promise<any>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=onDeleteFromFileTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onDeleteFromFileTable.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,yBAAyB,GAAG;IAC/B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC3C,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,SAAS,CAAC;KACnB,CAAA;CACF,CAAA;AACD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,yBAAyB,gBA+ChJ"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.onDeleteFromFileTable = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const PubSubManager_1 = require("../../PubSubManager/PubSubManager");
|
|
6
|
+
async function onDeleteFromFileTable({ localParams, queryType, returningQuery, filterOpts }) {
|
|
7
|
+
if (!this.dboBuilder.prostgles.fileManager)
|
|
8
|
+
throw new Error("fileManager missing");
|
|
9
|
+
if (this.dboBuilder.prostgles.opts.fileTable?.delayedDelete) {
|
|
10
|
+
return this.dbHandler[queryType](`UPDATE ${(0, prostgles_types_1.asName)(this.name)} SET deleted = now() ${filterOpts.where} ${returningQuery ?? ""};`);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
const txDelete = async (tbl) => {
|
|
14
|
+
if (!tbl.tx)
|
|
15
|
+
throw new Error("Missing transaction object tx");
|
|
16
|
+
let files = [];
|
|
17
|
+
const totalFiles = await tbl.count(filterOpts.filter);
|
|
18
|
+
do {
|
|
19
|
+
const batch = await tbl.find(filterOpts.filter, { limit: 100, offset: files.length });
|
|
20
|
+
files = files.concat(batch);
|
|
21
|
+
} while (files.length < totalFiles);
|
|
22
|
+
const fileManager = tbl.dboBuilder.prostgles.fileManager;
|
|
23
|
+
if (!fileManager)
|
|
24
|
+
throw new Error("fileManager missing");
|
|
25
|
+
for await (const file of files) {
|
|
26
|
+
await tbl.tx.t.any(`DELETE FROM ${(0, prostgles_types_1.asName)(this.name)} WHERE id = \${id}`, file);
|
|
27
|
+
}
|
|
28
|
+
/** If any table delete fails then do not delete files */
|
|
29
|
+
for await (const file of files) {
|
|
30
|
+
await fileManager.deleteFile(file.name);
|
|
31
|
+
/** TODO: Keep track of deleted files in case of failure */
|
|
32
|
+
// await tbl.t?.any(`UPDATE ${asName(this.name)} SET deleted = NOW(), deleted_from_storage = NOW() WHERE id = ` + "${id}", file);
|
|
33
|
+
}
|
|
34
|
+
if (returningQuery) {
|
|
35
|
+
return files.map(f => (0, PubSubManager_1.pickKeys)(f, ["id", "name"]));
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
};
|
|
39
|
+
if (localParams?.tx?.dbTX) {
|
|
40
|
+
return txDelete(localParams.tx.dbTX[this.name]);
|
|
41
|
+
}
|
|
42
|
+
else if (this.tx) {
|
|
43
|
+
return txDelete(this);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return this.dboBuilder.getTX(tx => {
|
|
47
|
+
return txDelete(tx[this.name]);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.onDeleteFromFileTable = onDeleteFromFileTable;
|
|
53
|
+
//# sourceMappingURL=onDeleteFromFileTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onDeleteFromFileTable.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AAEpD,qEAA6D;AAYtD,KAAK,UAAU,qBAAqB,CAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAA6B;IAE/I,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAClF,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE;QAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,IAAA,wBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,KAAK,IAAI,cAAc,IAAI,EAAE,GAAG,CAAC,CAAA;KACjI;SAAM;QAEL,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC3C,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC9D,IAAI,KAAK,GAAmC,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACtD,GAAG;gBACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC7B,QAAO,KAAK,CAAC,MAAM,GAAG,UAAU,EAAC;YAElC,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAA;YACxD,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAEzD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE;gBAC9B,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,IAAA,wBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;aAChF;YACD,yDAAyD;YACzD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE;gBAC9B,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,2DAA2D;gBAC3D,kIAAkI;aACnI;YAED,IAAI,cAAc,EAAE;gBAClB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,wBAAQ,EAAC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aACpD;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAA;QAED,IAAI,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE;YACzB,OAAO,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC,CAAA;SAChE;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE;YAClB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;SACtB;aAAM;YAEL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAChC,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC,CAAA;YAChD,CAAC,CAAC,CAAA;SACH;KACF;AACH,CAAC;AA/CD,sDA+CC"}
|
|
@@ -13,12 +13,18 @@ type RunInsertUpdateQueryArgs = {
|
|
|
13
13
|
params: InsertParams | undefined;
|
|
14
14
|
rule: InsertRule | undefined;
|
|
15
15
|
data: AnyObject | AnyObject[];
|
|
16
|
+
nestedInsertsResultsObj?: undefined;
|
|
16
17
|
} | {
|
|
17
18
|
type: "update";
|
|
19
|
+
nestedInsertsResultsObj: Record<string, any>;
|
|
18
20
|
params: UpdateParams | undefined;
|
|
19
21
|
rule: UpdateRule | undefined;
|
|
20
22
|
data: undefined;
|
|
21
23
|
});
|
|
22
|
-
export declare const runInsertUpdateQuery: ({ tableHandler, queryWithoutUserRLS, rule, localParams, fields, returningFields, params, data, type }: RunInsertUpdateQueryArgs) => Promise<
|
|
24
|
+
export declare const runInsertUpdateQuery: ({ tableHandler, queryWithoutUserRLS, rule, localParams, fields, returningFields, params, data, type, nestedInsertsResultsObj }: RunInsertUpdateQueryArgs) => Promise<{
|
|
25
|
+
[x: string]: any;
|
|
26
|
+
} | {
|
|
27
|
+
[x: string]: any;
|
|
28
|
+
}[] | undefined>;
|
|
23
29
|
export {};
|
|
24
30
|
//# sourceMappingURL=runInsertUpdateQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runInsertUpdateQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAqC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAElE,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,WAAW,GAAG,SAAS,CAAC;CAC1C,GAAG,CAAC;IACH,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"runInsertUpdateQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAqC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAElE,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,WAAW,GAAG,SAAS,CAAC;CAC1C,GAAG,CAAC;IACH,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,uBAAuB,CAAC,EAAE,SAAS,CAAC;CACrC,GAAG;IACF,IAAI,EAAE,QAAQ,CAAC;IACf,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEH,eAAO,MAAM,oBAAoB,mIAA0I,wBAAwB;;;;gBAyGlM,CAAA"}
|
|
@@ -4,7 +4,7 @@ exports.runInsertUpdateQuery = void 0;
|
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const DboBuilder_1 = require("../../DboBuilder");
|
|
6
6
|
const TableHandler_1 = require("./TableHandler");
|
|
7
|
-
const runInsertUpdateQuery = async ({ tableHandler, queryWithoutUserRLS, rule, localParams, fields, returningFields, params, data, type }) => {
|
|
7
|
+
const runInsertUpdateQuery = async ({ tableHandler, queryWithoutUserRLS, rule, localParams, fields, returningFields, params, data, type, nestedInsertsResultsObj }) => {
|
|
8
8
|
const { name } = tableHandler;
|
|
9
9
|
const returningSelectItems = await tableHandler.prepareReturning(params?.returning, tableHandler.parseFieldFilter(returningFields));
|
|
10
10
|
const { checkFilter, postValidate } = rule ?? {};
|
|
@@ -94,7 +94,8 @@ const runInsertUpdateQuery = async ({ tableHandler, queryWithoutUserRLS, rule, l
|
|
|
94
94
|
}
|
|
95
95
|
if (!hasReturning)
|
|
96
96
|
return undefined;
|
|
97
|
-
|
|
97
|
+
const modified_returning = result.modified_returning?.map(d => ({ ...d, ...nestedInsertsResultsObj }));
|
|
98
|
+
return returnMany ? modified_returning : modified_returning?.[0];
|
|
98
99
|
};
|
|
99
100
|
exports.runInsertUpdateQuery = runInsertUpdateQuery;
|
|
100
101
|
//# sourceMappingURL=runInsertUpdateQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runInsertUpdateQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts"],"names":[],"mappings":";;;AAAA,qDAA6F;AAC7F,iDAAkF;AAElF,iDAAkE;
|
|
1
|
+
{"version":3,"file":"runInsertUpdateQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAiB,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,wBAAsB,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA6HzL"}
|
|
@@ -3,50 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.update = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const DboBuilder_1 = require("../../DboBuilder");
|
|
6
|
-
const
|
|
7
|
-
const uploadFile_1 = require("../uploadFile");
|
|
6
|
+
const insertDataParse_1 = require("../insertDataParse");
|
|
8
7
|
const runInsertUpdateQuery_1 = require("./runInsertUpdateQuery");
|
|
8
|
+
const updateFile_1 = require("./updateFile");
|
|
9
9
|
async function update(filter, _newData, params, tableRules, localParams) {
|
|
10
10
|
const ACTION = "update";
|
|
11
11
|
try {
|
|
12
12
|
await this._log({ command: "update", localParams, data: { filter, _newData, params } });
|
|
13
13
|
/** postValidate */
|
|
14
14
|
const finalDBtx = this.getFinalDBtx(localParams);
|
|
15
|
+
const wrapInTx = () => this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.[ACTION]?.(filter, _newData, params, tableRules, localParams));
|
|
15
16
|
const rule = tableRules?.[ACTION];
|
|
16
|
-
if (rule?.postValidate) {
|
|
17
|
-
|
|
18
|
-
return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.[ACTION]?.(filter, _newData, params, tableRules, localParams));
|
|
19
|
-
}
|
|
17
|
+
if (rule?.postValidate && !finalDBtx) {
|
|
18
|
+
return wrapInTx();
|
|
20
19
|
}
|
|
21
20
|
let newData = _newData;
|
|
22
|
-
if (this.is_media
|
|
23
|
-
|
|
24
|
-
if (!existingMediaId) {
|
|
25
|
-
throw new Error(`Updating the file table with file data can only be done by providing a single id filter. E.g. { id: "9ea4e23c-2b1a-4e33-8ec0-c15919bb45ec" } `);
|
|
26
|
-
}
|
|
27
|
-
if (localParams?.testRule) {
|
|
28
|
-
newData = {};
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
const fileManager = this.dboBuilder.prostgles.fileManager;
|
|
32
|
-
if (!fileManager)
|
|
33
|
-
throw new Error("fileManager missing");
|
|
34
|
-
if (rule?.validate && !localParams)
|
|
35
|
-
throw new Error("localParams missing");
|
|
36
|
-
const validate = rule?.validate ? async (row) => {
|
|
37
|
-
return rule.validate({ update: row, filter, dbx: this.tx?.dbTX || this.dboBuilder.dbo, localParams: localParams });
|
|
38
|
-
} : undefined;
|
|
39
|
-
const existingFile = await (localParams?.tx?.dbTX?.[this.name] || this).findOne({ id: existingMediaId });
|
|
40
|
-
if (!existingFile?.name)
|
|
41
|
-
throw new Error("Existing file record not found");
|
|
42
|
-
// oldFileDelete = () => fileManager.deleteFile(existingFile!.name!)
|
|
43
|
-
await fileManager.deleteFile(existingFile.name); //oldFileDelete();
|
|
44
|
-
const newFile = await uploadFile_1.uploadFile.bind(this)({ row: newData, validate, localParams, mediaId: existingFile.id });
|
|
45
|
-
newData = (0, PubSubManager_1.omitKeys)(newFile, ["id"]);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
else if (this.is_media && (0, prostgles_types_1.isObject)(newData) && typeof newData.name === "string") {
|
|
49
|
-
throw new Error("Cannot update the 'name' field of the file. It is used in interacting with the file");
|
|
21
|
+
if (this.is_media) {
|
|
22
|
+
({ newData } = await updateFile_1.updateFile.bind(this)({ newData, filter, localParams, tableRules }));
|
|
50
23
|
}
|
|
51
24
|
const parsedRules = await this.parseUpdateRules(filter, newData, params, tableRules, localParams);
|
|
52
25
|
if (localParams?.testRule) {
|
|
@@ -74,7 +47,7 @@ async function update(filter, _newData, params, tableRules, localParams) {
|
|
|
74
47
|
patchedTextData.push({ ...d, fieldName: c.name });
|
|
75
48
|
}
|
|
76
49
|
});
|
|
77
|
-
if (patchedTextData
|
|
50
|
+
if (patchedTextData?.length) {
|
|
78
51
|
if (tableRules && !tableRules.select)
|
|
79
52
|
throw "Select needs to be permitted to patch data";
|
|
80
53
|
const rows = await this.find(filter, { select: patchedTextData.reduce((a, v) => ({ ...a, [v.fieldName]: 1 }), {}) }, undefined, tableRules);
|
|
@@ -84,18 +57,42 @@ async function update(filter, _newData, params, tableRules, localParams) {
|
|
|
84
57
|
patchedTextData.map(p => {
|
|
85
58
|
data[p.fieldName] = (0, prostgles_types_1.unpatchText)(rows[0][p.fieldName], p);
|
|
86
59
|
});
|
|
87
|
-
// https://w3resource.com/PostgreSQL/overlay-function.p hp
|
|
88
|
-
// overlay(coalesce(status, '') placing 'hom' from 2 for 0)
|
|
89
60
|
}
|
|
90
61
|
const nData = { ...data };
|
|
91
|
-
|
|
92
|
-
query += "\n" + (await this.prepareWhere({
|
|
62
|
+
const updateFilter = await this.prepareWhere({
|
|
93
63
|
filter,
|
|
94
64
|
forcedFilter,
|
|
95
65
|
filterFields,
|
|
96
66
|
localParams,
|
|
97
67
|
tableRule: tableRules
|
|
98
|
-
})
|
|
68
|
+
});
|
|
69
|
+
const nestedInserts = insertDataParse_1.getReferenceColumnInserts.bind(this)(nData, true);
|
|
70
|
+
const nestedInsertsResultsObj = {};
|
|
71
|
+
if (nestedInserts.length) {
|
|
72
|
+
const updateCount = await this.count(updateFilter.filter);
|
|
73
|
+
if (+updateCount > 1) {
|
|
74
|
+
throw "Cannot do a nestedInsert from an update that targets more than 1 row";
|
|
75
|
+
}
|
|
76
|
+
if (!finalDBtx) {
|
|
77
|
+
return wrapInTx();
|
|
78
|
+
}
|
|
79
|
+
await Promise.all(nestedInserts.map(async (nestedInsert) => {
|
|
80
|
+
const nesedTableHandler = finalDBtx[nestedInsert.tableName];
|
|
81
|
+
if (!nesedTableHandler)
|
|
82
|
+
throw `nestedInsert Tablehandler not found for ${nestedInsert.tableName}`;
|
|
83
|
+
const refTableRules = !localParams ? undefined : await (0, insertDataParse_1.getInsertTableRules)(this, nestedInsert.tableName, localParams);
|
|
84
|
+
const nestedLocalParams = { ...localParams, nestedInsert: { depth: 1, previousData: nData, previousTable: this.name, referencingColumn: nestedInsert.col } };
|
|
85
|
+
const nestedInsertResult = await nesedTableHandler.insert(nestedInsert.data, { returning: "*" }, undefined, refTableRules, nestedLocalParams);
|
|
86
|
+
nestedInsertsResultsObj[nestedInsert.col] = nestedInsertResult;
|
|
87
|
+
nData[nestedInsert.col] = nestedInsertResult[nestedInsert.fcol];
|
|
88
|
+
return {
|
|
89
|
+
...nestedInsert,
|
|
90
|
+
result: nestedInsertResult,
|
|
91
|
+
};
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
let query = await this.colSet.getUpdateQuery(nData, allowedCols, this.getFinalDbo(localParams), validateRow, localParams);
|
|
95
|
+
query += "\n" + updateFilter.where;
|
|
99
96
|
if (onConflictDoNothing)
|
|
100
97
|
query += " ON CONFLICT DO NOTHING ";
|
|
101
98
|
const queryWithoutUserRLS = query;
|
|
@@ -111,19 +108,9 @@ async function update(filter, _newData, params, tableRules, localParams) {
|
|
|
111
108
|
queryWithoutUserRLS,
|
|
112
109
|
returningFields,
|
|
113
110
|
rule,
|
|
114
|
-
type: "update"
|
|
111
|
+
type: "update",
|
|
112
|
+
nestedInsertsResultsObj
|
|
115
113
|
});
|
|
116
|
-
// if(params?.returnType){
|
|
117
|
-
// return runQueryReturnType(query, params.returnType, this, localParams);
|
|
118
|
-
// }
|
|
119
|
-
// let result;
|
|
120
|
-
// if (this.tx) {
|
|
121
|
-
// result = await (this.tx.t)[qType](query).catch((err: any) => makeErrorFromPGError(err, localParams, this, fields));
|
|
122
|
-
// } else {
|
|
123
|
-
// result = await this.db.tx(t => (t as any)[qType](query)).catch(err => makeErrorFromPGError(err, localParams, this, fields));
|
|
124
|
-
// }
|
|
125
|
-
// /** TODO: Delete old file at the end in case new file update fails */
|
|
126
|
-
// // await oldFileDelete();
|
|
127
114
|
}
|
|
128
115
|
catch (e) {
|
|
129
116
|
if (localParams && localParams.testRule)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/update.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnyObject } from "prostgles-types";
|
|
2
|
+
import { LocalParams } from "../../DboBuilder";
|
|
3
|
+
import { TableRule } from "../../PublishParser/PublishParser";
|
|
4
|
+
import { TableHandler } from "./TableHandler";
|
|
5
|
+
type Args = {
|
|
6
|
+
newData: AnyObject;
|
|
7
|
+
filter: AnyObject;
|
|
8
|
+
tableRules: TableRule | undefined;
|
|
9
|
+
localParams: LocalParams | undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare const updateFile: (this: TableHandler, { filter, newData, tableRules, localParams }: Args) => Promise<{
|
|
12
|
+
newData: AnyObject;
|
|
13
|
+
}>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=updateFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateFile.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAS,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAe,MAAM,mCAAmC,CAAC;AAG3E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,CAAA;AACD,eAAO,MAAM,UAAU,SAAwB,YAAY,gDAAgD,IAAI;aAAsB,SAAS;EAiC7I,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateFile = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const PubSubManager_1 = require("../../PubSubManager/PubSubManager");
|
|
6
|
+
const uploadFile_1 = require("../uploadFile");
|
|
7
|
+
const updateFile = async function ({ filter, newData, tableRules, localParams }) {
|
|
8
|
+
const rule = tableRules?.update;
|
|
9
|
+
if (tableRules && !tableRules.update) {
|
|
10
|
+
throw "Not allowed";
|
|
11
|
+
}
|
|
12
|
+
if (localParams?.testRule) {
|
|
13
|
+
return { newData: {} };
|
|
14
|
+
}
|
|
15
|
+
const existingMediaId = !(!filter || !(0, prostgles_types_1.isObject)(filter) || (0, prostgles_types_1.getKeys)(filter).join() !== "id" || typeof filter.id !== "string") ? filter.id : undefined;
|
|
16
|
+
if (!existingMediaId) {
|
|
17
|
+
throw new Error(`Updating the file table with file data can only be done by providing a single id filter. E.g. { id: "9ea4e23c-2b1a-4e33-8ec0-c15919bb45ec" } `);
|
|
18
|
+
}
|
|
19
|
+
if (!(0, uploadFile_1.isFile)(newData)) {
|
|
20
|
+
throw new Error("Expecting { data: Buffer, name: string } but received " + JSON.stringify(newData));
|
|
21
|
+
}
|
|
22
|
+
const fileManager = this.dboBuilder.prostgles.fileManager;
|
|
23
|
+
if (!fileManager)
|
|
24
|
+
throw new Error("fileManager missing");
|
|
25
|
+
if (rule?.validate && !localParams)
|
|
26
|
+
throw new Error("localParams missing");
|
|
27
|
+
const validate = rule?.validate ? async (row) => {
|
|
28
|
+
return rule.validate({ update: row, filter, dbx: this.tx?.dbTX || this.dboBuilder.dbo, localParams: localParams });
|
|
29
|
+
} : undefined;
|
|
30
|
+
const existingFile = await (localParams?.tx?.dbTX?.[this.name] || this).findOne({ id: existingMediaId });
|
|
31
|
+
if (!existingFile?.name)
|
|
32
|
+
throw new Error("Existing file record not found");
|
|
33
|
+
await fileManager.deleteFile(existingFile.name);
|
|
34
|
+
const newFile = await uploadFile_1.uploadFile.bind(this)({ row: newData, validate, localParams, mediaId: existingFile.id });
|
|
35
|
+
return { newData: (0, PubSubManager_1.omitKeys)(newFile, ["id"]) };
|
|
36
|
+
};
|
|
37
|
+
exports.updateFile = updateFile;
|
|
38
|
+
//# sourceMappingURL=updateFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateFile.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateFile.ts"],"names":[],"mappings":";;;AAAA,qDAA+D;AAG/D,qEAA6D;AAC7D,8CAAmD;AAS5C,MAAM,UAAU,GAAG,KAAK,WAA8B,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAQ;IAE7G,MAAM,IAAI,GAAG,UAAU,EAAE,MAAM,CAAC;IAEhC,IAAG,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;QAClC,MAAM,aAAa,CAAA;KACpB;IACD,IAAG,WAAW,EAAE,QAAQ,EAAC;QACvB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;KACxB;IACD,MAAM,eAAe,GAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAA,0BAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,yBAAO,EAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,OAAQ,MAAc,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA,CAAC,CAAE,MAAc,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5K,IAAG,CAAC,eAAe,EAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+IAA+I,CAAC,CAAC;KAClK;IACD,IAAG,CAAC,IAAA,mBAAM,EAAC,OAAO,CAAC,EAAC;QAClB,MAAM,IAAI,KAAK,CAAC,wDAAwD,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;KACpG;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAA;IACzD,IAAG,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACxD,IAAG,IAAI,EAAE,QAAQ,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAA4B,IAAI,EAAE,QAAQ,CAAA,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtE,OAAO,IAAI,CAAC,QAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAG,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,WAAY,EAAE,CAAC,CAAA;IACvH,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,YAAY,GAAsB,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAiB,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IAE5I,IAAG,CAAC,YAAY,EAAE,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAE1E,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,uBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9G,OAAO,EAAE,OAAO,EAAE,IAAA,wBAAQ,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAEhD,CAAC,CAAA;AAjCY,QAAA,UAAU,cAiCtB"}
|