9e81618773
# Introduction Storing morph relation field names directly in database, using morphId to aggregate them Removing dynamic morph field metadata computation in schemas and data loader Will add integration tests on morph data loader entry closes https://github.com/twentyhq/core-team-issues/issues/1425 closes https://github.com/twentyhq/core-team-issues/issues/1424 closes https://github.com/twentyhq/core-team-issues/issues/1423
45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
import type DataLoader from 'dataloader';
|
|
|
|
import {
|
|
type FieldMetadataLoaderPayload,
|
|
type IndexFieldMetadataLoaderPayload,
|
|
type IndexMetadataLoaderPayload,
|
|
type MorphRelationLoaderPayload,
|
|
type ObjectMetadataLoaderPayload,
|
|
type RelationLoaderPayload,
|
|
} from 'src/engine/dataloaders/dataloader.service';
|
|
import { type FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto';
|
|
import { type RelationDTO } from 'src/engine/metadata-modules/field-metadata/dtos/relation.dto';
|
|
import { type IndexFieldMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-field-metadata.dto';
|
|
import { type IndexMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-metadata.dto';
|
|
import { type ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps';
|
|
|
|
export interface IDataloaders {
|
|
relationLoader: DataLoader<RelationLoaderPayload, RelationDTO | null>;
|
|
|
|
morphRelationLoader: DataLoader<
|
|
MorphRelationLoaderPayload,
|
|
RelationDTO[] | null
|
|
>;
|
|
|
|
fieldMetadataLoader: DataLoader<
|
|
FieldMetadataLoaderPayload,
|
|
FieldMetadataDTO[]
|
|
>;
|
|
|
|
indexMetadataLoader: DataLoader<
|
|
IndexMetadataLoaderPayload,
|
|
IndexMetadataDTO[]
|
|
>;
|
|
|
|
indexFieldMetadataLoader: DataLoader<
|
|
IndexFieldMetadataLoaderPayload,
|
|
IndexFieldMetadataDTO[]
|
|
>;
|
|
|
|
objectMetadataLoader: DataLoader<
|
|
ObjectMetadataLoaderPayload,
|
|
ObjectMetadataItemWithFieldMaps | null
|
|
>;
|
|
}
|