prostgles-server 4.2.362 → 4.2.364
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/insert/insert.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/insert/insert.js +44 -13
- package/dist/DboBuilder/TableHandler/insert/insert.js.map +1 -1
- package/dist/WebsocketAPI/onSocketConnected.d.ts +1 -1
- package/dist/WebsocketAPI/onSocketConnected.d.ts.map +1 -1
- package/dist/WebsocketAPI/onSocketConnected.js +2 -2
- package/dist/WebsocketAPI/onSocketConnected.js.map +1 -1
- package/lib/DboBuilder/TableHandler/insert/insert.ts +58 -14
- package/lib/WebsocketAPI/onSocketConnected.ts +5 -6
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO/D,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,sCAAsC,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpD,wBAAsB,MAAM,CAC1B,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,SAAS,GAAG,SAAS,EAAO,EACvC,YAAY,CAAC,EAAE,YAAY,EAC3B,aAAa,CAAC,EAAE,SAAS,EACzB,UAAU,CAAC,EAAE,eAAe,EAC5B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,GAAG,CAAC,CAsPd"}
|
|
@@ -94,7 +94,6 @@ async function insert(rowOrRows = {}, insertParams, param3_unused, tableRules, l
|
|
|
94
94
|
if ("insertResult" in mediaOrNestedInsert) {
|
|
95
95
|
return insertResult;
|
|
96
96
|
}
|
|
97
|
-
const pkeyNames = this.columns.filter((c) => c.is_pkey).map((c) => c.name);
|
|
98
97
|
const getInsertQuery = async (_rows) => {
|
|
99
98
|
const validatedData = _rows.map((_row) => {
|
|
100
99
|
const row = { ..._row };
|
|
@@ -129,18 +128,38 @@ async function insert(rowOrRows = {}, insertParams, param3_unused, tableRules, l
|
|
|
129
128
|
})).getQuery();
|
|
130
129
|
const { onConflict } = insertParams ?? {};
|
|
131
130
|
let conflict_query = "";
|
|
132
|
-
if (onConflict
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
throw "Cannot do DoUpdate on a table without a primary key";
|
|
131
|
+
if (onConflict) {
|
|
132
|
+
const onConflictAction = typeof onConflict === "string" ? onConflict : onConflict.action;
|
|
133
|
+
const onConflictColumns = typeof onConflict === "string" ? undefined : onConflict.conflictColumns;
|
|
134
|
+
if (onConflictAction === "DoNothing") {
|
|
135
|
+
conflict_query = " ON CONFLICT DO NOTHING ";
|
|
138
136
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
else {
|
|
138
|
+
const firstRowKeys = Object.keys(validatedData[0] ?? {});
|
|
139
|
+
const pkeyNames = this.columns.filter((c) => c.is_pkey).map((c) => c.name);
|
|
140
|
+
const conflictColumns = onConflictColumns ??
|
|
141
|
+
this.tableOrViewInfo.uniqueColumnGroups?.find((colGroup) => {
|
|
142
|
+
if (!firstRowKeys.length)
|
|
143
|
+
throw "Cannot determine conflict columns for onConflict DoUpdate";
|
|
144
|
+
return colGroup.some((col) => {
|
|
145
|
+
return firstRowKeys.includes(col);
|
|
146
|
+
});
|
|
147
|
+
}) ??
|
|
148
|
+
pkeyNames;
|
|
149
|
+
/**
|
|
150
|
+
* Table might have multiple constraint types in which case it is mandatory to specify the conflict columns.
|
|
151
|
+
* */
|
|
152
|
+
if (!conflictColumns.length) {
|
|
153
|
+
throw "Cannot on conflict DoUpdate. No conflict columns could be determined. Please specify conflictColumns in onConflict param.";
|
|
154
|
+
}
|
|
155
|
+
const nonConflictColumns = allowedCols
|
|
156
|
+
.filter((c) => !conflictColumns.includes(c))
|
|
157
|
+
.map((v) => (0, prostgles_types_1.asName)(v));
|
|
158
|
+
if (nonConflictColumns.length === 0) {
|
|
159
|
+
throw "No non conflict columns to update for onConflict=DoUpdate";
|
|
160
|
+
}
|
|
161
|
+
conflict_query = ` ON CONFLICT (${conflictColumns.join(", ")}) DO UPDATE SET ${nonConflictColumns.map((k) => `${k} = EXCLUDED.${k}`).join(", ")}`;
|
|
142
162
|
}
|
|
143
|
-
conflict_query = ` ON CONFLICT (${pkeyNames.join(", ")}) DO UPDATE SET ${nonPkeyCols.map((k) => `${k} = EXCLUDED.${k}`).join(", ")}`;
|
|
144
163
|
}
|
|
145
164
|
return query + conflict_query;
|
|
146
165
|
};
|
|
@@ -199,8 +218,20 @@ async function insert(rowOrRows = {}, insertParams, param3_unused, tableRules, l
|
|
|
199
218
|
exports.insert = insert;
|
|
200
219
|
const validateInsertParams = (params) => {
|
|
201
220
|
const { onConflict, returnType, returning } = params ?? {};
|
|
202
|
-
|
|
203
|
-
|
|
221
|
+
const onConflictValidation = (0, prostgles_types_1.getJSONBSchemaValidationError)({
|
|
222
|
+
oneOf: [
|
|
223
|
+
{ enum: ["DoNothing", "DoUpdate"] },
|
|
224
|
+
{
|
|
225
|
+
type: {
|
|
226
|
+
action: { enum: ["DoNothing", "DoUpdate"] },
|
|
227
|
+
conflictColumns: { arrayOf: "string" },
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
optional: true,
|
|
232
|
+
}, onConflict);
|
|
233
|
+
if (onConflictValidation.error !== undefined) {
|
|
234
|
+
throw `Invalid onConflict: ${onConflictValidation.error}`;
|
|
204
235
|
}
|
|
205
236
|
const allowedReturnTypes = [
|
|
206
237
|
"row",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insert.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AnyObject } from "prostgles-types";
|
|
2
|
-
import type { Prostgles } from "../Prostgles";
|
|
3
2
|
import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
3
|
+
import type { Prostgles } from "../Prostgles";
|
|
4
4
|
export declare function onSocketConnected(this: Prostgles, socket: PRGLIOSocket): Promise<void>;
|
|
5
5
|
export declare function makeSocketError(cb: (err: AnyObject) => void, err: any): void;
|
|
6
6
|
//# sourceMappingURL=onSocketConnected.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onSocketConnected.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/onSocketConnected.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"onSocketConnected.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/onSocketConnected.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAG7D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,iBA4I5E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,QAGrE"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeSocketError = exports.onSocketConnected = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const runClientRequest_1 = require("../runClientRequest");
|
|
6
5
|
const AuthHandler_1 = require("../Auth/AuthHandler");
|
|
6
|
+
const runClientRequest_1 = require("../runClientRequest");
|
|
7
7
|
async function onSocketConnected(socket) {
|
|
8
8
|
if (!this.db || !this.dbo)
|
|
9
9
|
throw new Error("db/dbo missing");
|
|
@@ -122,7 +122,7 @@ async function onSocketConnected(socket) {
|
|
|
122
122
|
exports.onSocketConnected = onSocketConnected;
|
|
123
123
|
function makeSocketError(cb, err) {
|
|
124
124
|
const serializedError = (0, prostgles_types_1.getSerialisableError)(err);
|
|
125
|
-
cb((0, prostgles_types_1.isObject)(serializedError) ? serializedError : { serializedError });
|
|
125
|
+
cb((0, prostgles_types_1.isObject)(serializedError) ? serializedError : { error: serializedError });
|
|
126
126
|
}
|
|
127
127
|
exports.makeSocketError = makeSocketError;
|
|
128
128
|
//# sourceMappingURL=onSocketConnected.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onSocketConnected.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/onSocketConnected.ts"],"names":[],"mappings":";;;AACA,qDAA2E;
|
|
1
|
+
{"version":3,"file":"onSocketConnected.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/onSocketConnected.ts"],"names":[],"mappings":";;;AACA,qDAA2E;AAC3E,qDAA8D;AAK9D,0DAAwE;AAEjE,KAAK,UAAU,iBAAiB,CAAkB,MAAoB;IAC3E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,IAA6C,EAAE;YAClE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACxE,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,SAAS,EAAE;oBAC9B,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;gBACH,MAAM,sBAAsB,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;gBAClD,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;YAClD,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;QAEH,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,qBAAqB,CAAC;YAC9B,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC5C,WAAW,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,EACvC,IAAA,qCAAuB,EAAC,EAAE,MAAM,EAAE,CAAC,EACnC,EAAE,MAAM,EAAE,CACX,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,UAAU,EAAE;oBAC/B,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB;iBACpE,CAAC,CAAC;gBACH,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;oBAC9B,MAAM;oBACN,GAAG,EAAE,GAAoB;oBACzB,EAAE;oBACF,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,eAAe,GACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;oBACtC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK;wBACnC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;gBACtD,MAAM,CAAC,UAAU,EAAE,CAAC;gBAEpB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,CAAC,kBAAkB,CAAC,0BAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CACP,0BAAQ,CAAC,OAAO,EAChB,CACE,IAAyB,EACzB,KAAK,CAAC,GAAG,SAAgB,EAAE,EAAE;YAC3B,WAAW;QACb,CAAC,EACD,EAAE;YACF,mCAAgB;iBACb,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;iBACvC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,EAAE,CAAC,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;QACP,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,kBAAkB,CAAC,0BAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CACP,0BAAQ,CAAC,MAAM,EACf,CACE,EAAE,MAAM,EAAE,MAAM,EAAuB,EACvC,KAAK,CAAC,GAAG,SAAc,EAAE,EAAE;YACzB,WAAW;QACb,CAAC,EACD,EAAE;YACF,kCAAe;iBACZ,IAAI,CAAC,IAAI,CAAC,CACT;gBACE,MAAM;gBACN,MAAM;aACP,EACD;gBACE,MAAM;aACP,CACF;iBACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACP,CAAC,CACF,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AA5ID,8CA4IC;AAED,SAAgB,eAAe,CAAC,EAA4B,EAAE,GAAQ;IACpE,MAAM,eAAe,GAAG,IAAA,sCAAoB,EAAC,GAAG,CAAC,CAAC;IAClD,EAAE,CAAC,IAAA,0BAAQ,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAC/E,CAAC;AAHD,0CAGC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { AnyObject, InsertParams } from "prostgles-types";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
asName,
|
|
4
|
+
getJSONBSchemaValidationError,
|
|
5
|
+
getSerialisableError,
|
|
6
|
+
isObject,
|
|
7
|
+
} from "prostgles-types";
|
|
3
8
|
import type { ParsedTableRule, ValidateRowBasic } from "../../../PublishParser/PublishParser";
|
|
4
9
|
import type { LocalParams } from "../../DboBuilder";
|
|
5
10
|
import { getSerializedClientErrorFromPGError, withUserRLS } from "../../DboBuilder";
|
|
@@ -128,7 +133,6 @@ export async function insert(
|
|
|
128
133
|
return insertResult;
|
|
129
134
|
}
|
|
130
135
|
|
|
131
|
-
const pkeyNames = this.columns.filter((c) => c.is_pkey).map((c) => c.name);
|
|
132
136
|
const getInsertQuery = async (_rows: AnyObject[]) => {
|
|
133
137
|
const validatedData = _rows.map((_row) => {
|
|
134
138
|
const row = { ..._row };
|
|
@@ -171,17 +175,42 @@ export async function insert(
|
|
|
171
175
|
).getQuery();
|
|
172
176
|
const { onConflict } = insertParams ?? {};
|
|
173
177
|
let conflict_query = "";
|
|
174
|
-
if (onConflict
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
if (onConflict) {
|
|
179
|
+
const onConflictAction = typeof onConflict === "string" ? onConflict : onConflict.action;
|
|
180
|
+
const onConflictColumns =
|
|
181
|
+
typeof onConflict === "string" ? undefined : onConflict.conflictColumns;
|
|
182
|
+
if (onConflictAction === "DoNothing") {
|
|
183
|
+
conflict_query = " ON CONFLICT DO NOTHING ";
|
|
184
|
+
} else {
|
|
185
|
+
const firstRowKeys = Object.keys(validatedData[0] ?? {});
|
|
186
|
+
const pkeyNames = this.columns.filter((c) => c.is_pkey).map((c) => c.name);
|
|
187
|
+
const conflictColumns =
|
|
188
|
+
onConflictColumns ??
|
|
189
|
+
this.tableOrViewInfo.uniqueColumnGroups?.find((colGroup) => {
|
|
190
|
+
if (!firstRowKeys.length)
|
|
191
|
+
throw "Cannot determine conflict columns for onConflict DoUpdate";
|
|
192
|
+
return colGroup.some((col) => {
|
|
193
|
+
return firstRowKeys.includes(col);
|
|
194
|
+
});
|
|
195
|
+
}) ??
|
|
196
|
+
pkeyNames;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Table might have multiple constraint types in which case it is mandatory to specify the conflict columns.
|
|
200
|
+
* */
|
|
201
|
+
if (!conflictColumns.length) {
|
|
202
|
+
throw "Cannot on conflict DoUpdate. No conflict columns could be determined. Please specify conflictColumns in onConflict param.";
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
const nonConflictColumns = allowedCols
|
|
206
|
+
.filter((c) => !conflictColumns.includes(c))
|
|
207
|
+
.map((v) => asName(v));
|
|
208
|
+
|
|
209
|
+
if (nonConflictColumns.length === 0) {
|
|
210
|
+
throw "No non conflict columns to update for onConflict=DoUpdate";
|
|
211
|
+
}
|
|
212
|
+
conflict_query = ` ON CONFLICT (${conflictColumns.join(", ")}) DO UPDATE SET ${nonConflictColumns.map((k) => `${k} = EXCLUDED.${k}`).join(", ")}`;
|
|
183
213
|
}
|
|
184
|
-
conflict_query = ` ON CONFLICT (${pkeyNames.join(", ")}) DO UPDATE SET ${nonPkeyCols.map((k) => `${k} = EXCLUDED.${k}`).join(", ")}`;
|
|
185
214
|
}
|
|
186
215
|
return query + conflict_query;
|
|
187
216
|
};
|
|
@@ -242,8 +271,23 @@ export async function insert(
|
|
|
242
271
|
|
|
243
272
|
const validateInsertParams = (params: InsertParams | undefined) => {
|
|
244
273
|
const { onConflict, returnType, returning } = params ?? {};
|
|
245
|
-
|
|
246
|
-
|
|
274
|
+
const onConflictValidation = getJSONBSchemaValidationError(
|
|
275
|
+
{
|
|
276
|
+
oneOf: [
|
|
277
|
+
{ enum: ["DoNothing", "DoUpdate"] },
|
|
278
|
+
{
|
|
279
|
+
type: {
|
|
280
|
+
action: { enum: ["DoNothing", "DoUpdate"] },
|
|
281
|
+
conflictColumns: { arrayOf: "string" },
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
],
|
|
285
|
+
optional: true,
|
|
286
|
+
},
|
|
287
|
+
onConflict
|
|
288
|
+
);
|
|
289
|
+
if (onConflictValidation.error !== undefined) {
|
|
290
|
+
throw `Invalid onConflict: ${onConflictValidation.error}`;
|
|
247
291
|
}
|
|
248
292
|
|
|
249
293
|
const allowedReturnTypes: InsertParams["returnType"][] = [
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { AnyObject } from "prostgles-types";
|
|
2
2
|
import { CHANNELS, getSerialisableError, isObject } from "prostgles-types";
|
|
3
|
-
import type { Prostgles, TABLE_METHODS } from "../Prostgles";
|
|
4
|
-
import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
5
|
-
import { runClientMethod, runClientRequest } from "../runClientRequest";
|
|
6
|
-
import { getErrorAsObject } from "../DboBuilder/dboBuilderUtils";
|
|
7
|
-
import type { DBOFullyTyped } from "../DBSchemaBuilder/DBSchemaBuilder";
|
|
8
3
|
import { getClientRequestIPsInfo } from "../Auth/AuthHandler";
|
|
9
4
|
import type { AuthResultWithSID, SessionUser } from "../Auth/AuthTypes";
|
|
5
|
+
import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
6
|
+
import type { DBOFullyTyped } from "../DBSchemaBuilder/DBSchemaBuilder";
|
|
7
|
+
import type { Prostgles, TABLE_METHODS } from "../Prostgles";
|
|
8
|
+
import { runClientMethod, runClientRequest } from "../runClientRequest";
|
|
10
9
|
|
|
11
10
|
export async function onSocketConnected(this: Prostgles, socket: PRGLIOSocket) {
|
|
12
11
|
if (!this.db || !this.dbo) throw new Error("db/dbo missing");
|
|
@@ -152,7 +151,7 @@ export async function onSocketConnected(this: Prostgles, socket: PRGLIOSocket) {
|
|
|
152
151
|
|
|
153
152
|
export function makeSocketError(cb: (err: AnyObject) => void, err: any) {
|
|
154
153
|
const serializedError = getSerialisableError(err);
|
|
155
|
-
cb(isObject(serializedError) ? serializedError : { serializedError });
|
|
154
|
+
cb(isObject(serializedError) ? serializedError : { error: serializedError });
|
|
156
155
|
}
|
|
157
156
|
|
|
158
157
|
type SocketRequestParams = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prostgles-server",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.364",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"pg": "^8.15.6",
|
|
58
58
|
"pg-cursor": "^2.14.6",
|
|
59
59
|
"pg-promise": "^11.13.0",
|
|
60
|
-
"prostgles-types": "^4.0.
|
|
60
|
+
"prostgles-types": "^4.0.189"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@eslint/js": "^9.22.0",
|