diff --git a/packages/server/src/api/controllers/row/utils/basic.ts b/packages/server/src/api/controllers/row/utils/basic.ts index ce7179035f..24f1400d84 100644 --- a/packages/server/src/api/controllers/row/utils/basic.ts +++ b/packages/server/src/api/controllers/row/utils/basic.ts @@ -50,7 +50,7 @@ export function generateIdForRow( return generateRowIdField(idParts) } -export async function basicProcessing({ +export function basicProcessing({ row, table, isLinked, @@ -60,21 +60,17 @@ export async function basicProcessing({ table: Table isLinked: boolean internal?: boolean -}): Promise { - let thisRow: Row = {} +}): Row { + const thisRow: Row = {} // filter the row down to what is actually the row (not joined) - let toIterate = Object.keys(table.schema) - if (internal) { - toIterate = toIterate.concat(CONSTANT_INTERNAL_ROW_COLS) - } - for (let fieldName of toIterate) { + for (let field of Object.values(table.schema)) { + const fieldName = field.name const value = extractFieldValue({ row, - tableName: internal ? table._id! : table.name, + tableName: table.name, fieldName, isLinked, }) - // all responses include "select col as table.col" so that overlaps are handled if (value != null) { thisRow[fieldName] = value @@ -85,7 +81,7 @@ export async function basicProcessing({ thisRow.tableId = table._id thisRow._rev = "rev" } - return processFormulas(table, thisRow) + return thisRow } export function fixArrayTypes(row: Row, table: Table) { diff --git a/packages/server/src/api/controllers/row/utils/sqlUtils.ts b/packages/server/src/api/controllers/row/utils/sqlUtils.ts index 3a4558a6cd..2df829154f 100644 --- a/packages/server/src/api/controllers/row/utils/sqlUtils.ts +++ b/packages/server/src/api/controllers/row/utils/sqlUtils.ts @@ -6,11 +6,7 @@ import { Row, Table, } from "@budibase/types" -import { processFormulas } from "../../../../utilities/rowProcessor" -import { - breakExternalTableId, - getPrimaryDisplay, -} from "../../../../integrations/utils" +import { breakExternalTableId } from "../../../../integrations/utils" import { basicProcessing } from "./basic" import { generateJunctionTableID } from "../../../../db/utils" @@ -22,40 +18,6 @@ export function isManyToMany( return !!(field as ManyToManyRelationshipFieldMetadata).through } -export function squashRelationshipColumns( - table: Table, - tables: TableMap, - row: Row, - relationships: RelationshipsJson[] -): Row { - for (let relationship of relationships) { - const linkedTable = tables[relationship.tableName] - if (!linkedTable || !row[relationship.column]) { - continue - } - const display = linkedTable.primaryDisplay - for (let key of Object.keys(row[relationship.column])) { - let relatedRow: Row = row[relationship.column][key] - // add this row as context for the relationship - for (let col of Object.values(linkedTable.schema)) { - if (col.type === FieldType.LINK && col.tableId === table._id) { - relatedRow[col.name] = [row] - } - } - relatedRow = processFormulas(linkedTable, relatedRow) - let relatedDisplay - if (display) { - relatedDisplay = getPrimaryDisplay(relatedRow[display]) - } - row[relationship.column][key] = { - primaryDisplay: relatedDisplay || "Invalid display column", - _id: relatedRow._id, - } - } - } - return row -} - /** * This iterates through the returned rows and works out what elements of the rows * actually match up to another row (based on primary keys) - this is pretty specific diff --git a/packages/server/src/api/controllers/row/utils/utils.ts b/packages/server/src/api/controllers/row/utils/utils.ts index c33517c5f4..c77ccf63a9 100644 --- a/packages/server/src/api/controllers/row/utils/utils.ts +++ b/packages/server/src/api/controllers/row/utils/utils.ts @@ -142,7 +142,7 @@ export async function sqlOutputProcessing( continue } const thisRow = fixArrayTypes( - await basicProcessing({ + basicProcessing({ row, table, isLinked: false, diff --git a/yarn.lock b/yarn.lock index 11c7e10d71..3ac0351e64 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18063,10 +18063,10 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" -posthog-js@^1.116.6: - version "1.117.0" - resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.117.0.tgz#59c3e520f6269f76ea82dce8760fbc33cdd7f48f" - integrity sha512-+I8q5G9YG6r6wOLKPT+C+AV7MRhyVFJMTJS7dfwLmmT+mkVxQ5bfC59hBkJUObOR+YRn5jn2JT/sgIslU94EZg== +posthog-js@^1.118.0: + version "1.120.0" + resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.120.0.tgz#43a364a930d200e14ddf217ed340e5085fb8afcd" + integrity sha512-A1FOJabDjt0mFg2ePfgqeZPUQl8WY6L+fNNfN/89gqvPoI7HmHta2hY/9tDQ+mBRHjj4nah5KK/EWqJHq69fGw== dependencies: fflate "^0.4.8" preact "^10.19.3"