Initial Paprika Next.js implementation

This commit is contained in:
2026-07-06 12:12:36 -04:00
commit 7d585484a6
38 changed files with 14824 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
-- CreateTable
CREATE TABLE "Submission" (
"id" TEXT NOT NULL,
"type" TEXT NOT NULL,
"name" TEXT NOT NULL,
"email" TEXT NOT NULL,
"linkedin" TEXT,
"companyWebsite" TEXT,
"currentRoleCompany" TEXT,
"fieldOrIndustry" TEXT,
"reason" TEXT,
"existingRecognition" TEXT,
"timeline" TEXT,
"question" TEXT,
"consentAccepted" BOOLEAN NOT NULL DEFAULT false,
"sourcePath" TEXT,
"status" TEXT NOT NULL DEFAULT 'new',
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "Submission_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "SubmissionFile" (
"id" TEXT NOT NULL,
"submissionId" TEXT NOT NULL,
"fileName" TEXT NOT NULL,
"mimeType" TEXT NOT NULL,
"byteSize" INTEGER NOT NULL,
"storageKey" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "SubmissionFile_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "SubmissionFile" ADD CONSTRAINT "SubmissionFile_submissionId_fkey" FOREIGN KEY ("submissionId") REFERENCES "Submission"("id") ON DELETE CASCADE ON UPDATE CASCADE;

40
prisma/schema.prisma Normal file
View File

@@ -0,0 +1,40 @@
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Submission {
id String @id @default(cuid())
type String
name String
email String
linkedin String?
companyWebsite String?
currentRoleCompany String?
fieldOrIndustry String?
reason String?
existingRecognition String?
timeline String?
question String?
consentAccepted Boolean @default(false)
sourcePath String?
status String @default("new")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
files SubmissionFile[]
}
model SubmissionFile {
id String @id @default(cuid())
submissionId String
fileName String
mimeType String
byteSize Int
storageKey String
createdAt DateTime @default(now())
submission Submission @relation(fields: [submissionId], references: [id], onDelete: Cascade)
}