Enable deletion of relation fields (#5338)
In this PR 1. Enable deletion of relation fields in the product and via the api (migration part was missing in the api) 3. Change wording, only use "deactivate" and "delete" everywhere (and not a mix of the two + "disable", "erase")
This commit is contained in:
@ -2,10 +2,12 @@ import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
|
||||
|
||||
import { IsEnum, IsNotEmpty } from 'class-validator';
|
||||
import { Relation } from 'typeorm';
|
||||
import { IDField } from '@ptc-org/nestjs-query-graphql';
|
||||
|
||||
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';
|
||||
import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity';
|
||||
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
|
||||
|
||||
export enum RelationDefinitionType {
|
||||
ONE_TO_ONE = RelationMetadataType.ONE_TO_ONE,
|
||||
@ -21,6 +23,10 @@ registerEnumType(RelationDefinitionType, {
|
||||
|
||||
@ObjectType('RelationDefinition')
|
||||
export class RelationDefinitionDTO {
|
||||
@IsNotEmpty()
|
||||
@IDField(() => UUIDScalarType)
|
||||
relationId: string;
|
||||
|
||||
@IsNotEmpty()
|
||||
@Field(() => ObjectMetadataDTO)
|
||||
sourceObjectMetadata: Relation<ObjectMetadataDTO>;
|
||||
|
||||
@ -529,6 +529,7 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
: RelationDefinitionType.ONE_TO_MANY;
|
||||
|
||||
return {
|
||||
relationId: relationMetadata.id,
|
||||
sourceObjectMetadata: relationMetadata.fromObjectMetadata,
|
||||
sourceFieldMetadata: relationMetadata.fromFieldMetadata,
|
||||
targetObjectMetadata: relationMetadata.toObjectMetadata,
|
||||
@ -542,6 +543,7 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
: RelationDefinitionType.MANY_TO_ONE;
|
||||
|
||||
return {
|
||||
relationId: relationMetadata.id,
|
||||
sourceObjectMetadata: relationMetadata.toObjectMetadata,
|
||||
sourceFieldMetadata: relationMetadata.toFieldMetadata,
|
||||
targetObjectMetadata: relationMetadata.fromObjectMetadata,
|
||||
|
||||
Reference in New Issue
Block a user