Separate YouTube video titles from on-video song/artist fields with Pro gating, serve curated fonts and watermark assets for 1:1 preview parity, and include billing/API/docs/deploy stack for self-hosted release. Co-authored-by: Cursor <cursoragent@cursor.com>
22 lines
786 B
SQL
22 lines
786 B
SQL
-- CreateEnum
|
|
CREATE TYPE "QuotaExtensionRequestStatus" AS ENUM ('PENDING', 'APPROVED', 'REJECTED');
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "User" ADD COLUMN "bonusQuota" INTEGER NOT NULL DEFAULT 0;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "QuotaExtensionRequest" (
|
|
"id" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"status" "QuotaExtensionRequestStatus" NOT NULL DEFAULT 'PENDING',
|
|
"message" TEXT NOT NULL DEFAULT '',
|
|
"requestedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"processedAt" TIMESTAMP(3),
|
|
"adminNote" TEXT,
|
|
|
|
CONSTRAINT "QuotaExtensionRequest_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "QuotaExtensionRequest" ADD CONSTRAINT "QuotaExtensionRequest_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|