diff --git a/prisma/migrations/19_add_session_replay/migration.sql b/prisma/migrations/19_add_session_replay/migration.sql index 1f69f3d16..3d7fe5c2e 100644 --- a/prisma/migrations/19_add_session_replay/migration.sql +++ b/prisma/migrations/19_add_session_replay/migration.sql @@ -1,3 +1,8 @@ +-- AlterTable board: drop slug +DROP INDEX IF EXISTS "board_slug_key"; +DROP INDEX IF EXISTS "board_slug_idx"; +ALTER TABLE "board" DROP COLUMN IF EXISTS "slug"; + -- AlterTable ALTER TABLE "website" ADD COLUMN "replay_enabled" BOOLEAN NOT NULL DEFAULT false; ALTER TABLE "website" ADD COLUMN "replay_config" JSONB; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 00266ff67..63c81ec0d 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -332,7 +332,6 @@ model Board { name String @db.VarChar(200) description String @db.VarChar(500) parameters Json - slug String @unique() @db.VarChar(100) userId String? @map("user_id") @db.Uuid teamId String? @map("team_id") @db.Uuid createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6) @@ -341,7 +340,6 @@ model Board { user User? @relation("user", fields: [userId], references: [id]) team Team? @relation(fields: [teamId], references: [id]) - @@index([slug]) @@index([userId]) @@index([teamId]) @@index([createdAt]) diff --git a/src/app/api/boards/[boardId]/route.ts b/src/app/api/boards/[boardId]/route.ts index 1bf1e2bbc..8d7a23aeb 100644 --- a/src/app/api/boards/[boardId]/route.ts +++ b/src/app/api/boards/[boardId]/route.ts @@ -1,7 +1,7 @@ import { z } from 'zod'; import { BOARD_TYPES, normalizeBoardType } from '@/lib/boards'; import { parseRequest } from '@/lib/request'; -import { badRequest, json, ok, serverError, unauthorized } from '@/lib/response'; +import { json, ok, serverError, unauthorized } from '@/lib/response'; import { canDeleteBoard, canUpdateBoard, canViewBoard } from '@/permissions'; import { deleteBoard, getBoard, updateBoard } from '@/queries/prisma'; @@ -59,10 +59,6 @@ export async function POST(request: Request, { params }: { params: Promise<{ boa return Response.json(board); } catch (e: any) { - if (e.message.toLowerCase().includes('unique constraint') && e.message.includes('slug')) { - return badRequest({ message: 'That slug is already taken.' }); - } - return serverError(e); } } diff --git a/src/app/api/boards/route.ts b/src/app/api/boards/route.ts index ab03f628f..bb0710370 100644 --- a/src/app/api/boards/route.ts +++ b/src/app/api/boards/route.ts @@ -33,7 +33,6 @@ export async function POST(request: Request) { .or(z.literal('open')), name: z.string().max(100), description: z.string().max(500).optional(), - slug: z.string().max(100), userId: z.uuid().nullable().optional(), teamId: z.uuid().nullable().optional(), parameters: z @@ -63,7 +62,6 @@ export async function POST(request: Request) { type: normalizeBoardType(body.type), id: uuid(), parameters: body.parameters ?? {}, - slug: uuid(), userId: !teamId ? auth.user.id : undefined, };