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
41 lines
1.3 KiB
TypeScript
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[]
|
|
>;
|
|
}
|