feat(ai): add ai chat to dashboard

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-04-15 14:30:21 +02:00
parent 804a9c8056
commit 34769a5d58
46 changed files with 2624 additions and 1449 deletions

View File

@@ -29,7 +29,7 @@
"sqlstring": "^2.3.3",
"superjson": "^1.13.3",
"uuid": "^9.0.1",
"zod": "^3.22.4"
"zod": "catalog:"
},
"devDependencies": {
"@openpanel/tsconfig": "workspace:*",

View File

@@ -0,0 +1,13 @@
-- CreateTable
CREATE TABLE "chats" (
"id" TEXT NOT NULL DEFAULT gen_random_uuid(),
"messages" JSONB NOT NULL,
"projectId" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "chats_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "chats" ADD CONSTRAINT "chats_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "projects"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View File

@@ -30,6 +30,17 @@ enum ProjectType {
backend
}
model Chat {
id String @id @default(dbgenerated("gen_random_uuid()"))
messages Json
projectId String
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @default(now()) @updatedAt
@@map("chats")
}
model Organization {
id String @id @default(dbgenerated("gen_random_uuid()"))
name String
@@ -184,6 +195,7 @@ model Project {
createdAt DateTime @default(now())
updatedAt DateTime @default(now()) @updatedAt
Chat Chat[]
@@map("projects")
}