diff --git a/backend/src/services/project/project-service.ts b/backend/src/services/project/project-service.ts index e29f18404..dce0ed2cc 100644 --- a/backend/src/services/project/project-service.ts +++ b/backend/src/services/project/project-service.ts @@ -303,13 +303,26 @@ export const projectServiceFactory = ({ }); } + const slug = projectSlug || slugify(`${workspaceName}-${alphaNumericNanoId(4)}`); + + const existingProject = await projectDAL.findOne({ + slug, + orgId: organization.id + }); + + if (existingProject) { + throw new BadRequestError({ + message: `Failed to create project. A project with the slug "${slug}" already exists in your organization. Please choose a different name or slug.` + }); + } + const project = await projectDAL.create( { name: workspaceName, type, description: workspaceDescription, orgId: organization.id, - slug: projectSlug || slugify(`${workspaceName}-${alphaNumericNanoId(4)}`), + slug, kmsSecretManagerKeyId: kmsKeyId, version: ProjectVersion.V3, pitVersionLimit: 10