Reset and deletion of project

This commit is contained in:
Dries Augustyns
2025-12-03 21:30:54 +01:00
parent 382e97e5b2
commit a28be9adc9
4 changed files with 655 additions and 267 deletions
@@ -450,6 +450,18 @@ CREATE INDEX "emails_createdAt_idx" ON "emails"("createdAt");
-- CreateIndex
CREATE INDEX "emails_projectId_sourceType_createdAt_idx" ON "emails"("projectId", "sourceType", "createdAt");
-- CreateIndex
CREATE INDEX "emails_contactId_openedAt_idx" ON "emails"("contactId", "openedAt");
-- CreateIndex
CREATE INDEX "emails_contactId_clickedAt_idx" ON "emails"("contactId", "clickedAt");
-- CreateIndex
CREATE INDEX "emails_contactId_bouncedAt_idx" ON "emails"("contactId", "bouncedAt");
-- CreateIndex
CREATE INDEX "emails_contactId_complainedAt_idx" ON "emails"("contactId", "complainedAt");
-- CreateIndex
CREATE INDEX "events_projectId_name_idx" ON "events"("projectId", "name");
@@ -462,6 +474,12 @@ CREATE INDEX "events_emailId_idx" ON "events"("emailId");
-- CreateIndex
CREATE INDEX "events_createdAt_idx" ON "events"("createdAt");
-- CreateIndex
CREATE INDEX "events_projectId_contactId_name_createdAt_idx" ON "events"("projectId", "contactId", "name", "createdAt");
-- CreateIndex
CREATE INDEX "events_contactId_name_createdAt_idx" ON "events"("contactId", "name", "createdAt");
-- CreateIndex
CREATE INDEX "api_requests_projectId_createdAt_idx" ON "api_requests"("projectId", "createdAt" DESC);
@@ -484,7 +502,7 @@ CREATE INDEX "api_requests_projectId_statusCode_createdAt_idx" ON "api_requests"
ALTER TABLE "memberships" ADD CONSTRAINT "memberships_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "memberships" ADD CONSTRAINT "memberships_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "projects"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "memberships" ADD CONSTRAINT "memberships_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "projects"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "domains" ADD CONSTRAINT "domains_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "projects"("id") ON DELETE CASCADE ON UPDATE CASCADE;
+8 -8
View File
@@ -78,7 +78,7 @@ model Project {
model Membership {
user User @relation(fields: [userId], references: [id])
userId String
project Project @relation(fields: [projectId], references: [id])
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
projectId String
// Details
@@ -158,7 +158,7 @@ model Template {
// Content
subject String
body String // HTML content with {{variable}} placeholders
body String // HTML content with {{variable}} placeholders
from String
fromName String?
replyTo String?
@@ -508,12 +508,12 @@ model Email {
toName String? // Recipient display name for To header
// Content (denormalized for history)
subject String
body String // Rendered HTML
from String
fromName String?
replyTo String?
headers Json? // Custom email headers
subject String
body String // Rendered HTML
from String
fromName String?
replyTo String?
headers Json? // Custom email headers
attachments Json? // Array of {filename: string, content: string (base64), contentType: string}
// AWS SES Message ID (for tracking webhooks)