diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts index bf63cdba3..d082cafc1 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts @@ -44,6 +44,7 @@ import { isSelectOrMultiSelectFieldMetadata } from 'src/engine/metadata-modules/ import { assertMutationNotOnRemoteObject } from 'src/engine/metadata-modules/object-metadata/utils/assert-mutation-not-on-remote-object.util'; import { RelationOnDeleteAction } from 'src/engine/metadata-modules/relation-metadata/relation-on-delete-action.type'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; +import { ObjectMetadataMaps } from 'src/engine/metadata-modules/types/object-metadata-maps'; import { InvalidMetadataException } from 'src/engine/metadata-modules/utils/exceptions/invalid-metadata.exception'; import { validateFieldNameAvailabilityOrThrow } from 'src/engine/metadata-modules/utils/validate-field-name-availability.utils'; import { validateMetadataNameOrThrow } from 'src/engine/metadata-modules/utils/validate-metadata-name.utils'; @@ -82,6 +83,7 @@ type ValidateFieldMetadataArgs = fieldMetadataInput: T; objectMetadata: ObjectMetadataItemWithFieldMaps; existingFieldMetadata?: FieldMetadataInterface; + objectMetadataMaps: ObjectMetadataMaps; }; @Injectable() @@ -208,6 +210,7 @@ export class FieldMetadataService extends TypeOrmQueryService): Promise { if (fieldMetadataInput.name) { try { @@ -602,6 +606,21 @@ export class FieldMetadataService extends TypeOrmQueryService, + objectMetadataMaps: ObjectMetadataMaps, ): Promise { if (!fieldMetadataInput.isRemoteCreation) { assertMutationNotOnRemoteObject(objectMetadata); @@ -747,6 +767,7 @@ export class FieldMetadataService extends TypeOrmQueryService { if (name !== camelCase(name)) { throw new InvalidMetadataException( - `Name should be in camelCase: ${name}`, + `${name} should be in camelCase`, InvalidMetadataExceptionCode.NOT_CAMEL_CASE, ); } diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata.integration-spec.ts.snap index 5cc944696..9a0ffe538 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata.integration-spec.ts.snap @@ -24,11 +24,11 @@ exports[`Object metadata creation should fail when namePlural is a reserved keyw exports[`Object metadata creation should fail when namePlural is an empty string 1`] = `"Input is too short: """`; -exports[`Object metadata creation should fail when namePlural is not camelCased 1`] = `"Name should be in camelCase: Not_Camel_Case"`; +exports[`Object metadata creation should fail when namePlural is not camelCased 1`] = `"Not_Camel_Case should be in camelCase"`; -exports[`Object metadata creation should fail when nameSingular contains only one char and whitespaces 1`] = `"Name should be in camelCase: a a "`; +exports[`Object metadata creation should fail when nameSingular contains only one char and whitespaces 1`] = `" a a should be in camelCase"`; -exports[`Object metadata creation should fail when nameSingular contains only whitespaces 1`] = `"Name should be in camelCase: "`; +exports[`Object metadata creation should fail when nameSingular contains only whitespaces 1`] = `" should be in camelCase"`; exports[`Object metadata creation should fail when nameSingular has invalid characters 1`] = `"String "μ" is not valid: must start with lowercase letter and contain only alphanumeric letters"`; @@ -36,8 +36,8 @@ exports[`Object metadata creation should fail when nameSingular is a reserved ke exports[`Object metadata creation should fail when nameSingular is an empty string 1`] = `"Input is too short: """`; -exports[`Object metadata creation should fail when nameSingular is not camelCased 1`] = `"Name should be in camelCase: Not_Camel_Case"`; +exports[`Object metadata creation should fail when nameSingular is not camelCased 1`] = `"Not_Camel_Case should be in camelCase"`; exports[`Object metadata creation should fail when names are identical 1`] = `"The singular and plural names cannot be the same for an object"`; -exports[`Object metadata creation should fail when names with whitespaces result to be identical 1`] = `"Name should be in camelCase: fooBar "`; +exports[`Object metadata creation should fail when names with whitespaces result to be identical 1`] = `" fooBar should be in camelCase"`;