From f28eb054f38b66c40b33d9b9f946481c15b3556f Mon Sep 17 00:00:00 2001 From: melohagan <101575380+melohagan@users.noreply.github.com> Date: Tue, 7 Nov 2023 11:59:51 +0000 Subject: [PATCH] Set the relationship type (#12275) * Set the relationship type * Add users type * Set user relationship type saveColumn * Set relationshipType for users type on save * Add relatioshipType to schema * Refactor * Check isUsersColumn * Make relationshipType optional --------- Co-authored-by: Michael Drury --- .../backend/DataTable/modals/CreateEditColumn.svelte | 10 ++++++++++ packages/types/src/documents/app/table/schema.ts | 1 + 2 files changed, 11 insertions(+) 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 {