From bc0d30f28b11c8aedd7703e3e03cf8894e610d0c Mon Sep 17 00:00:00 2001 From: Weiko Date: Tue, 30 Apr 2024 16:36:02 +0200 Subject: [PATCH] [flexible-backend] handle object already exists error (#5225) ## Context Currently we have an unicity constraint in the DB but we don't return a clear error to the frontend before reaching the DB (which then throws a 500). This PR adds a validation check similar to what we have with field creation --- .../object-metadata.service.ts | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts index 9938a7eae..8f01d80bd 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts @@ -1,5 +1,6 @@ import { BadRequestException, + ConflictException, Injectable, NotFoundException, } from '@nestjs/common'; @@ -56,7 +57,6 @@ import { import { createWorkspaceMigrationsForCustomObject } from 'src/engine/metadata-modules/object-metadata/utils/create-workspace-migrations-for-custom-object.util'; import { createWorkspaceMigrationsForRemoteObject } from 'src/engine/metadata-modules/object-metadata/utils/create-workspace-migrations-for-remote-object.util'; import { computeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; -import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { validateObjectMetadataInput } from 'src/engine/metadata-modules/object-metadata/utils/validate-object-metadata-input.util'; import { mapUdtNameToFieldType } from 'src/engine/metadata-modules/remote-server/remote-table/utils/udt-name-mapper.util'; @@ -81,8 +81,6 @@ export class ObjectMetadataService extends TypeOrmQueryService, ) { super(objectMetadataRepository); } @@ -249,6 +247,23 @@ export class ObjectMetadataService extends TypeOrmQueryService