feat: add document access token model

This commit is contained in:
Ephraim Atta-Duncan
2025-01-30 05:38:03 +00:00
parent 04e5244a5a
commit edfb1f2157
2 changed files with 48 additions and 1 deletions

View File

@ -0,0 +1,29 @@
-- CreateTable
CREATE TABLE "DocumentAccessToken" (
"id" TEXT NOT NULL,
"token" TEXT NOT NULL,
"documentId" INTEGER NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"expiresAt" TIMESTAMP(3),
"revokedAt" TIMESTAMP(3),
"lastAccessedAt" TIMESTAMP(3),
"accessCount" INTEGER NOT NULL DEFAULT 0,
CONSTRAINT "DocumentAccessToken_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "DocumentAccessToken_token_key" ON "DocumentAccessToken"("token");
-- CreateIndex
CREATE UNIQUE INDEX "DocumentAccessToken_documentId_key" ON "DocumentAccessToken"("documentId");
-- CreateIndex
CREATE INDEX "DocumentAccessToken_token_idx" ON "DocumentAccessToken"("token");
-- CreateIndex
CREATE INDEX "DocumentAccessToken_documentId_idx" ON "DocumentAccessToken"("documentId");
-- AddForeignKey
ALTER TABLE "DocumentAccessToken" ADD CONSTRAINT "DocumentAccessToken_documentId_fkey" FOREIGN KEY ("documentId") REFERENCES "Document"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View File

@ -320,7 +320,8 @@ model Document {
template Template? @relation(fields: [templateId], references: [id], onDelete: SetNull)
source DocumentSource
auditLogs DocumentAuditLog[]
auditLogs DocumentAuditLog[]
documentAccessToken DocumentAccessToken?
@@unique([documentDataId])
@@index([userId])
@ -386,6 +387,23 @@ model DocumentMeta {
emailSettings Json?
}
model DocumentAccessToken {
id String @id @default(cuid())
token String @unique
documentId Int @unique
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
expiresAt DateTime?
revokedAt DateTime?
lastAccessedAt DateTime?
accessCount Int @default(0)
document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
@@index([token])
@@index([documentId])
}
enum ReadStatus {
NOT_OPENED
OPENED