From 3de2fc72dcdd2e88ea884b4eed878d66bfe5197b Mon Sep 17 00:00:00 2001 From: Weiko Date: Mon, 13 Nov 2023 17:22:15 +0100 Subject: [PATCH] Create Relation with Fields from both sides (#2480) * Create relation with fields from both sides * update metadata codegen schema --- front/src/generated-metadata/graphql.ts | 9 ++++-- .../dtos/create-relation.input.ts | 29 ++++++++++++++----- .../relation-metadata.service.ts | 17 +++++------ 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/front/src/generated-metadata/graphql.ts b/front/src/generated-metadata/graphql.ts index 6de2fb64e..f9dae4c69 100644 --- a/front/src/generated-metadata/graphql.ts +++ b/front/src/generated-metadata/graphql.ts @@ -203,11 +203,14 @@ export type CreateOneRelationInput = { export type CreateRelationInput = { description?: InputMaybe; + fromIcon?: InputMaybe; + fromLabel: Scalars['String']['input']; + fromName: Scalars['String']['input']; fromObjectMetadataId: Scalars['String']['input']; - icon?: InputMaybe; - label: Scalars['String']['input']; - name: Scalars['String']['input']; relationType: Scalars['String']['input']; + toIcon?: InputMaybe; + toLabel: Scalars['String']['input']; + toName: Scalars['String']['input']; toObjectMetadataId: Scalars['String']['input']; }; diff --git a/server/src/metadata/relation-metadata/dtos/create-relation.input.ts b/server/src/metadata/relation-metadata/dtos/create-relation.input.ts index 80eda1564..f48b972e9 100644 --- a/server/src/metadata/relation-metadata/dtos/create-relation.input.ts +++ b/server/src/metadata/relation-metadata/dtos/create-relation.input.ts @@ -33,23 +33,38 @@ export class CreateRelationInput { @IsString() @IsNotEmpty() @Field() - name: string; + fromName: string; @IsString() @IsNotEmpty() @Field() - label: string; + toName: string; + + @IsString() + @IsNotEmpty() + @Field() + fromLabel: string; + + @IsString() + @IsNotEmpty() + @Field() + toLabel: string; + + @IsString() + @IsOptional() + @Field({ nullable: true }) + fromIcon?: string; + + @IsString() + @IsOptional() + @Field({ nullable: true }) + toIcon?: string; @IsString() @IsOptional() @Field({ nullable: true }) description?: string; - @IsString() - @IsOptional() - @Field({ nullable: true }) - icon?: string; - @HideField() workspaceId: string; } diff --git a/server/src/metadata/relation-metadata/relation-metadata.service.ts b/server/src/metadata/relation-metadata/relation-metadata.service.ts index 0ef71eb20..0c0ea06cd 100644 --- a/server/src/metadata/relation-metadata/relation-metadata.service.ts +++ b/server/src/metadata/relation-metadata/relation-metadata.service.ts @@ -64,11 +64,12 @@ export class RelationMetadataService extends TypeOrmQueryService