From 4be76ac797a12e1825c702da811a14e168deafb5 Mon Sep 17 00:00:00 2001 From: gbuomprisco Date: Fri, 13 Sep 2024 10:52:59 +0200 Subject: [PATCH] Created a list of reserved names that the user cannot choose to create a team account --- .../src/schema/create-team.schema.ts | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/packages/features/team-accounts/src/schema/create-team.schema.ts b/packages/features/team-accounts/src/schema/create-team.schema.ts index 5a8c08ffe..004ee573b 100644 --- a/packages/features/team-accounts/src/schema/create-team.schema.ts +++ b/packages/features/team-accounts/src/schema/create-team.schema.ts @@ -1,5 +1,29 @@ import { z } from 'zod'; +/** + * @name RESERVED_NAMES_ARRAY + * @description Array of reserved names for team accounts + * This is a list of names that cannot be used for team accounts as they are reserved for other purposes. + */ +const RESERVED_NAMES_ARRAY = [ + 'settings', + 'billing', + // please add more reserved names here +]; + +const ReservedTeamNameSchema = z + .string() + .min(3) + .max(50) + .refine( + (name) => { + return !RESERVED_NAMES_ARRAY.includes(name); + }, + { + message: 'This name is reserved and cannot be used for a team account', + }, + ); + export const CreateTeamSchema = z.object({ - name: z.string().min(2).max(50), + name: ReservedTeamNameSchema, });