From 66c484fe1125298a73e0414f6ca5fbf323690c62 Mon Sep 17 00:00:00 2001 From: neo773 <62795688+neo773@users.noreply.github.com> Date: Thu, 31 Jul 2025 12:32:08 +0530 Subject: [PATCH] fix: add userFriendlyMessage to handleDuplicateKeyError (#13513) /closes #13512 --- .../utils/handle-duplicate-key-error.util.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts index cb66f2b87f..2f94584763 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts @@ -33,7 +33,9 @@ export const handleDuplicateKeyError = ( }); if (!isDefined(affectedColumns)) { - throw new UserInputError(`A duplicate entry was detected`); + throw new UserInputError(`A duplicate entry was detected`, { + userFriendlyMessage: `This record already exists. Please check your data and try again.`, + }); } const columnNames = affectedColumns.join(', '); @@ -41,11 +43,17 @@ export const handleDuplicateKeyError = ( if (affectedColumns?.length === 1) { throw new UserInputError( `Duplicate ${columnNames}. Please set a unique one.`, + { + userFriendlyMessage: `This ${columnNames.toLowerCase()} is already taken. Please choose a different value.`, + }, ); } throw new UserInputError( `A duplicate entry was detected. The combination of ${columnNames} must be unique.`, + { + userFriendlyMessage: `This combination of ${columnNames.toLowerCase()} already exists. Please use different values.`, + }, ); } };