Fix generic-sql.spec.ts

This commit is contained in:
Sam Rose 2024-10-01 15:39:33 +01:00
parent 1f209e62b9
commit addd54a8e8
No known key found for this signature in database
1 changed files with 8 additions and 5 deletions

View File

@ -811,7 +811,10 @@ class InternalBuilder {
let table: Table let table: Table
if (typeof t === "string") { if (typeof t === "string") {
if (!this.query.meta.tables?.[t]) { if (!this.query.meta.tables?.[t]) {
throw new Error(`Table ${t} not found`) // This can legitimately happen in custom queries, where the user is
// querying against a table that may not have been imported into
// Budibase.
return t
} }
table = this.query.meta.tables[t] table = this.query.meta.tables[t]
} else if (t) { } else if (t) {
@ -1547,12 +1550,12 @@ class SqlQueryBuilder extends SqlTableQueryBuilder {
if (!this._isJsonColumn(field)) { if (!this._isJsonColumn(field)) {
continue continue
} }
const fullName = `${tableName}.${name}` const fullName = `${tableName}.${name}` as keyof T
for (let row of results) { for (let row of results) {
if (typeof row[fullName as keyof T] === "string") { if (typeof row[fullName] === "string") {
row[fullName as keyof T] = JSON.parse(row[fullName]) row[fullName] = JSON.parse(row[fullName])
} }
if (typeof row[name as keyof T] === "string") { if (typeof row[name] === "string") {
row[name as keyof T] = JSON.parse(row[name]) row[name as keyof T] = JSON.parse(row[name])
} }
} }