feat(06-01): install packages + extend schema + generate migration

- installed signature_pad, @react-email/render, @react-email/components
- added signingTokens table (jti pk, documentId, expiresAt, usedAt)
- added auditEvents table with auditEventTypeEnum (6 event types)
- added signedFilePath, pdfHash, signedAt columns to documents table
- generated and applied migration 0005_signing_flow.sql
This commit is contained in:
Chandler Copeland
2026-03-20 11:24:02 -06:00
parent 6cf228c779
commit fa68a1bcb4
6 changed files with 1060 additions and 1 deletions

View File

@@ -0,0 +1,24 @@
CREATE TYPE "public"."audit_event_type" AS ENUM('document_prepared', 'email_sent', 'link_opened', 'document_viewed', 'signature_submitted', 'pdf_hash_computed');--> statement-breakpoint
CREATE TABLE "audit_events" (
"id" text PRIMARY KEY NOT NULL,
"document_id" text NOT NULL,
"event_type" "audit_event_type" NOT NULL,
"ip_address" text,
"user_agent" text,
"metadata" jsonb,
"created_at" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE "signing_tokens" (
"jti" text PRIMARY KEY NOT NULL,
"document_id" text NOT NULL,
"created_at" timestamp DEFAULT now() NOT NULL,
"expires_at" timestamp NOT NULL,
"used_at" timestamp
);
--> statement-breakpoint
ALTER TABLE "documents" ADD COLUMN "signed_file_path" text;--> statement-breakpoint
ALTER TABLE "documents" ADD COLUMN "pdf_hash" text;--> statement-breakpoint
ALTER TABLE "documents" ADD COLUMN "signed_at" timestamp;--> statement-breakpoint
ALTER TABLE "audit_events" ADD CONSTRAINT "audit_events_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "signing_tokens" ADD CONSTRAINT "signing_tokens_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;