From 8bccb56b21a9599fa9ce8f902e8a070b775d97f5 Mon Sep 17 00:00:00 2001 From: Scrum4Me Agent <30029041+madhura68@users.noreply.github.com> Date: Tue, 5 May 2026 17:26:22 +0200 Subject: [PATCH] feat(ST-bsjoqjnr): UserQuestion model + PLAN_CHAT enum-waarde - Voeg PLAN_CHAT toe aan ClaudeJobKind enum - Voeg UserQuestionStatus enum toe (pending, answered) - Voeg UserQuestion model toe met idea_id, user_id, question, answer, status - Koppel user_questions relatie aan Idea model - Migratie: 20260505120000_add_user_question_plan_chat Co-Authored-By: Claude Sonnet 4.6 --- .../migration.sql | 28 +++++++++++++++++ prisma/schema.prisma | 30 +++++++++++++++++-- 2 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 prisma/migrations/20260505120000_add_user_question_plan_chat/migration.sql diff --git a/prisma/migrations/20260505120000_add_user_question_plan_chat/migration.sql b/prisma/migrations/20260505120000_add_user_question_plan_chat/migration.sql new file mode 100644 index 0000000..99dc13c --- /dev/null +++ b/prisma/migrations/20260505120000_add_user_question_plan_chat/migration.sql @@ -0,0 +1,28 @@ +-- CreateEnum +CREATE TYPE "UserQuestionStatus" AS ENUM ('pending', 'answered'); + +-- AlterEnum +ALTER TYPE "ClaudeJobKind" ADD VALUE 'PLAN_CHAT'; + +-- CreateTable +CREATE TABLE "user_questions" ( + "id" TEXT NOT NULL, + "idea_id" TEXT NOT NULL, + "user_id" TEXT NOT NULL, + "question" TEXT NOT NULL, + "answer" TEXT, + "status" "UserQuestionStatus" NOT NULL DEFAULT 'pending', + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "user_questions_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "user_questions_idea_id_status_idx" ON "user_questions"("idea_id", "status"); + +-- CreateIndex +CREATE INDEX "user_questions_user_id_idx" ON "user_questions"("user_id"); + +-- AddForeignKey +ALTER TABLE "user_questions" ADD CONSTRAINT "user_questions_idea_id_fkey" FOREIGN KEY ("idea_id") REFERENCES "ideas"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index d1d58ed..f7d32b3 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -90,6 +90,7 @@ enum ClaudeJobKind { TASK_IMPLEMENTATION IDEA_GRILL IDEA_MAKE_PLAN + PLAN_CHAT } enum IdeaLogType { @@ -101,6 +102,11 @@ enum IdeaLogType { JOB_EVENT } +enum UserQuestionStatus { + pending + answered +} + model User { id String @id @default(cuid()) username String @unique @@ -409,9 +415,10 @@ model Idea { created_at DateTime @default(now()) updated_at DateTime @updatedAt - questions ClaudeQuestion[] - jobs ClaudeJob[] - logs IdeaLog[] + questions ClaudeQuestion[] + jobs ClaudeJob[] + logs IdeaLog[] + user_questions UserQuestion[] @@unique([user_id, code]) @@index([user_id, archived, status]) @@ -432,6 +439,23 @@ model IdeaLog { @@map("idea_logs") } +model UserQuestion { + id String @id @default(cuid()) + idea_id String + user_id String + question String @db.Text + answer String? @db.Text + status UserQuestionStatus @default(pending) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + + idea Idea @relation(fields: [idea_id], references: [id], onDelete: Cascade) + + @@index([idea_id, status]) + @@index([user_id]) + @@map("user_questions") +} + model LoginPairing { id String @id @default(cuid()) secret_hash String