Comprehensive admin + user dashboards (production-ready)

This commit is contained in:
Leon Serfaty
2026-06-07 17:54:30 -04:00
parent 155507f21a
commit f033f00379
122 changed files with 7878 additions and 805 deletions
@@ -0,0 +1,45 @@
-- AlterTable
ALTER TABLE "content_flag" ADD COLUMN "severity" TEXT NOT NULL DEFAULT 'medium',
ADD COLUMN "source" TEXT NOT NULL DEFAULT 'system';
-- CreateTable
CREATE TABLE "worker_heartbeat" (
"name" TEXT NOT NULL,
"lastBeatAt" TIMESTAMP(3) NOT NULL,
"queued" INTEGER,
"running" INTEGER,
"meta" JSONB,
CONSTRAINT "worker_heartbeat_pkey" PRIMARY KEY ("name")
);
-- CreateTable
CREATE TABLE "webhook_event" (
"id" TEXT NOT NULL,
"provider" TEXT NOT NULL,
"eventId" TEXT NOT NULL,
"type" TEXT NOT NULL,
"status" TEXT NOT NULL DEFAULT 'processed',
"error" TEXT,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "webhook_event_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "webhook_event_eventId_key" ON "webhook_event"("eventId");
-- CreateIndex
CREATE INDEX "webhook_event_provider_createdAt_idx" ON "webhook_event"("provider", "createdAt");
-- CreateIndex
CREATE INDEX "episode_createdAt_idx" ON "episode"("createdAt");
-- CreateIndex
CREATE INDEX "subscription_status_idx" ON "subscription"("status");
-- CreateIndex
CREATE INDEX "subscription_createdAt_idx" ON "subscription"("createdAt");
-- CreateIndex
CREATE INDEX "user_createdAt_idx" ON "user"("createdAt");
@@ -0,0 +1,25 @@
-- AlterTable
ALTER TABLE "episode" ADD COLUMN "shareId" TEXT,
ADD COLUMN "sharedAt" TIMESTAMP(3);
-- AlterTable
ALTER TABLE "user" ADD COLUMN "onboardedAt" TIMESTAMP(3);
-- CreateTable
CREATE TABLE "user_preferences" (
"userId" TEXT NOT NULL,
"defaultVoiceId" TEXT,
"defaultLanguage" TEXT NOT NULL DEFAULT 'en',
"emailOnEpisodeReady" BOOLEAN NOT NULL DEFAULT true,
"productEmails" BOOLEAN NOT NULL DEFAULT true,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "user_preferences_pkey" PRIMARY KEY ("userId")
);
-- CreateIndex
CREATE UNIQUE INDEX "episode_shareId_key" ON "episode"("shareId");
-- AddForeignKey
ALTER TABLE "user_preferences" ADD CONSTRAINT "user_preferences_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE;