From 691056550ae875963cdd98090322ff33cd918cdd Mon Sep 17 00:00:00 2001 From: Henry Date: Sun, 12 Jan 2025 09:40:17 +0000 Subject: [PATCH] fix: generate board slug for imports --- packages/api/src/routers/import.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/api/src/routers/import.ts b/packages/api/src/routers/import.ts index bcfc7be8..5923172d 100644 --- a/packages/api/src/routers/import.ts +++ b/packages/api/src/routers/import.ts @@ -7,7 +7,7 @@ import * as cardActivityRepo from "@kan/db/repository/cardActivity.repo"; import * as importRepo from "@kan/db/repository/import.repo"; import * as listRepo from "@kan/db/repository/list.repo"; import * as workspaceRepo from "@kan/db/repository/workspace.repo"; -import { generateUID } from "@kan/utils"; +import { generateSlug, generateUID } from "@kan/utils"; import { createTRPCRouter, protectedProcedure } from "../trpc"; @@ -159,8 +159,19 @@ export const importRouter = createTRPCRouter({ })), }; + let slug = generateSlug(input.name); + + const isSlugUnique = await boardRepo.isSlugUnique(ctx.db, { + slug, + workspaceId: workspace.id, + }); + + if (!isSlugUnique) slug = `${slug}-${generateUID()}`; + const newBoard = await boardRepo.create(ctx.db, { + publicId: generateUID(), name: formattedData.name, + slug, createdBy: userId, importId: newImportId, workspaceId: workspace.id,