From ae3606c9fb8d821000cdc190dcd62ec685819b0c Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Wed, 21 Feb 2024 08:46:59 +0100 Subject: [PATCH] Optional slug on create project --- backend/src/server/routes/v2/project-router.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/src/server/routes/v2/project-router.ts b/backend/src/server/routes/v2/project-router.ts index 20fff74da..f9919a974 100644 --- a/backend/src/server/routes/v2/project-router.ts +++ b/backend/src/server/routes/v2/project-router.ts @@ -1,3 +1,4 @@ +import slugify from "@sindresorhus/slugify"; import { z } from "zod"; import { ProjectKeysSchema, ProjectsSchema } from "@app/db/schemas"; @@ -125,6 +126,14 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { schema: { body: z.object({ projectName: z.string().trim(), + slug: z + .string() + .min(5) + .max(36) + .refine((v) => slugify(v) === v, { + message: "Slug must be a valid slug" + }) + .optional(), organizationId: z.string().trim() }), response: { @@ -139,7 +148,8 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actor: req.permission.type, orgId: req.body.organizationId, - workspaceName: req.body.projectName + workspaceName: req.body.projectName, + slug: req.body.slug }); return { project };