feat: new relation resolver (#9794)
Fix [#240](https://github.com/twentyhq/core-team-issues/issues/240)
This commit is contained in:
@ -0,0 +1,38 @@
|
||||
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
|
||||
|
||||
import { IsEnum, IsNotEmpty } from 'class-validator';
|
||||
import { Relation } from 'typeorm';
|
||||
|
||||
import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface';
|
||||
|
||||
import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto';
|
||||
import { ObjectMetadataDTO } from 'src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto';
|
||||
|
||||
registerEnumType(RelationType, {
|
||||
name: 'RelationType',
|
||||
description: 'Relation type',
|
||||
});
|
||||
|
||||
@ObjectType('Relation')
|
||||
export class RelationDTO {
|
||||
@IsEnum(RelationType)
|
||||
@IsNotEmpty()
|
||||
@Field(() => RelationType)
|
||||
type: RelationType;
|
||||
|
||||
@IsNotEmpty()
|
||||
@Field(() => ObjectMetadataDTO)
|
||||
sourceObjectMetadata: Relation<ObjectMetadataDTO>;
|
||||
|
||||
@IsNotEmpty()
|
||||
@Field(() => ObjectMetadataDTO)
|
||||
targetObjectMetadata: Relation<ObjectMetadataDTO>;
|
||||
|
||||
@IsNotEmpty()
|
||||
@Field(() => FieldMetadataDTO)
|
||||
sourceFieldMetadata: Relation<FieldMetadataDTO>;
|
||||
|
||||
@IsNotEmpty()
|
||||
@Field(() => FieldMetadataDTO)
|
||||
targetFieldMetadata: Relation<FieldMetadataDTO>;
|
||||
}
|
||||
Reference in New Issue
Block a user