diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index d5a9aba488..4eb1f962f0 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -44,6 +44,8 @@ const NUMBER_TYPE = FIELDS.NUMBER.type const JSON_TYPE = FIELDS.JSON.type const DATE_TYPE = FIELDS.DATETIME.type + const USER_TYPE = FIELDS.USER.subtype + const USERS_TYPE = FIELDS.USERS.subtype const dispatch = createEventDispatcher() const PROHIBITED_COLUMN_NAMES = ["type", "_id", "_rev", "tableId"] @@ -287,6 +289,14 @@ if (saveColumn.type !== LINK_TYPE) { delete saveColumn.fieldName } + if (isUsersColumn(saveColumn)) { + if (saveColumn.subtype === USER_TYPE) { + saveColumn.relationshipType = RelationshipType.ONE_TO_MANY + } else if (saveColumn.subtype === USERS_TYPE) { + saveColumn.relationshipType = RelationshipType.MANY_TO_MANY + } + } + try { await tables.saveField({ originalName, diff --git a/packages/types/src/documents/app/table/schema.ts b/packages/types/src/documents/app/table/schema.ts index 755ccf61e7..19a7303072 100644 --- a/packages/types/src/documents/app/table/schema.ts +++ b/packages/types/src/documents/app/table/schema.ts @@ -102,6 +102,7 @@ export interface BBReferenceFieldMetadata extends Omit { type: FieldType.BB_REFERENCE subtype: FieldSubtype.USER | FieldSubtype.USERS + relationshipType?: RelationshipType } export interface FieldConstraints {