Files
twenty/packages/twenty-server/src/engine/dataloaders/dataloader.interface.ts
T
EtienneandGitHub b80762b3e1 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
2025-06-27 13:12:14 +02:00

41 lines
1.3 KiB
TypeScript

import DataLoader from 'dataloader';
import {
FieldMetadataLoaderPayload,
IndexFieldMetadataLoaderPayload,
IndexMetadataLoaderPayload,
RelationLoaderPayload,
} from 'src/engine/dataloaders/dataloader.service';
import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto';
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { IndexFieldMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-field-metadata.dto';
import { IndexMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-metadata.dto';
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
export interface IDataloaders {
relationLoader: DataLoader<
RelationLoaderPayload,
{
sourceObjectMetadata: ObjectMetadataEntity;
targetObjectMetadata: ObjectMetadataEntity;
sourceFieldMetadata: FieldMetadataEntity;
targetFieldMetadata: FieldMetadataEntity;
}
>;
fieldMetadataLoader: DataLoader<
FieldMetadataLoaderPayload,
FieldMetadataDTO[]
>;
indexMetadataLoader: DataLoader<
IndexMetadataLoaderPayload,
IndexMetadataDTO[]
>;
indexFieldMetadataLoader: DataLoader<
IndexFieldMetadataLoaderPayload,
IndexFieldMetadataDTO[]
>;
}