Experiment using swc instead of tsc (as we did the switch on twenty-front) It's **much** faster (at least 5x) but has stricter requirements. I fixed the build but there's still an error while starting the server, opening this PR for discussion. Checkout the branch and try `nx build:swc twenty-server` Read: https://docs.nestjs.com/recipes/swc#common-pitfalls
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
|
|
|
|
import { IsEnum, IsNotEmpty } from 'class-validator';
|
|
import { Relation } from 'typeorm';
|
|
|
|
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';
|
|
|
|
export enum RelationDefinitionType {
|
|
ONE_TO_ONE = RelationMetadataType.ONE_TO_ONE,
|
|
ONE_TO_MANY = RelationMetadataType.ONE_TO_MANY,
|
|
MANY_TO_MANY = RelationMetadataType.MANY_TO_MANY,
|
|
MANY_TO_ONE = 'MANY_TO_ONE',
|
|
}
|
|
|
|
registerEnumType(RelationDefinitionType, {
|
|
name: 'RelationDefinitionType',
|
|
description: 'Relation definition type',
|
|
});
|
|
|
|
@ObjectType('RelationDefinition')
|
|
export class RelationDefinitionDTO {
|
|
@IsNotEmpty()
|
|
@Field(() => ObjectMetadataDTO)
|
|
sourceObjectMetadata: Relation<ObjectMetadataDTO>;
|
|
|
|
@IsNotEmpty()
|
|
@Field(() => ObjectMetadataDTO)
|
|
targetObjectMetadata: Relation<ObjectMetadataDTO>;
|
|
|
|
@IsNotEmpty()
|
|
@Field(() => FieldMetadataDTO)
|
|
sourceFieldMetadata: Relation<FieldMetadataDTO>;
|
|
|
|
@IsNotEmpty()
|
|
@Field(() => FieldMetadataDTO)
|
|
targetFieldMetadata: Relation<FieldMetadataDTO>;
|
|
|
|
@IsEnum(RelationDefinitionType)
|
|
@IsNotEmpty()
|
|
@Field(() => RelationDefinitionType)
|
|
direction: RelationDefinitionType;
|
|
}
|