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

@ -1,7 +1,9 @@
import { isNonEmptyString } from '@sniptt/guards';
import { isDefined } from 'twenty-shared/utils';
import {
isDefined,
lowercaseUrlAndRemoveTrailingSlash,
} from 'twenty-shared/utils';
import { lowercaseDomainAndRemoveTrailingSlash } from 'src/engine/api/graphql/workspace-query-runner/utils/query-runner-links.util';
import { removeEmptyLinks } from 'src/engine/core-modules/record-transformer/utils/remove-empty-links';
import { LinkMetadataNullable } from 'src/engine/metadata-modules/field-metadata/composite-types/links.composite-type';
@ -46,14 +48,14 @@ export const transformLinksValue = (
return {
...value,
primaryLinkUrl: isDefined(primaryLinkUrl)
? lowercaseDomainAndRemoveTrailingSlash(primaryLinkUrl)
? lowercaseUrlAndRemoveTrailingSlash(primaryLinkUrl)
: primaryLinkUrl,
primaryLinkLabel,
secondaryLinks: JSON.stringify(
secondaryLinks?.map((link) => ({
...link,
url: isDefined(link.url)
? lowercaseDomainAndRemoveTrailingSlash(link.url)
? lowercaseUrlAndRemoveTrailingSlash(link.url)
: link.url,
})),
),