53 lines
2.2 KiB
SQL
53 lines
2.2 KiB
SQL
ALTER TABLE "NotificationDelivery" ADD COLUMN "isTest" BOOLEAN NOT NULL DEFAULT false;
|
|
|
|
CREATE TABLE "NotificationProject" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"code" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"secretCiphertext" TEXT NOT NULL,
|
|
"secretNonce" TEXT NOT NULL,
|
|
"secretAuthTag" TEXT NOT NULL,
|
|
"allowedHostsJson" TEXT NOT NULL,
|
|
"loginEnabled" BOOLEAN NOT NULL DEFAULT false,
|
|
"loginCallbackUrl" TEXT,
|
|
"loginAllowedRedirectPrefixesJson" TEXT,
|
|
"isActive" BOOLEAN NOT NULL DEFAULT true,
|
|
"importedFromEnvAt" DATETIME,
|
|
"lastSecretRotatedAt" DATETIME,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL
|
|
);
|
|
|
|
CREATE TABLE "NotificationProjectRecipient" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"projectId" TEXT NOT NULL,
|
|
"aliasDisplay" TEXT NOT NULL,
|
|
"aliasNormalized" TEXT NOT NULL,
|
|
"userIdCiphertext" TEXT NOT NULL,
|
|
"userIdNonce" TEXT NOT NULL,
|
|
"userIdAuthTag" TEXT NOT NULL,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "NotificationProjectRecipient_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "NotificationProject" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE "NotificationAudit" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"actorType" TEXT NOT NULL,
|
|
"actorId" TEXT NOT NULL,
|
|
"action" TEXT NOT NULL,
|
|
"targetProjectCode" TEXT,
|
|
"requestId" TEXT,
|
|
"ipAddress" TEXT,
|
|
"summary" TEXT NOT NULL,
|
|
"detailsJson" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE UNIQUE INDEX "NotificationProject_code_key" ON "NotificationProject"("code");
|
|
CREATE INDEX "NotificationProject_isActive_updatedAt_idx" ON "NotificationProject"("isActive", "updatedAt");
|
|
CREATE UNIQUE INDEX "NotificationProjectRecipient_projectId_aliasNormalized_key" ON "NotificationProjectRecipient"("projectId", "aliasNormalized");
|
|
CREATE INDEX "NotificationProjectRecipient_projectId_updatedAt_idx" ON "NotificationProjectRecipient"("projectId", "updatedAt");
|
|
CREATE INDEX "NotificationAudit_targetProjectCode_createdAt_idx" ON "NotificationAudit"("targetProjectCode", "createdAt");
|
|
CREATE INDEX "NotificationAudit_action_createdAt_idx" ON "NotificationAudit"("action", "createdAt");
|