remove slug from board schema

This commit is contained in:
Francis Cao
2026-03-12 10:27:58 -07:00
parent a58dadb428
commit 534af98809
4 changed files with 6 additions and 9 deletions
@@ -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;
-2
View File
@@ -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])
+1 -5
View File
@@ -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);
}
}
-2
View File
@@ -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,
};