Refactor builder to embed Object validation create/delete/update (#13934)

# Introduction
Moving validation directly in the builder that has the perfect
granularity to do it.
When importing we won't have to infer and dispatch on the operation
nature ( update delete create ) and validate accordingly

## Objects
Only migrated object validation for the moment even though create object
involves a validate flat field metadata creation call too

## TODO
- improve `otherFlatObjectMetadataMapsToValidate` naming too vague

## Next
- handle fields validation within fields actions build
- Unit test coverage validation issue on builder and validate
- integration test plugging with new feature flag

## Manual tested
- Update
- Delete
- Create TODO
This commit is contained in:
Paul Rastoin
2025-08-18 11:16:16 +02:00
committed by GitHub
parent 18b2a68b69
commit 6629092645
51 changed files with 3800 additions and 617 deletions
@@ -19,12 +19,12 @@ export const validateFlatObjectMetadataIdentifiers = (
flatObjectMetadata;
if (isDefined(labelIdentifierFieldMetadataId)) {
const relatedFlatFieldMetadata = flatObjectMetadata.flatFieldMetadatas.find(
const flatFieldMetadata = flatObjectMetadata.flatFieldMetadatas.find(
(flatFieldMetadata) =>
flatFieldMetadata.id === labelIdentifierFieldMetadataId,
);
if (!isDefined(relatedFlatFieldMetadata)) {
if (!isDefined(flatFieldMetadata)) {
errors.push(
new ObjectMetadataException(
'labelIdentifierFieldMetadataId validation failed: related field metadata not found',
@@ -34,9 +34,7 @@ export const validateFlatObjectMetadataIdentifiers = (
},
),
);
} else if (
!isLabelIdentifierFieldMetadataTypes(relatedFlatFieldMetadata.type)
) {
} else if (!isLabelIdentifierFieldMetadataTypes(flatFieldMetadata.type)) {
errors.push(
new ObjectMetadataException(
'labelIdentifierFieldMetadataId validation failed: field type not compatible',