prostgles-server 4.2.624 → 4.2.626
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/Audit/AuditTable.d.ts +4 -2
- package/dist/Audit/AuditTable.d.ts.map +1 -1
- package/dist/Audit/AuditTable.js +3 -2
- package/dist/Audit/AuditTable.js.map +1 -1
- package/dist/Audit/getAuditTableRules.d.ts +7 -0
- package/dist/Audit/getAuditTableRules.d.ts.map +1 -0
- package/dist/Audit/getAuditTableRules.js +191 -0
- package/dist/Audit/getAuditTableRules.js.map +1 -0
- package/dist/Audit/getAuditTriggerConfig.d.ts.map +1 -1
- package/dist/Audit/getAuditTriggerConfig.js +14 -1
- package/dist/Audit/getAuditTriggerConfig.js.map +1 -1
- package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.d.ts.map +1 -1
- package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js +7 -1
- package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js.map +1 -1
- package/dist/DBSchemaBuilder/getDBGeneratedSchema.d.ts.map +1 -1
- package/dist/DBSchemaBuilder/getDBGeneratedSchema.js +1 -2
- package/dist/DBSchemaBuilder/getDBGeneratedSchema.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +10 -5
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +90 -71
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +3 -2
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts +2 -2
- package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js +53 -116
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getQuerySource.d.ts +18 -0
- package/dist/DboBuilder/QueryBuilder/getQuerySource.d.ts.map +1 -0
- package/dist/DboBuilder/QueryBuilder/getQuerySource.js +29 -0
- package/dist/DboBuilder/QueryBuilder/getQuerySource.js.map +1 -0
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +6 -2
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/parseJoinSelect.d.ts +13 -0
- package/dist/DboBuilder/QueryBuilder/parseJoinSelect.d.ts.map +1 -0
- package/dist/DboBuilder/QueryBuilder/parseJoinSelect.js +57 -0
- package/dist/DboBuilder/QueryBuilder/parseJoinSelect.js.map +1 -0
- package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/TableHandler.js +2 -1
- package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
- package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/delete.js +2 -1
- package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +3 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +19 -5
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +2 -1
- 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 +2 -1
- package/dist/DboBuilder/TableHandler/update.js.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.d.ts +2 -39
- package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.js +1 -0
- package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
- package/dist/DboBuilder/TableHandler/uploadFile.d.ts +2 -1
- package/dist/DboBuilder/TableHandler/uploadFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/uploadFile.js +2 -1
- package/dist/DboBuilder/TableHandler/uploadFile.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +6 -16
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.js +2 -7
- package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/find.js +1 -1
- package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js +24 -13
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getRawInfo.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getRawInfo.js +6 -2
- package/dist/DboBuilder/ViewHandler/getRawInfo.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts +4 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +20 -14
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts +7 -3
- package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.js +30 -23
- package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
- package/dist/DboBuilder/getColumns.d.ts.map +1 -1
- package/dist/DboBuilder/getColumns.js +3 -0
- package/dist/DboBuilder/getColumns.js.map +1 -1
- package/dist/DboBuilder/getCondition.d.ts +2 -1
- package/dist/DboBuilder/getCondition.d.ts.map +1 -1
- package/dist/DboBuilder/getCondition.js +9 -8
- package/dist/DboBuilder/getCondition.js.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +3 -2
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/DboBuilder/parseUpdateRules.d.ts.map +1 -1
- package/dist/DboBuilder/parseUpdateRules.js +3 -2
- package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
- package/dist/DboBuilder/schema/getTablesForSchemaPostgresSQL.d.ts +2 -2
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +2 -0
- package/dist/Prostgles.js.map +1 -1
- package/dist/ProstglesContext.spec.js +25 -0
- package/dist/ProstglesContext.spec.js.map +1 -1
- package/dist/ProstglesTypes.d.ts +10 -0
- package/dist/ProstglesTypes.d.ts.map +1 -1
- package/dist/ProstglesTypes.js.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +1 -1
- package/dist/PublishParser/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser/PublishParser.js +22 -4
- package/dist/PublishParser/PublishParser.js.map +1 -1
- package/dist/PublishParser/applyScopeToTableRules.d.ts +0 -1
- package/dist/PublishParser/applyScopeToTableRules.d.ts.map +1 -1
- package/dist/PublishParser/applyScopeToTableRules.js +3 -7
- package/dist/PublishParser/applyScopeToTableRules.js.map +1 -1
- package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
- package/dist/PublishParser/getFileTableRules.js +4 -1
- package/dist/PublishParser/getFileTableRules.js.map +1 -1
- package/dist/PublishParser/getFileVersionTableRules.d.ts +7 -0
- package/dist/PublishParser/getFileVersionTableRules.d.ts.map +1 -0
- package/dist/PublishParser/getFileVersionTableRules.js +77 -0
- package/dist/PublishParser/getFileVersionTableRules.js.map +1 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.d.ts +2 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.d.ts.map +1 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.js +50 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.js.map +1 -0
- package/dist/PublishParser/getPublishedTableNames.d.ts.map +1 -1
- package/dist/PublishParser/getPublishedTableNames.js +24 -1
- package/dist/PublishParser/getPublishedTableNames.js.map +1 -1
- package/dist/PublishParser/publishTypesAndUtils.d.ts +0 -4
- package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
- package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
- package/dist/StorageClient/deleteUnreferencedFile.d.ts.map +1 -1
- package/dist/StorageClient/deleteUnreferencedFile.js +17 -1
- package/dist/StorageClient/deleteUnreferencedFile.js.map +1 -1
- package/dist/StorageClient/fileTableDefinitions.d.ts +54 -0
- package/dist/StorageClient/fileTableDefinitions.d.ts.map +1 -0
- package/dist/StorageClient/fileTableDefinitions.js +38 -0
- package/dist/StorageClient/fileTableDefinitions.js.map +1 -0
- package/dist/StorageClient/fileVersionUtils.d.ts +18 -0
- package/dist/StorageClient/fileVersionUtils.d.ts.map +1 -0
- package/dist/StorageClient/fileVersionUtils.js +22 -0
- package/dist/StorageClient/fileVersionUtils.js.map +1 -0
- package/dist/StorageClient/getFileStorageKey.d.ts +3 -1
- package/dist/StorageClient/getFileStorageKey.d.ts.map +1 -1
- package/dist/StorageClient/getFileStorageKey.js +9 -1
- package/dist/StorageClient/getFileStorageKey.js.map +1 -1
- package/dist/StorageClient/getFileTableConfig.d.ts +1 -23
- package/dist/StorageClient/getFileTableConfig.d.ts.map +1 -1
- package/dist/StorageClient/getFileTableConfig.js +63 -25
- package/dist/StorageClient/getFileTableConfig.js.map +1 -1
- package/dist/StorageClient/getFileTableConfig.spec.js +6 -1
- package/dist/StorageClient/getFileTableConfig.spec.js.map +1 -1
- package/dist/StorageClient/saveFileVersion.d.ts +7 -0
- package/dist/StorageClient/saveFileVersion.d.ts.map +1 -0
- package/dist/StorageClient/saveFileVersion.js +71 -0
- package/dist/StorageClient/saveFileVersion.js.map +1 -0
- package/dist/StorageClient/setupFileServeHandler.d.ts.map +1 -1
- package/dist/StorageClient/setupFileServeHandler.js +38 -21
- package/dist/StorageClient/setupFileServeHandler.js.map +1 -1
- package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts +11 -4
- package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts.map +1 -1
- package/dist/TableConfig/getColumnSQLDefinitionQuery.d.ts.map +1 -1
- package/dist/TableConfig/getColumnSQLDefinitionQuery.js +1 -2
- package/dist/TableConfig/getColumnSQLDefinitionQuery.js.map +1 -1
- package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
- package/dist/TableConfig/initTableConfig.js +9 -6
- package/dist/TableConfig/initTableConfig.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/lib/Audit/AuditTable.ts +8 -4
- package/lib/Audit/getAuditTableRules.ts +292 -0
- package/lib/Audit/getAuditTriggerConfig.ts +14 -1
- package/lib/DBSchemaBuilder/getClientDBGeneratedSchemas.ts +9 -1
- package/lib/DBSchemaBuilder/getDBGeneratedSchema.ts +1 -2
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +118 -90
- package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +3 -2
- package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +111 -194
- package/lib/DboBuilder/QueryBuilder/getQuerySource.ts +55 -0
- package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +8 -2
- package/lib/DboBuilder/QueryBuilder/parseJoinSelect.ts +73 -0
- package/lib/DboBuilder/TableHandler/TableHandler.ts +3 -6
- package/lib/DboBuilder/TableHandler/delete.ts +2 -1
- package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +31 -5
- package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +2 -1
- package/lib/DboBuilder/TableHandler/update.ts +2 -1
- package/lib/DboBuilder/TableHandler/updateFile.ts +1 -0
- package/lib/DboBuilder/TableHandler/uploadFile.ts +3 -0
- package/lib/DboBuilder/ViewHandler/ViewHandler.ts +6 -12
- package/lib/DboBuilder/ViewHandler/find.ts +0 -1
- package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +35 -28
- package/lib/DboBuilder/ViewHandler/getRawInfo.ts +6 -2
- package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +22 -14
- package/lib/DboBuilder/ViewHandler/prepareWhere.ts +48 -27
- package/lib/DboBuilder/getColumns.ts +2 -0
- package/lib/DboBuilder/getCondition.ts +11 -10
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +3 -2
- package/lib/DboBuilder/parseUpdateRules.ts +3 -2
- package/lib/Prostgles.ts +1 -0
- package/lib/ProstglesContext.spec.ts +30 -0
- package/lib/ProstglesTypes.ts +11 -0
- package/lib/PublishParser/PublishParser.ts +47 -4
- package/lib/PublishParser/applyScopeToTableRules.ts +1 -7
- package/lib/PublishParser/getFileTableRules.ts +7 -1
- package/lib/PublishParser/getFileVersionTableRules.spec.ts +57 -0
- package/lib/PublishParser/getFileVersionTableRules.ts +106 -0
- package/lib/PublishParser/getPublishedTableNames.ts +33 -2
- package/lib/PublishParser/publishTypesAndUtils.ts +0 -5
- package/lib/StorageClient/deleteUnreferencedFile.ts +20 -2
- package/lib/StorageClient/fileTableDefinitions.ts +52 -0
- package/lib/StorageClient/fileVersionUtils.ts +37 -0
- package/lib/StorageClient/getFileStorageKey.ts +11 -2
- package/lib/StorageClient/getFileTableConfig.spec.ts +6 -1
- package/lib/StorageClient/getFileTableConfig.ts +85 -30
- package/lib/StorageClient/saveFileVersion.ts +82 -0
- package/lib/StorageClient/setupFileServeHandler.ts +51 -28
- package/lib/TableConfig/TableRowFromColumnDefinitions.ts +37 -13
- package/lib/TableConfig/getColumnSQLDefinitionQuery.ts +8 -2
- package/lib/TableConfig/initTableConfig.ts +10 -6
- package/lib/index.ts +3 -1
- package/package.json +1 -1
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.SelectItemBuilder = exports.parseFunctionObject = void 0;
|
|
8
8
|
const prostgles_types_1 = require("prostgles-types");
|
|
9
|
+
const asNameAlias_1 = require("../../utils/asNameAlias");
|
|
9
10
|
const COMPUTED_FIELDS_1 = require("./Functions/COMPUTED_FIELDS");
|
|
10
11
|
const parseFunction_1 = require("./Functions/parseFunction");
|
|
11
|
-
const
|
|
12
|
+
const parseJoinSelect_1 = require("./parseJoinSelect");
|
|
12
13
|
const parseFunctionObject = (funcData) => {
|
|
13
14
|
const makeErr = (msg) => `Function not specified correctly. Expecting { $funcName: ["columnName" | <value>, ...args] } object but got: ${JSON.stringify(funcData)} \n ${msg}`;
|
|
14
15
|
if (!(0, prostgles_types_1.isObject)(funcData))
|
|
@@ -64,7 +65,7 @@ class SelectItemBuilder {
|
|
|
64
65
|
/** Not selected items can be part of the orderBy fields */
|
|
65
66
|
const allowedFields = isSelected ? allowedSelectedFields : allowedNonSelectedFields;
|
|
66
67
|
if (!allowedFields.includes(f)) {
|
|
67
|
-
throw ("Field " + f + " is invalid or
|
|
68
|
+
throw ("Field " + f + " is invalid or disallowed. \nAllowed fields: " + allowedFields.join(", "));
|
|
68
69
|
}
|
|
69
70
|
return f;
|
|
70
71
|
};
|
|
@@ -130,96 +131,114 @@ class SelectItemBuilder {
|
|
|
130
131
|
selected,
|
|
131
132
|
});
|
|
132
133
|
};
|
|
133
|
-
|
|
134
|
+
parse = async (userSelect, joinParse) => {
|
|
135
|
+
if (userSelect === "") {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (userSelect === "*") {
|
|
139
|
+
this.allowedFields.map((key) => this.addColumn(key, true));
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
134
142
|
/* [col1, col2, col3] */
|
|
135
143
|
if (Array.isArray(userSelect)) {
|
|
136
144
|
if (userSelect.find((key) => typeof key !== "string")) {
|
|
137
145
|
throw "Invalid array select. Expecting an array of strings";
|
|
138
146
|
}
|
|
139
147
|
userSelect.map((key) => this.addColumn(key, true));
|
|
140
|
-
|
|
148
|
+
return;
|
|
141
149
|
}
|
|
142
|
-
|
|
143
|
-
|
|
150
|
+
if (!(0, prostgles_types_1.isObject)(userSelect)) {
|
|
151
|
+
throw "Unexpected select -> " + JSON.stringify(userSelect);
|
|
144
152
|
}
|
|
145
|
-
|
|
146
|
-
|
|
153
|
+
if ((0, prostgles_types_1.isEmpty)(userSelect)) {
|
|
154
|
+
throw "Unexpected empty object select";
|
|
147
155
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
if (selectValues.filter((v) => [0, false].includes(v)).length) {
|
|
152
|
-
|
|
153
|
-
throw "\nCannot include and exclude fields at the same time";
|
|
154
|
-
}
|
|
155
|
-
/* Exclude only */
|
|
156
|
-
this.allowedFields
|
|
157
|
-
.filter((f) => !selectKeys.includes(f))
|
|
158
|
-
.map((key) => this.addColumn(key, true));
|
|
156
|
+
const selectKeys = Object.keys(userSelect), selectValues = Object.values(userSelect);
|
|
157
|
+
/* Cannot include and exclude at the same time */
|
|
158
|
+
if (selectValues.filter((v) => [0, false].includes(v)).length) {
|
|
159
|
+
if (selectValues.filter((v) => ![0, false].includes(v)).length) {
|
|
160
|
+
throw "\nCannot include and exclude fields at the same time";
|
|
159
161
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
162
|
+
/* Exclude only */
|
|
163
|
+
this.allowedFields
|
|
164
|
+
.filter((f) => !selectKeys.includes(f))
|
|
165
|
+
.map((key) => this.addColumn(key, true));
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
await Promise.all(selectKeys.map(async (key) => {
|
|
169
|
+
const val = userSelect[key];
|
|
170
|
+
const throwErr = (message) => {
|
|
171
|
+
console.trace(message);
|
|
172
|
+
throw "Unexpected select -> " + JSON.stringify({ [key]: val }) + "\n" + message;
|
|
173
|
+
};
|
|
174
|
+
/* Included fields */
|
|
175
|
+
if ([1, true].includes(val)) {
|
|
176
|
+
if (key === "*") {
|
|
177
|
+
this.allowedFields.map((key) => this.addColumn(key, true));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.addColumn(key, true);
|
|
176
181
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
182
|
+
/* Aggregations and functions */
|
|
183
|
+
}
|
|
184
|
+
else if (typeof val === "string" || (0, prostgles_types_1.isObject)(val)) {
|
|
185
|
+
/* Function shorthand notation
|
|
186
|
+
{ id: "$max" } === { id: { $max: ["id"] } } === SELECT MAX(id) AS id
|
|
180
187
|
*/
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
catch {
|
|
192
|
-
throwErr(` Shorthand function notation error: the specifield column ( ${key} ) is invalid or dissallowed. \n Use correct column name or full aliased function notation, e.g.: -> { alias: { $func_name: ["column_name"] } } `);
|
|
193
|
-
}
|
|
194
|
-
funcName = val;
|
|
195
|
-
args = [key];
|
|
196
|
-
/** Function full notation { $funcName: ["colName", ...args] } */
|
|
188
|
+
if ((typeof val === "string" && val !== "*") ||
|
|
189
|
+
((0, prostgles_types_1.isObject)(val) &&
|
|
190
|
+
Object.keys(val).length === 1 &&
|
|
191
|
+
Array.isArray(Object.values(val)[0]))) {
|
|
192
|
+
let funcName, args;
|
|
193
|
+
if (typeof val === "string") {
|
|
194
|
+
/* Shorthand notation -> it is expected that the key is the column name used as the only argument */
|
|
195
|
+
try {
|
|
196
|
+
this.checkField(key, true);
|
|
197
197
|
}
|
|
198
|
-
|
|
199
|
-
(
|
|
198
|
+
catch {
|
|
199
|
+
throwErr(` Shorthand function notation error: the specified column ( ${key} ) is invalid or disallowed. \n Use correct column name or full aliased function notation, e.g.: -> { alias: { $func_name: ["column_name"] } } `);
|
|
200
200
|
}
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
funcName = val;
|
|
202
|
+
args = [key];
|
|
203
|
+
/** Function full notation { $funcName: ["colName", ...args] } */
|
|
203
204
|
}
|
|
204
205
|
else {
|
|
205
|
-
|
|
206
|
-
throw "Joins disallowed";
|
|
207
|
-
}
|
|
208
|
-
await joinParse(key, val, throwErr);
|
|
206
|
+
({ funcName, args } = (0, exports.parseFunctionObject)(val));
|
|
209
207
|
}
|
|
208
|
+
this.addFunction(funcName, args, key);
|
|
209
|
+
/* Join */
|
|
210
210
|
}
|
|
211
|
-
else
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
211
|
+
else {
|
|
212
|
+
if (!joinParse) {
|
|
213
|
+
throw "Joins disallowed";
|
|
214
|
+
}
|
|
215
|
+
const joinSelect = val;
|
|
216
|
+
const parsedJoin = (0, parseJoinSelect_1.parseJoinSelect)(joinSelect);
|
|
217
|
+
if (typeof parsedJoin === "string") {
|
|
218
|
+
throwErr(parsedJoin);
|
|
219
|
+
}
|
|
220
|
+
await joinParse(key, parsedJoin);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
else
|
|
224
|
+
throwErr("Invalid select value");
|
|
225
|
+
}));
|
|
215
226
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
227
|
+
if (!joinParse)
|
|
228
|
+
return;
|
|
229
|
+
/**
|
|
230
|
+
* Is this still needed?!!!
|
|
231
|
+
* Add non selected columns
|
|
232
|
+
* This ensures all fields are available for orderBy in case of nested select
|
|
233
|
+
* */
|
|
234
|
+
Array.from(new Set([...this.allowedFields, ...this.allowedOrderByFields])).map((columnName) => {
|
|
235
|
+
if (!this.select.find((s) => s.alias === columnName && s.type === "column")) {
|
|
236
|
+
this.addColumn(columnName, false);
|
|
219
237
|
}
|
|
220
|
-
|
|
221
|
-
}
|
|
238
|
+
});
|
|
222
239
|
};
|
|
240
|
+
parseUserSelect = (userSelect) => this.parse(userSelect);
|
|
241
|
+
parseUserSelectWithJoins = this.parse;
|
|
223
242
|
}
|
|
224
243
|
exports.SelectItemBuilder = SelectItemBuilder;
|
|
225
244
|
//# sourceMappingURL=QueryBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGvE,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,YAAY,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM;;;CAMzC,CAAC;AAEF,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AACrE;;GAEG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAgB/D,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,YAAY,CAAC;IAC1B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,aAAa,WAAW,EAAE,YAAY,IAAI,KAAG,kBAsIzE,CAAC;
|
|
1
|
+
{"version":3,"file":"getJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGvE,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,YAAY,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM;;;CAMzC,CAAC;AAEF,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AACrE;;GAEG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAgB/D,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,YAAY,CAAC;IAC1B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,aAAa,WAAW,EAAE,YAAY,IAAI,KAAG,kBAsIzE,CAAC;AAyFF,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC"}
|
|
@@ -185,16 +185,17 @@ const getInnerJoinQuery = ({ paths, q1, q2, targetTableAliasRaw, rootSelectItems
|
|
|
185
185
|
}
|
|
186
186
|
const isFirst = !i;
|
|
187
187
|
if (isFirst) {
|
|
188
|
+
const tableExpression = isLast ? q2.source.expression : table.name;
|
|
188
189
|
return [
|
|
189
190
|
`SELECT `,
|
|
190
191
|
` /* Join fields + select */`,
|
|
191
192
|
...(0, getSelectQuery_1.indentLines)(rootSelectItems.map((s) => s.query), { appendCommas: true }),
|
|
192
|
-
`FROM ${
|
|
193
|
+
`FROM ${tableExpression} ${table.alias}`,
|
|
193
194
|
...targetQueryExtraQueries,
|
|
194
195
|
];
|
|
195
196
|
}
|
|
196
197
|
return [
|
|
197
|
-
`INNER JOIN ${table.name} ${table.alias}`,
|
|
198
|
+
`INNER JOIN ${isLast ? q2.source.expression : table.name} ${table.alias}`,
|
|
198
199
|
`ON ${(0, getTableJoinQuery_1.getJoinOnCondition)({
|
|
199
200
|
on: path.on,
|
|
200
201
|
leftAlias: prevTable.alias,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AAEpD,gEAA6D;AAG7D,qDAAwF;AAExF,wEAAsE;AACtE,8CAAuE;AACvE,yDAAsD;AAQtD;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,IAAA,wBAAM,EAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,KAAK;QACL,UAAU,EAAE,GAAG,IAAA,wBAAM,EAAC,OAAO,CAAC,OAAO,KAAK,EAAE;KAC7C,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB;AAEW,QAAA,mBAAmB,GAAG,iCAAiC,CAAC;AACrE;;GAEG;AACU,QAAA,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D,MAAM,YAAY,GAAG,CACnB,SAAiB,EACjB,SAAiB,EACjB,gBAAoC,EACpC,EAAE;IACF,MAAM,QAAQ,GAAG,gBAAgB,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;IACnE,OAAO;QACL,kEAAkE;QAClE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAA,wBAAM,EAAC,QAAQ,CAAC;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAWF;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAAC,WAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAQ,EAAsB,EAAE;IAC7F,MAAM,KAAK,GAAG,IAAA,6BAAa,EAAC;QAC1B,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG;QACvB,OAAO,EAAE,EAAE,CAAC,QAAQ;QACpB,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,IAAI;QACtB,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/D,MAAM,gBAAgB,GAAG,IAAA,wBAAM,EAAC,mBAAmB,CAAC,CAAC;IAErD,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACrC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAC3D,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,gCAAmB,EAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC;QAC9D,CAAC,EAAE,EAAE;QACL,mBAAmB,EAAE,YAAY,CAC/B,kBAAkB,CAAC,KAAK,EACxB,CAAC,EACD,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC,QAAQ;QACV,WAAW,EAAE,wBAAwB;QACrC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAElD,MAAM,aAAa,GAAG,IAAA,sCAAkB,EAAC;QACvC,EAAE,EAAE,kBAAkB,CAAC,EAAE;QACzB,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO;QACrD,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC,KAAK;KAChD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,eAAe;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CACpD,CAAC;IACF,MAAM,OAAO,GAAG,mCAAmC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,WAAW,KAAK,YAAY,OAAO,2BAAmB,EAAE,CAAC;IAEhJ,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC;QACvC,KAAK;QACL,EAAE;QACF,EAAE;QACF,eAAe;QACf,mBAAmB;KACpB,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E;;OAEG;IACH,MAAM,gBAAgB,GAAG,GAAG,iCAAgB,IAAI,sCAAqB,EAAE,CAAC;IACxE;;;OAGG;IACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG;YACpB,SAAS;YACT,GAAG,IAAA,4BAAW,EACZ,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC,oBAAoB,CAAC,CAAC,EACzF,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB;YACD,QAAQ;YACR,GAAG,IAAA,4BAAW,EAAC,UAAU,CAAC;YAC1B,KAAK,gBAAgB,EAAE;YACvB,SAAS,aAAa,EAAE;YACxB,YAAY,gBAAgB,EAAE;SAC/B,CAAC;QACF,MAAM,SAAS,GAAG;YAChB,GAAG,QAAQ,iBAAiB;YAC5B,GAAG,aAAa;YAChB,QAAQ,gBAAgB,UAAU;SACnC,CAAC;QACF,OAAO;YACL,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,EAAE,GAAG,EAAE,2BAAmB,EAAE,OAAO,EAAE,2BAAmB,EAAE;YACvE,SAAS;YACT,QAAQ,EAAE,EAAE;YACZ,QAAQ;YACR,wBAAwB;SACzB,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG;QACpB,SAAS;QACT,GAAG,IAAA,4BAAW,EACZ;YACE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACvD,OAAO;YACP,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC,oBAAoB,CAAC;SAC7D,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB;QACD,QAAQ;QACR,GAAG,IAAA,4BAAW,EAAC,UAAU,CAAC;QAC1B,KAAK,gBAAgB,EAAE;QACvB,GAAG,CAAC,QAAQ,CAAC,CAAC;YACZ,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,iCAAgB,EAAE,EAAE,MAAM,aAAa,EAAE,CAAC;YAC9E,CAAC,CAAC,EAAE,CAAC;QACL,YAAY,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC1E,CAAC;IAEF;;OAEG;IACH,MAAM,0BAA0B,GAAG,IAAA,wBAAM,EAAC,GAAG,gBAAgB,6BAA6B,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,CAAC,GAAG,0BAA0B,OAAO,EAAE,GAAG,IAAA,4BAAW,EAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IAE5F,MAAM,SAAS,GAAG;QAChB,GAAG,QAAQ,yBAAyB,0BAA0B,SAAS,gBAAgB,EAAE;QACzF,QAAQ,CAAC,CAAC;YACR,MAAM,gBAAgB,IAAI,sCAAqB,MAAM,gBAAgB,EAAE;YACzE,CAAC,CAAC,MAAM,aAAa,EAAE;KACxB,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,EAAE,GAAG,EAAE,2BAAmB,EAAE,OAAO,EAAE,2BAAmB,EAAE;QACvE,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,wBAAwB;KACzB,CAAC;AACJ,CAAC,CAAC;AAtIW,QAAA,YAAY,gBAsIvB;AAEF,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EACL,EAAE,EACF,EAAE,EACF,mBAAmB,EACnB,eAAe,GAOhB,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,uBAAuB,GAAa,EAAE,CAAC;QAE7C,MAAM,SAAS,GAAG,YAAY,CAC5B,CAAC,CAAC,CAAC,CAAC;YACF,EAAE,CAAC,UAAU,CAAC,CAAC;gBACb,EAAE,CAAC,UAAU,CAAC,OAAO;gBACvB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO;YACpB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,KAAK,EACrB,CAAC,GAAG,CAAC,EACL,SAAS,CACV,CAAC;QAEF,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEpF,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YAED,kEAAkE;YAClE,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,eAAe;qBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CACjF;qBACA,MAAM,CAAC,2BAAS,CAAC,CAAC;gBACrB,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;oBACzB,uBAAuB,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oBACd,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC;QACnB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACnE,OAAO;gBACL,SAAS;gBACT,8BAA8B;gBAC9B,GAAG,IAAA,4BAAW,EACZ,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EACnC,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB;gBACD,QAAQ,eAAe,IAAI,KAAK,CAAC,KAAK,EAAE;gBACxC,GAAG,uBAAuB;aAC3B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;YACzE,MAAM,IAAA,sCAAkB,EAAC;gBACvB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,KAAK,CAAC,KAAK;aACxB,CAAC,EAAE;YACJ,GAAG,uBAAuB;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC,CAAC;AAaF,MAAM,qBAAqB,GAAG,CAAC,EAC7B,CAAC,EACD,mBAAmB,EACnB,WAAW,EACX,WAAW,GACS,EAAE,EAAE;IACxB,MAAM,gBAAgB,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC;IAEjD,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAuB,cAAc;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,GAAG,CAAC;QACJ,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAA,wBAAM,EAAC,CAAC,CAAC,KAAK,CAAC;KACnE,CAAC,CAAC;SACF,MAAM,CACL,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,CAAC;QACX,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,yBAAW,EAAC,CAAC,EAAE,UAAU,CAAC;QACpD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,GAAG,IAAA,wBAAM,EAAC,mBAAmB,CAAC,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC,UAAU,EAAE;KACpE,CAAC,CAAC,CACJ,CAAC;IAEJ,MAAM,QAAQ,GAAG,CAAC,UAAmB,EAAE,EAAE;QACvC,MAAM,WAAW,GAAG,gBAAgB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAW,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3G,OAAO,qBAAqB,WAAW,IAAI,WAAW,QAAQ,+BAAuB,EAAE,CAAC;IAC1F,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,+BAAuB;YAC9B,MAAM,EAAE,EAAE;YACV,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC;YACpC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,eAAe;QACf,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,+BAAuB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;KACvF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import type { ParsedTableRule } from "../../PublishParser/PublishParser";
|
|
|
3
3
|
import type { Filter, LocalParams, PGIdentifier } from "../DboBuilder";
|
|
4
4
|
import type { ViewHandler } from "../ViewHandler/ViewHandler";
|
|
5
5
|
import type { NewQuery } from "./QueryBuilder";
|
|
6
|
-
export declare
|
|
6
|
+
export declare const getNewQuery: (viewHandler: ViewHandler, filter: Filter, selectParams: (SelectParams & {
|
|
7
7
|
joinExpressionAlias?: PGIdentifier;
|
|
8
|
-
}) | undefined,
|
|
8
|
+
}) | undefined, tableRules: ParsedTableRule | undefined, localParams: LocalParams | undefined) => Promise<NewQuery>;
|
|
9
9
|
//# sourceMappingURL=getNewQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNewQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getNewQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getNewQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getNewQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAM9D,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAI7D,eAAO,MAAM,WAAW,GACtB,aAAa,WAAW,EACxB,QAAQ,MAAM,EACd,eAAc,YAAY,GAAG;IAAE,mBAAmB,CAAC,EAAE,YAAY,CAAA;CAAE,aAAK,EACxE,YAAY,eAAe,GAAG,SAAS,EACvC,aAAa,WAAW,GAAG,SAAS,KACnC,OAAO,CAAC,QAAQ,CAwKlB,CAAC"}
|
|
@@ -1,99 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNewQuery =
|
|
3
|
+
exports.getNewQuery = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const parseJoinPath_1 = require("../ViewHandler/parseJoinPath");
|
|
6
6
|
const prepareSortItems_1 = require("../ViewHandler/prepareSortItems");
|
|
7
|
+
const prepareWhere_1 = require("../ViewHandler/prepareWhere");
|
|
7
8
|
const COMPUTED_FIELDS_1 = require("./Functions/COMPUTED_FIELDS");
|
|
8
9
|
const Functions_1 = require("./Functions/Functions");
|
|
9
10
|
const QueryBuilder_1 = require("./QueryBuilder");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
filter: 1,
|
|
14
|
-
having: 1,
|
|
15
|
-
limit: 1,
|
|
16
|
-
offset: 1,
|
|
17
|
-
orderBy: 1,
|
|
18
|
-
select: 1,
|
|
19
|
-
});
|
|
20
|
-
const parseJoinSelect = (joinParams) => {
|
|
21
|
-
if (!joinParams) {
|
|
22
|
-
return {
|
|
23
|
-
error: "Empty join params",
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
if (typeof joinParams === "string") {
|
|
27
|
-
if (joinParams !== "*") {
|
|
28
|
-
throw "Join select can be * or { field: 1 }";
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
type: "simple",
|
|
32
|
-
params: joinParams,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
const [joinKey, ...otherKeys] = (0, prostgles_types_1.getKeys)(joinParams).filter((k) => (0, prostgles_types_1.includes)(JOIN_KEYS, k));
|
|
36
|
-
if (otherKeys.length) {
|
|
37
|
-
return {
|
|
38
|
-
error: "Cannot specify more than one join type ( $innerJoin OR $leftJoin )",
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
else if (joinKey) {
|
|
42
|
-
/* Full option join { field_name: db.innerJoin.table_name(filter, select) } */
|
|
43
|
-
const invalidParams = Object.keys(joinParams).filter((k) => !(0, prostgles_types_1.includes)([...JOIN_PARAM_KEYS, ...JOIN_KEYS], k));
|
|
44
|
-
if (invalidParams.length) {
|
|
45
|
-
throw "Invalid join params: " + invalidParams.join(", ");
|
|
46
|
-
}
|
|
47
|
-
const path = joinParams[joinKey];
|
|
48
|
-
if (Array.isArray(path) && !path.length) {
|
|
49
|
-
throw `Cannot have an empty join path/tableName ${joinKey}`;
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
type: "detailed",
|
|
53
|
-
params: {
|
|
54
|
-
...joinParams,
|
|
55
|
-
path,
|
|
56
|
-
table: typeof path === "string" ? path : path.at(-1).table,
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
type: "simple",
|
|
62
|
-
params: joinParams,
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
async function getNewQuery(_this, filter, selectParams = {}, param3_unused = null, tableRules, localParams) {
|
|
66
|
-
const { columns } = _this;
|
|
11
|
+
const getSelectQuery_1 = require("./getSelectQuery");
|
|
12
|
+
const getNewQuery = async (viewHandler, filter, selectParams = {}, tableRules, localParams) => {
|
|
13
|
+
const { columns } = viewHandler;
|
|
67
14
|
if (localParams?.isRemoteRequest && !tableRules?.select?.fields) {
|
|
68
|
-
throw `INTERNAL ERROR: publish.${
|
|
15
|
+
throw `INTERNAL ERROR: publish.${viewHandler.name}.select.fields rule missing`;
|
|
69
16
|
}
|
|
70
17
|
const allowedOrderByFields = !tableRules ?
|
|
71
|
-
|
|
72
|
-
:
|
|
73
|
-
const allowedSelectFields = !tableRules ?
|
|
18
|
+
viewHandler.column_names.slice(0)
|
|
19
|
+
: viewHandler.parseFieldFilter(tableRules.select?.orderByFields ?? tableRules.select?.fields);
|
|
20
|
+
const allowedSelectFields = !tableRules ?
|
|
21
|
+
viewHandler.column_names.slice(0)
|
|
22
|
+
: viewHandler.parseFieldFilter(tableRules.select?.fields);
|
|
74
23
|
const joinQueries = [];
|
|
75
|
-
const { select: userSelect = "*" } = selectParams
|
|
24
|
+
const { select: userSelect = "*" } = selectParams;
|
|
25
|
+
const selectItemBuilder = new QueryBuilder_1.SelectItemBuilder({
|
|
76
26
|
allowedFields: allowedSelectFields,
|
|
77
27
|
allowedOrderByFields,
|
|
78
28
|
computedFields: COMPUTED_FIELDS_1.COMPUTED_FIELDS,
|
|
79
|
-
isView:
|
|
29
|
+
isView: viewHandler.isView,
|
|
80
30
|
functions: Functions_1.FUNCTIONS,
|
|
81
|
-
allFields:
|
|
31
|
+
allFields: viewHandler.column_names.slice(0),
|
|
82
32
|
columns,
|
|
83
33
|
});
|
|
84
|
-
await
|
|
34
|
+
await selectItemBuilder.parseUserSelectWithJoins(userSelect, async (joinColumnName, parsedJoin) => {
|
|
85
35
|
const j_selectParams = {};
|
|
86
36
|
let j_filter = {}, j_isLeftJoin = true;
|
|
87
|
-
const parsedJoin = parseJoinSelect(_joinParams);
|
|
88
|
-
if (!parsedJoin.type) {
|
|
89
|
-
throwErr(parsedJoin.error);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
37
|
const joinExpressionAlias = { raw: joinColumnName, escaped: (0, prostgles_types_1.asName)(joinColumnName) };
|
|
93
38
|
const j_path = (0, parseJoinPath_1.parseJoinPath)({
|
|
94
39
|
rawPath: parsedJoin.type === "simple" ? joinColumnName : parsedJoin.params.path,
|
|
95
|
-
rootTable:
|
|
96
|
-
viewHandler:
|
|
40
|
+
rootTable: viewHandler.name,
|
|
41
|
+
viewHandler: viewHandler,
|
|
97
42
|
allowMultiOrJoin: true,
|
|
98
43
|
addShortestJoinIfMissing: true,
|
|
99
44
|
});
|
|
@@ -103,8 +48,8 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
103
48
|
else if (parsedJoin.type === "detailed") {
|
|
104
49
|
const joinParams = parsedJoin.params;
|
|
105
50
|
j_isLeftJoin = !!joinParams.$leftJoin;
|
|
106
|
-
j_selectParams.select = joinParams.select || "*";
|
|
107
51
|
j_filter = joinParams.filter || {};
|
|
52
|
+
j_selectParams.select = joinParams.select || "*";
|
|
108
53
|
j_selectParams.limit = joinParams.limit;
|
|
109
54
|
j_selectParams.offset = joinParams.offset;
|
|
110
55
|
j_selectParams.orderBy = joinParams.orderBy;
|
|
@@ -119,7 +64,7 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
119
64
|
if (!joinTableName) {
|
|
120
65
|
throw "jTable missing";
|
|
121
66
|
}
|
|
122
|
-
const joinTableHandler =
|
|
67
|
+
const joinTableHandler = viewHandler.dboBuilder.dboMap.get(joinTableName);
|
|
123
68
|
if (!joinTableHandler) {
|
|
124
69
|
throw `Joined table ${JSON.stringify(joinTableName)} is disallowed or inexistent \nOr you forgot to put the function arguments into an array`;
|
|
125
70
|
}
|
|
@@ -127,65 +72,56 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
127
72
|
let isLocal = true;
|
|
128
73
|
if (localParams && localParams.clientReq) {
|
|
129
74
|
isLocal = false;
|
|
130
|
-
joinTableRules = await
|
|
75
|
+
joinTableRules = await viewHandler.dboBuilder.publishParser?.getValidatedRequestRuleWusr({
|
|
131
76
|
tableName: joinTableName,
|
|
132
77
|
command: "find",
|
|
133
78
|
clientReq: localParams.clientReq,
|
|
134
79
|
}, localParams.scope);
|
|
135
80
|
}
|
|
136
|
-
const isAllowedAccessToTable = isLocal || joinTableRules;
|
|
137
|
-
if (isAllowedAccessToTable) {
|
|
138
|
-
|
|
139
|
-
joinQuery.isLeftJoin = j_isLeftJoin;
|
|
140
|
-
joinQuery.tableAlias = joinExpressionAlias;
|
|
141
|
-
joinQueries.push({
|
|
142
|
-
...joinQuery,
|
|
143
|
-
joinPath: j_path,
|
|
144
|
-
joinAlias: joinQuery.tableAlias ?? joinQuery.table,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
/**
|
|
149
|
-
* Is this still needed?!!!
|
|
150
|
-
* Add non selected columns
|
|
151
|
-
* This ensures all fields are available for orderBy in case of nested select
|
|
152
|
-
* */
|
|
153
|
-
Array.from(new Set([...allowedSelectFields, ...allowedOrderByFields])).map((key) => {
|
|
154
|
-
if (!sBuilder.select.find((s) => s.alias === key && s.type === "column")) {
|
|
155
|
-
sBuilder.addColumn(key, false);
|
|
81
|
+
const isAllowedAccessToTable = isLocal || joinTableRules?.select;
|
|
82
|
+
if (!isAllowedAccessToTable) {
|
|
83
|
+
throw `Join select for ${JSON.stringify(joinTableName)} is invalid or not allowed`;
|
|
156
84
|
}
|
|
85
|
+
const joinQuery = await (0, exports.getNewQuery)(joinTableHandler, j_filter, { ...j_selectParams, joinExpressionAlias }, joinTableRules, localParams);
|
|
86
|
+
joinQuery.isLeftJoin = j_isLeftJoin;
|
|
87
|
+
joinQueries.push({
|
|
88
|
+
...joinQuery,
|
|
89
|
+
joinPath: j_path,
|
|
90
|
+
joinAlias: joinQuery.tableAlias ?? joinQuery.table,
|
|
91
|
+
});
|
|
157
92
|
});
|
|
158
|
-
const select =
|
|
159
|
-
const tableAlias = selectParams.joinExpressionAlias;
|
|
93
|
+
const select = selectItemBuilder.select;
|
|
160
94
|
const commonWhereParams = {
|
|
161
95
|
filter,
|
|
162
96
|
select,
|
|
163
97
|
forcedFilter: tableRules?.select?.forcedFilter,
|
|
164
98
|
filterFields: tableRules?.select?.filterFields,
|
|
165
|
-
tableAlias,
|
|
99
|
+
tableAlias: selectParams.joinExpressionAlias,
|
|
166
100
|
localParams,
|
|
167
101
|
tableRule: tableRules,
|
|
168
102
|
isHaving: false,
|
|
103
|
+
selectParams,
|
|
169
104
|
};
|
|
170
|
-
const filterOpts = await
|
|
105
|
+
const filterOpts = await (0, prepareWhere_1.prepareWhere)(viewHandler, {
|
|
171
106
|
...commonWhereParams,
|
|
172
107
|
isHaving: false,
|
|
173
108
|
});
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
const
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
allFields: _this.column_names.slice(0),
|
|
109
|
+
const { source } = filterOpts;
|
|
110
|
+
const havingOpts = (0, prostgles_types_1.isEmpty)(selectParams.having) ? undefined : (await (0, prepareWhere_1.prepareWhere)(viewHandler, {
|
|
111
|
+
...(0, prostgles_types_1.omitKeys)(commonWhereParams, ["forcedFilter", "selectParams"]),
|
|
112
|
+
filter: selectParams.having,
|
|
113
|
+
tableAlias: selectParams.joinExpressionAlias ? source.alias : ({ raw: getSelectQuery_1.ROOT_TABLE_ALIAS, escaped: getSelectQuery_1.ROOT_TABLE_ALIAS }),
|
|
114
|
+
isHaving: true,
|
|
115
|
+
}));
|
|
116
|
+
const validatedRules = viewHandler.getValidatedRules(tableRules, localParams);
|
|
117
|
+
const newQuery = {
|
|
118
|
+
allFields: viewHandler.column_names.slice(0),
|
|
185
119
|
select,
|
|
186
|
-
table: { raw:
|
|
120
|
+
table: { raw: viewHandler.name, escaped: viewHandler.name },
|
|
121
|
+
tableAlias: selectParams.joinExpressionAlias,
|
|
122
|
+
source,
|
|
187
123
|
joins: joinQueries,
|
|
188
|
-
where,
|
|
124
|
+
where: filterOpts.where,
|
|
189
125
|
whereOpts: filterOpts,
|
|
190
126
|
having: havingOpts?.condition ?? "",
|
|
191
127
|
isLeftJoin: false,
|
|
@@ -193,11 +129,12 @@ async function getNewQuery(_this, filter, selectParams = {}, param3_unused = nul
|
|
|
193
129
|
orderByItems: (0, prepareSortItems_1.prepareSortItems)(selectParams.orderBy, allowedOrderByFields, selectParams.joinExpressionAlias, select, joinQueries),
|
|
194
130
|
offset: prepareOffsetQuery(selectParams.offset),
|
|
195
131
|
};
|
|
196
|
-
if (
|
|
132
|
+
if (newQuery.select.some((s) => s.type === "aggregation") && newQuery.joins?.length) {
|
|
197
133
|
throw new Error(`Root query aggregation AND nested joins not allowed`);
|
|
198
134
|
}
|
|
199
|
-
return
|
|
200
|
-
}
|
|
135
|
+
return newQuery;
|
|
136
|
+
};
|
|
137
|
+
exports.getNewQuery = getNewQuery;
|
|
201
138
|
const prepareOffsetQuery = (offset) => {
|
|
202
139
|
if (Number.isInteger(offset)) {
|
|
203
140
|
return offset;
|