Add email queue (#1)

* Add pgboss queue support

* Implement queue for sending emails

* Add migrations
This commit is contained in:
KM Koushik
2024-05-10 16:21:26 +10:00
committed by GitHub
parent 5931174889
commit 64c7613d8c
11 changed files with 329 additions and 71 deletions

View File

@@ -0,0 +1,5 @@
-- AlterEnum
ALTER TYPE "EmailStatus" ADD VALUE 'QUEUED';
-- AlterTable
ALTER TABLE "Email" ADD COLUMN "attachments" TEXT;

View File

@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "Email" ALTER COLUMN "latestStatus" SET DEFAULT 'QUEUED';

View File

@@ -139,6 +139,7 @@ model ApiKey {
}
enum EmailStatus {
QUEUED
SENT
OPENED
CLICKED
@@ -158,11 +159,12 @@ model Email {
subject String
text String?
html String?
latestStatus EmailStatus @default(SENT)
latestStatus EmailStatus @default(QUEUED)
teamId Int
domainId Int?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
attachments String?
team Team @relation(fields: [teamId], references: [id], onDelete: Cascade)
emailEvents EmailEvent[]
}