@budibase/backend-core 2.29.4 → 2.29.7
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/index.js +55 -6
- package/dist/index.js.map +2 -2
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +4 -4
- package/dist/plugins.js.meta.json +1 -1
- package/dist/src/sql/sql.js +8 -1
- package/dist/src/sql/sql.js.map +1 -1
- package/dist/src/sql/sqlStatements.d.ts +3 -1
- package/dist/src/sql/sqlStatements.js +8 -2
- package/dist/src/sql/sqlStatements.js.map +1 -1
- package/package.json +4 -4
- package/src/sql/sql.ts +13 -2
- package/src/sql/sqlStatements.ts +10 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "2.29.
|
|
3
|
+
"version": "2.29.7",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@budibase/nano": "10.1.5",
|
|
25
25
|
"@budibase/pouchdb-replication-stream": "1.2.10",
|
|
26
|
-
"@budibase/shared-core": "2.29.
|
|
27
|
-
"@budibase/types": "2.29.
|
|
26
|
+
"@budibase/shared-core": "2.29.7",
|
|
27
|
+
"@budibase/types": "2.29.7",
|
|
28
28
|
"@govtechsg/passport-openidconnect": "^1.0.2",
|
|
29
29
|
"aws-cloudfront-sign": "3.0.2",
|
|
30
30
|
"aws-sdk": "2.1030.0",
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "29579f5ba2e95a7ba4d222409c94a976df1c9539"
|
|
100
100
|
}
|
package/src/sql/sql.ts
CHANGED
|
@@ -184,7 +184,11 @@ class InternalBuilder {
|
|
|
184
184
|
query: Knex.QueryBuilder,
|
|
185
185
|
filters: SearchFilters | undefined,
|
|
186
186
|
table: Table,
|
|
187
|
-
opts: {
|
|
187
|
+
opts: {
|
|
188
|
+
aliases?: Record<string, string>
|
|
189
|
+
relationship?: boolean
|
|
190
|
+
columnPrefix?: string
|
|
191
|
+
}
|
|
188
192
|
): Knex.QueryBuilder {
|
|
189
193
|
if (!filters) {
|
|
190
194
|
return query
|
|
@@ -192,7 +196,10 @@ class InternalBuilder {
|
|
|
192
196
|
filters = parseFilters(filters)
|
|
193
197
|
// if all or specified in filters, then everything is an or
|
|
194
198
|
const allOr = filters.allOr
|
|
195
|
-
const sqlStatements = new SqlStatements(this.client, table, {
|
|
199
|
+
const sqlStatements = new SqlStatements(this.client, table, {
|
|
200
|
+
allOr,
|
|
201
|
+
columnPrefix: opts.columnPrefix,
|
|
202
|
+
})
|
|
196
203
|
const tableName =
|
|
197
204
|
this.client === SqlClient.SQL_LITE ? table._id! : table.name
|
|
198
205
|
|
|
@@ -663,6 +670,7 @@ class InternalBuilder {
|
|
|
663
670
|
}
|
|
664
671
|
// add filters to the query (where)
|
|
665
672
|
query = this.addFilters(query, filters, json.meta.table, {
|
|
673
|
+
columnPrefix: json.meta.columnPrefix,
|
|
666
674
|
aliases: tableAliases,
|
|
667
675
|
})
|
|
668
676
|
|
|
@@ -698,6 +706,7 @@ class InternalBuilder {
|
|
|
698
706
|
}
|
|
699
707
|
|
|
700
708
|
return this.addFilters(query, filters, json.meta.table, {
|
|
709
|
+
columnPrefix: json.meta.columnPrefix,
|
|
701
710
|
relationship: true,
|
|
702
711
|
aliases: tableAliases,
|
|
703
712
|
})
|
|
@@ -708,6 +717,7 @@ class InternalBuilder {
|
|
|
708
717
|
let query = this.knexWithAlias(knex, endpoint, tableAliases)
|
|
709
718
|
const parsedBody = parseBody(body)
|
|
710
719
|
query = this.addFilters(query, filters, json.meta.table, {
|
|
720
|
+
columnPrefix: json.meta.columnPrefix,
|
|
711
721
|
aliases: tableAliases,
|
|
712
722
|
})
|
|
713
723
|
// mysql can't use returning
|
|
@@ -722,6 +732,7 @@ class InternalBuilder {
|
|
|
722
732
|
const { endpoint, filters, tableAliases } = json
|
|
723
733
|
let query = this.knexWithAlias(knex, endpoint, tableAliases)
|
|
724
734
|
query = this.addFilters(query, filters, json.meta.table, {
|
|
735
|
+
columnPrefix: json.meta.columnPrefix,
|
|
725
736
|
aliases: tableAliases,
|
|
726
737
|
})
|
|
727
738
|
// mysql can't use returning
|
package/src/sql/sqlStatements.ts
CHANGED
|
@@ -5,19 +5,27 @@ export class SqlStatements {
|
|
|
5
5
|
client: string
|
|
6
6
|
table: Table
|
|
7
7
|
allOr: boolean | undefined
|
|
8
|
+
columnPrefix: string | undefined
|
|
9
|
+
|
|
8
10
|
constructor(
|
|
9
11
|
client: string,
|
|
10
12
|
table: Table,
|
|
11
|
-
{ allOr }: { allOr?: boolean } = {}
|
|
13
|
+
{ allOr, columnPrefix }: { allOr?: boolean; columnPrefix?: string } = {}
|
|
12
14
|
) {
|
|
13
15
|
this.client = client
|
|
14
16
|
this.table = table
|
|
15
17
|
this.allOr = allOr
|
|
18
|
+
this.columnPrefix = columnPrefix
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
getField(key: string): FieldSchema | undefined {
|
|
19
22
|
const fieldName = key.split(".")[1]
|
|
20
|
-
|
|
23
|
+
let found = this.table.schema[fieldName]
|
|
24
|
+
if (!found && this.columnPrefix) {
|
|
25
|
+
const prefixRemovedFieldName = fieldName.replace(this.columnPrefix, "")
|
|
26
|
+
found = this.table.schema[prefixRemovedFieldName]
|
|
27
|
+
}
|
|
28
|
+
return found
|
|
21
29
|
}
|
|
22
30
|
|
|
23
31
|
between(
|