fix IndexFieldMetadata availability in IndexMetadata/ObjectMetadata in front (#12886)

Context : 
- IndexFieldMetadata was no longer available on 'objects' gql query
([since this PR](https://github.com/twentyhq/twenty/pull/12785)). Then,
unicity checks on import do not work anymore.

Fix : 
- Add a dataloader logic in indexFieldMetadata
- Add extra check in unicity hook on import
This commit is contained in:
Etienne
2025-06-27 13:12:14 +02:00
committed by GitHub
parent c3f8a25d25
commit b80762b3e1
20 changed files with 225 additions and 71 deletions

View File

@ -33,6 +33,13 @@ export const FIND_MANY_OBJECT_METADATA_ITEMS = gql`
indexWhereClause
indexType
isUnique
indexFieldMetadataList {
id
fieldMetadataId
createdAt
updatedAt
order
}
}
fieldsList {
id

View File

@ -3,7 +3,10 @@ import { Index as GeneratedIndex } from '~/generated-metadata/graphql';
export type IndexMetadataItem = Omit<
GeneratedIndex,
'__typename' | 'indexFieldMetadatas' | 'objectMetadata'
| '__typename'
| 'indexFieldMetadatas'
| 'objectMetadata'
| 'indexFieldMetadataList'
> & {
__typename?: string;
indexFieldMetadatas: IndexFieldMetadataItem[];

View File

@ -1,3 +1,4 @@
import { IndexFieldMetadataItem } from '@/object-metadata/types/IndexFieldMetadataItem';
import { IndexMetadataItem } from '@/object-metadata/types/IndexMetadataItem';
import { objectMetadataItemSchema } from '@/object-metadata/validation-schemas/objectMetadataItemSchema';
import { ObjectMetadataItemsQuery } from '~/generated-metadata/graphql';
@ -26,7 +27,12 @@ export const mapPaginatedObjectMetadataItemsToObjectMetadataItems = ({
(index) =>
({
...index,
indexFieldMetadatas: [],
indexFieldMetadatas: index.indexFieldMetadataList.map(
(indexFieldMetadata) =>
({
...indexFieldMetadata,
}) satisfies IndexFieldMetadataItem,
),
}) satisfies IndexMetadataItem,
),
} satisfies ObjectMetadataItem;