From 2fc300a63c31f9dd2306c39ef66d39e08cfb4d1c Mon Sep 17 00:00:00 2001
From: Paul Rastoin <45004772+prastoin@users.noreply.github.com>
Date: Tue, 24 Jun 2025 20:05:27 +0200
Subject: [PATCH] Remove number from label identifier list (#12831)
---
...ettingsObjectFieldActiveActionDropdown.tsx | 5 +-
.../SettingsObjectFieldItemTableRow.tsx | 8 +-
...SettingsDataModelObjectIdentifiersForm.tsx | 4 +-
.../dtos/update-object.input.ts | 4 +
.../before-update-one-object.hook.spec.ts | 56 -----------
.../hooks/before-update-one-object.hook.ts | 56 +----------
.../object-metadata.service.ts | 9 ++
...data-identifier-field-metadata-id.utils.ts | 94 ++++++++++++++++++
...e-object-metadata.integration-spec.ts.snap | 34 +++++++
...te-one-object-metadata.integration-spec.ts | 96 +++++++++++++++++++
.../LabelIdentifierFieldMetadataTypes.ts | 3 +-
packages/twenty-shared/src/constants/index.ts | 1 +
packages/twenty-shared/src/utils/index.ts | 1 +
.../isLabelIdentifierFieldMetadataTypes.ts | 7 ++
14 files changed, 258 insertions(+), 120 deletions(-)
create mode 100644 packages/twenty-server/src/engine/metadata-modules/utils/validate-metadata-identifier-field-metadata-id.utils.ts
create mode 100644 packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap
create mode 100644 packages/twenty-server/test/integration/metadata/suites/object-metadata/failing-update-one-object-metadata.integration-spec.ts
rename packages/{twenty-front/src/modules/object-metadata => twenty-shared/src}/constants/LabelIdentifierFieldMetadataTypes.ts (55%)
create mode 100644 packages/twenty-shared/src/utils/validation/isLabelIdentifierFieldMetadataTypes.ts
diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldActiveActionDropdown.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldActiveActionDropdown.tsx
index a460c0f00..9397aec80 100644
--- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldActiveActionDropdown.tsx
+++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldActiveActionDropdown.tsx
@@ -3,6 +3,7 @@ import { DropdownContent } from '@/ui/layout/dropdown/components/DropdownContent
import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
import { GenericDropdownContentWidth } from '@/ui/layout/dropdown/constants/GenericDropdownContentWidth';
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
+import { isDefined } from 'twenty-shared/utils';
import {
IconArchive,
IconDotsVertical,
@@ -65,14 +66,14 @@ export const SettingsObjectFieldActiveActionDropdown = ({
LeftIcon={isCustomField ? IconPencil : IconEye}
onClick={handleEdit}
/>
- {!!onSetAsLabelIdentifier && (
+ {isDefined(onSetAsLabelIdentifier) && (
)}
- {!!onDeactivate && (
+ {isDefined(onDeactivate) && (