Morph relation validation v2 (#14141)

## Introduction
Binding morph relation validation to relation validation code flow
Please note that ALL create field will go through basic atomic
validation, which involve name availability and so on

close https://github.com/twentyhq/core-team-issues/issues/1407
This commit is contained in:
Paul Rastoin
2025-08-28 18:05:58 +02:00
committed by GitHub
parent af6fc1e9ef
commit b364acf5bb
6 changed files with 91 additions and 70 deletions
@@ -35,8 +35,7 @@ export const fromMorphRelationCreateFieldInputToFlatFieldMetadatas = async ({
if (
!isDefined(rawMorphCreationPayload) ||
!Array.isArray(rawMorphCreationPayload) ||
rawMorphCreationPayload.length === 0
!Array.isArray(rawMorphCreationPayload)
) {
return {
status: 'fail',
@@ -1,13 +0,0 @@
import {
type EnumFieldMetadataType,
type FieldMetadataType,
} from 'twenty-shared/types';
import { isEnumFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util';
import { type ValidateOneFieldMetadataArgs } from 'src/engine/metadata-modules/flat-field-metadata/services/flat-field-metadata-validator.service';
export const isEnumValidateOneFieldMetadata = <T extends FieldMetadataType>(
args: ValidateOneFieldMetadataArgs<T>,
): args is ValidateOneFieldMetadataArgs<T> &
ValidateOneFieldMetadataArgs<EnumFieldMetadataType> =>
isEnumFieldMetadataType(args.flatFieldMetadataToValidate.type);