getLabelIdentifierFieldValue should always return string (#12772)

## Introduction

For a custom object if the selected identifier field metadata is an
number type than it wouldn't get be converted to a string

#closes https://github.com/twentyhq/twenty/issues/12717

## Concerns
Kinda the same than for https://github.com/twentyhq/twenty/pull/12728

Here ObjectRecord unknown fields are typed as any, we might wanna do a
poc in order to migrate to `unknown` usage
```ts
import { BaseObjectRecord } from '@/object-record/types/BaseObjectRecord';

export type ObjectRecord = Record<string, any> & BaseObjectRecord;
```
This commit is contained in:
Paul Rastoin
2025-06-20 17:58:31 +02:00
committed by GitHub
parent 94557e7447
commit e11bd7aa0f

View File

@ -13,12 +13,13 @@ export const getLabelIdentifierFieldValue = (
return record.id; return record.id;
} }
const recordIdentifierValue = record[labelIdentifierFieldMetadataItem.name];
if ( if (
objectNameSingular === CoreObjectNameSingular.WorkspaceMember || objectNameSingular === CoreObjectNameSingular.WorkspaceMember ||
labelIdentifierFieldMetadataItem.type === FieldMetadataType.FULL_NAME labelIdentifierFieldMetadataItem.type === FieldMetadataType.FULL_NAME
) { ) {
return `${record[labelIdentifierFieldMetadataItem.name]?.firstName ?? ''} ${record[labelIdentifierFieldMetadataItem.name]?.lastName ?? ''}`; return `${recordIdentifierValue?.firstName ?? ''} ${recordIdentifierValue?.lastName ?? ''}`;
} }
return record[labelIdentifierFieldMetadataItem.name] ?? ''; return isDefined(recordIdentifierValue) ? `${recordIdentifierValue}` : '';
}; };