From 6b1d4e07447bdf08af28ea36d779f4a702d90d3e Mon Sep 17 00:00:00 2001 From: Marie <51697796+ijreilly@users.noreply.github.com> Date: Thu, 23 May 2024 07:43:09 +0200 Subject: [PATCH] [Fix] Do not allow names with whitespaces (#5542) As per title --- .../utils/__tests__/validate-metadata-name.spec.ts | 10 ++++++++++ .../utils/validate-metadata-name.utils.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts b/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts index 92541e07b..d2e03eac6 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts @@ -7,6 +7,16 @@ describe('validateMetadataName', () => { expect(validateMetadataName(input)).not.toThrow; }); + it('throws error if string has spaces', () => { + const input = 'name with spaces'; + + expect(() => validateMetadataName(input)).toThrow(InvalidStringException); + }); + it('throws error if string starts with capital letter', () => { + const input = 'StringStartingWithCapitalLetter'; + + expect(() => validateMetadataName(input)).toThrow(InvalidStringException); + }); it('throws error if string has non latin characters', () => { const input = 'בְרִבְרִ'; diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/validate-metadata-name.utils.ts b/packages/twenty-server/src/engine/metadata-modules/utils/validate-metadata-name.utils.ts index 5f56677d7..16e8bfd56 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/validate-metadata-name.utils.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/validate-metadata-name.utils.ts @@ -1,6 +1,6 @@ import { InvalidStringException } from 'src/engine/metadata-modules/errors/InvalidStringException'; -const VALID_STRING_PATTERN = /^[a-zA-Z][a-zA-Z0-9 ]*$/; +const VALID_STRING_PATTERN = /^[a-z][a-zA-Z0-9]*$/; export const validateMetadataName = (string: string) => { if (!string.match(VALID_STRING_PATTERN)) {