prostgles-server 4.2.680 → 4.2.681
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insertRowWithNestedRecords.d.ts","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insertRowWithNestedRecords.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,YAAY,EAClB,EACE,GAAG,EACH,SAAS,EACT,UAAU,EACV,IAAI,EACJ,cAAc,EACd,iBAAiB,GAClB,EAAE;IACD,GAAG,EAAE,SAAS,CAAC;IACf,iBAAiB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,cAAc,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;CACtD,EACD,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"insertRowWithNestedRecords.d.ts","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insertRowWithNestedRecords.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,YAAY,EAClB,EACE,GAAG,EACH,SAAS,EACT,UAAU,EACV,IAAI,EACJ,cAAc,EACd,iBAAiB,GAClB,EAAE;IACD,GAAG,EAAE,SAAS,CAAC;IACf,iBAAiB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,cAAc,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;CACtD,EACD,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,kCAqPjF"}
|
|
@@ -77,72 +77,78 @@ async function insertRowWithNestedRecords({ row, extraKeys, colInserts, dbTX, ro
|
|
|
77
77
|
row[targetTable]
|
|
78
78
|
: [row[targetTable]]);
|
|
79
79
|
/** check */
|
|
80
|
-
if (childDataItems.some((
|
|
80
|
+
if (childDataItems.some((childData) => !(0, prostgles_types_1.isObject)(childData))) {
|
|
81
81
|
throw "Expected array of objects";
|
|
82
82
|
}
|
|
83
|
-
const childInsert = async (
|
|
84
|
-
return referencedInsert(this, dbTX, localParams, tableName,
|
|
83
|
+
const childInsert = async (childData, tableName) => {
|
|
84
|
+
return referencedInsert(this, dbTX, localParams, tableName, childData, rootOnConflict);
|
|
85
85
|
};
|
|
86
86
|
const joinPath = getJoinPath(this, targetTable);
|
|
87
87
|
const { path } = joinPath;
|
|
88
|
-
const [
|
|
88
|
+
const [rootTableName, referencingTableName, indirectTargetTableName] = path;
|
|
89
89
|
targetTableRules = await (0, getInsertTableRules_1.getInsertTableRules)(this, targetTable, localParams?.clientReq, localParams?.scope);
|
|
90
|
-
const
|
|
91
|
-
if (!this.dboBuilder.dboMap.get(
|
|
92
|
-
throw "Invalid/disallowed table: " +
|
|
93
|
-
const
|
|
90
|
+
const referencingTableColumns = this.dboBuilder.dboMap.get(referencingTableName)?.columns || [];
|
|
91
|
+
if (!this.dboBuilder.dboMap.get(referencingTableName))
|
|
92
|
+
throw "Invalid/disallowed table: " + referencingTableName;
|
|
93
|
+
const columnsReferencingRoot = referencingTableColumns.filter((column) => column.references?.some((reference) => reference.cols.length === 1 && reference.ftable === rootTableName));
|
|
94
94
|
if (!path.length) {
|
|
95
95
|
throw "Nested inserts join path not found for " + [this.name, targetTable].join(", ");
|
|
96
96
|
}
|
|
97
97
|
else if (path.length === 2) {
|
|
98
|
-
if (targetTable !==
|
|
98
|
+
if (targetTable !== referencingTableName)
|
|
99
99
|
throw "Did not expect this";
|
|
100
|
-
if (!
|
|
101
|
-
throw `Target table ${
|
|
100
|
+
if (!columnsReferencingRoot.length) {
|
|
101
|
+
throw `Target table ${referencingTableName} does not reference any columns from the root table ${this.name}. Cannot insert nested data`;
|
|
102
102
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
const { allowedNestedInserts } = targetTableRules.insert ?? {};
|
|
104
|
+
const referencingColumn = columnsReferencingRoot.find(({ name }) => !allowedNestedInserts ||
|
|
105
|
+
allowedNestedInserts.some(({ table, column }) => table === this.name && column === name));
|
|
106
|
+
insertedChildren = await referencedInsert(this, dbTX, {
|
|
107
|
+
...localParams,
|
|
108
|
+
nestedInsert: {
|
|
109
|
+
depth: (localParams?.nestedInsert?.depth ?? 0) + 1,
|
|
110
|
+
previousData: fullRootResult,
|
|
111
|
+
previousTable: this.name,
|
|
112
|
+
referencingColumn: referencingColumn?.name,
|
|
113
|
+
},
|
|
114
|
+
}, targetTable, childDataItems.map((childData) => {
|
|
115
|
+
const childRow = { ...childData };
|
|
116
|
+
columnsReferencingRoot.map((column) => {
|
|
117
|
+
childRow[column.references[0].cols[0]] =
|
|
118
|
+
fullRootResult[column.references[0].fcols[0]];
|
|
107
119
|
});
|
|
108
|
-
return
|
|
109
|
-
}),
|
|
120
|
+
return childRow;
|
|
121
|
+
}), rootOnConflict);
|
|
110
122
|
}
|
|
111
123
|
else if (path.length === 3) {
|
|
112
|
-
if (targetTable !==
|
|
124
|
+
if (targetTable !== indirectTargetTableName)
|
|
113
125
|
throw "Did not expect this";
|
|
114
|
-
const
|
|
115
|
-
if (!
|
|
126
|
+
const columnsReferencingTarget = referencingTableColumns.filter((column) => column.references?.some((reference) => reference.cols.length === 1 && reference.ftable === indirectTargetTableName));
|
|
127
|
+
if (!columnsReferencingRoot.length || !columnsReferencingTarget.length)
|
|
116
128
|
throw "Incorrectly referenced or missing columns for nested insert";
|
|
117
129
|
const fileTable = this.dboBuilder.prostgles.opts.fileTable?.tableName;
|
|
118
130
|
if (targetTable !== fileTable) {
|
|
119
131
|
throw "Only media allowed to have nested inserts more than 2 tables apart";
|
|
120
132
|
}
|
|
121
|
-
/* We expect
|
|
122
|
-
if (!(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
tbl1,
|
|
126
|
-
tbl2,
|
|
127
|
-
tbl3,
|
|
128
|
-
name: tableHandler.name,
|
|
129
|
-
tthisName: this.name,
|
|
130
|
-
});
|
|
133
|
+
/* We expect the linking table to have only 2 columns (media_id and foreign_id) */
|
|
134
|
+
if (!(referencingTableColumns.filter((column) => column.references?.[0]?.ftable === fileTable)
|
|
135
|
+
.length === 1 &&
|
|
136
|
+
referencingTableColumns.filter((column) => column.references?.[0]?.ftable === tableHandler.name).length === 1)) {
|
|
131
137
|
throw ("Second joining table (" +
|
|
132
|
-
|
|
138
|
+
referencingTableName +
|
|
133
139
|
") not of expected format. Must contain exactly one reference column for each table (file table and target table) ");
|
|
134
140
|
}
|
|
135
141
|
insertedChildren = await childInsert(childDataItems, targetTable);
|
|
136
142
|
/* Insert in key_lookup table */
|
|
137
|
-
for (const
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
143
|
+
for (const insertedFile of insertedChildren) {
|
|
144
|
+
const linkingRow = {};
|
|
145
|
+
columnsReferencingTarget.map((column) => {
|
|
146
|
+
linkingRow[column.name] = insertedFile[column.references[0].fcols[0]];
|
|
141
147
|
});
|
|
142
|
-
|
|
143
|
-
|
|
148
|
+
columnsReferencingRoot.map((column) => {
|
|
149
|
+
linkingRow[column.name] = fullRootResult[column.references[0].fcols[0]];
|
|
144
150
|
});
|
|
145
|
-
await childInsert(
|
|
151
|
+
await childInsert(linkingRow, referencingTableName);
|
|
146
152
|
}
|
|
147
153
|
}
|
|
148
154
|
else {
|
|
@@ -153,13 +159,13 @@ async function insertRowWithNestedRecords({ row, extraKeys, colInserts, dbTX, ro
|
|
|
153
159
|
if (insertedChildren.length && returning) {
|
|
154
160
|
const targetTableHandler = dbTX[targetTable];
|
|
155
161
|
const targetReturning = await targetTableHandler.prepareReturning("*", targetTableHandler.parseFieldFilter(targetTableRules.insert?.returningFields));
|
|
156
|
-
const clientTargetInserts = insertedChildren.map((
|
|
157
|
-
const
|
|
158
|
-
const
|
|
159
|
-
targetReturning.map((
|
|
160
|
-
|
|
162
|
+
const clientTargetInserts = insertedChildren.map((insertedChild) => {
|
|
163
|
+
const childRow = { ...insertedChild };
|
|
164
|
+
const returnedChild = {};
|
|
165
|
+
targetReturning.map((returningItem) => {
|
|
166
|
+
returnedChild[returningItem.alias] = childRow[returningItem.alias];
|
|
161
167
|
});
|
|
162
|
-
return
|
|
168
|
+
return returnedChild;
|
|
163
169
|
});
|
|
164
170
|
returnData[targetTable] =
|
|
165
171
|
clientTargetInserts.length === 1 ? clientTargetInserts[0] : clientTargetInserts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insertRowWithNestedRecords.js","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insertRowWithNestedRecords.ts"],"names":[],"mappings":";;AAmBA,
|
|
1
|
+
{"version":3,"file":"insertRowWithNestedRecords.js","sourceRoot":"","sources":["../../../../lib/DboBuilder/TableHandler/insert/insertRowWithNestedRecords.ts"],"names":[],"mappings":"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"}
|