diff --git a/packages/server/src/api/controllers/row/utils.ts b/packages/server/src/api/controllers/row/utils.ts index 5f10fd9ad4..1243d18847 100644 --- a/packages/server/src/api/controllers/row/utils.ts +++ b/packages/server/src/api/controllers/row/utils.ts @@ -4,6 +4,8 @@ import { context } from "@budibase/backend-core" import { Ctx, FieldType, + ManyToOneRelationshipFieldMetadata, + OneToManyRelationshipFieldMetadata, Row, SearchFilters, Table, @@ -19,7 +21,14 @@ function isForeignKey(key: string, table: Table) { const relationships = Object.values(table.schema).filter( column => column.type === FieldType.LINK ) - return relationships.some(relationship => relationship.foreignKey === key) + return relationships.some( + relationship => + ( + relationship as + | OneToManyRelationshipFieldMetadata + | ManyToOneRelationshipFieldMetadata + ).foreignKey === key + ) } validateJs.extend(validateJs.validators.datetime, { diff --git a/packages/server/src/tests/utilities/TestConfiguration.ts b/packages/server/src/tests/utilities/TestConfiguration.ts index 21b6463ce7..50aec9afc7 100644 --- a/packages/server/src/tests/utilities/TestConfiguration.ts +++ b/packages/server/src/tests/utilities/TestConfiguration.ts @@ -584,7 +584,7 @@ class TestConfiguration { tableConfig.schema[link] = { type: FieldType.LINK, fieldName: link, - tableId: this.table._id, + tableId: this.table._id!, name: link, relationshipType, } diff --git a/packages/types/src/documents/app/table/schema.ts b/packages/types/src/documents/app/table/schema.ts index 53ad39ac96..343aa16699 100644 --- a/packages/types/src/documents/app/table/schema.ts +++ b/packages/types/src/documents/app/table/schema.ts @@ -66,7 +66,7 @@ interface NumberForeignKeyMetadata { export type NumberFieldMetadata = BaseFieldSchema & { type: FieldType.NUMBER - autocolumn: boolean + autocolumn?: boolean } & (NumberForeignKeyMetadata | {}) export interface DateFieldMetadata extends BaseFieldSchema {