Add a note to responses

This commit is contained in:
gitstart-formbricks
2023-06-07 16:10:23 +00:00
7 changed files with 336 additions and 66 deletions

View File

@@ -0,0 +1,17 @@
-- CreateTable
CREATE TABLE "ResponseNote" (
"id" TEXT NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP(3) NOT NULL,
"responseId" TEXT NOT NULL,
"userId" TEXT NOT NULL,
"text" TEXT NOT NULL,
CONSTRAINT "ResponseNote_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "ResponseNote" ADD CONSTRAINT "ResponseNote_responseId_fkey" FOREIGN KEY ("responseId") REFERENCES "Response"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "ResponseNote" ADD CONSTRAINT "ResponseNote_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View File

@@ -85,20 +85,32 @@ model Person {
}
model Response {
id String @id @default(cuid())
createdAt DateTime @default(now()) @map(name: "created_at")
updatedAt DateTime @updatedAt @map(name: "updated_at")
finished Boolean @default(false)
survey Survey @relation(fields: [surveyId], references: [id], onDelete: Cascade)
surveyId String
person Person? @relation(fields: [personId], references: [id], onDelete: Cascade)
personId String?
id String @id @default(cuid())
createdAt DateTime @default(now()) @map(name: "created_at")
updatedAt DateTime @updatedAt @map(name: "updated_at")
finished Boolean @default(false)
survey Survey @relation(fields: [surveyId], references: [id], onDelete: Cascade)
surveyId String
person Person? @relation(fields: [personId], references: [id], onDelete: Cascade)
personId String?
responseNote ResponseNote[]
/// [ResponseData]
data Json @default("{}")
/// [ResponseMeta]
meta Json @default("{}")
}
model ResponseNote {
id String @id @default(cuid())
createdAt DateTime @default(now()) @map(name: "created_at")
updatedAt DateTime @updatedAt @map(name: "updated_at")
response Response @relation(fields: [responseId], references: [id], onDelete: Cascade)
responseId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId String
text String
}
enum SurveyStatus {
draft
inProgress
@@ -394,6 +406,7 @@ model User {
identityProviderAccountId String?
memberships Membership[]
accounts Account[]
responseNote ResponseNote[]
groupId String?
invitesCreated Invite[] @relation("inviteCreatedBy")
invitesAccepted Invite[] @relation("inviteAcceptedBy")