Ship free-tier watermark policy (2 clean renders) and align pricing/legal copy.

This commit is contained in:
Atakan Doğan Özban
2026-08-03 07:41:11 +02:00
parent 605487db0f
commit 5bc39d0692
17 changed files with 346 additions and 34 deletions
@@ -0,0 +1,10 @@
-- AlterEnum
CREATE TYPE "SubscriptionStatus" AS ENUM ('free', 'pro');
-- AlterTable
ALTER TABLE "User" ADD COLUMN "subscriptionStatus" "SubscriptionStatus" NOT NULL DEFAULT 'free';
ALTER TABLE "User" ADD COLUMN "createdVideoCount" INTEGER NOT NULL DEFAULT 0;
-- Backfill from existing Plan
UPDATE "User" SET "subscriptionStatus" = 'pro' WHERE "plan" = 'PREMIUM';
UPDATE "User" SET "subscriptionStatus" = 'free' WHERE "plan" = 'FREE';
+10
View File
@@ -12,6 +12,12 @@ enum Plan {
PREMIUM
}
/// Public-facing subscription tier (kept in sync with `plan`: FREE→free, PREMIUM→pro)
enum SubscriptionStatus {
free
pro
}
enum Privacy {
PUBLIC
PRIVATE
@@ -52,6 +58,10 @@ model User {
image String?
/// FREE = free tier; PREMIUM = Pro (€5/mo, formerly starter_5eur)
plan Plan @default(FREE)
/// Mirrors plan for product/UI (`free` | `pro`). Prefer `plan` for entitlements.
subscriptionStatus SubscriptionStatus @default(free)
/// Lifetime count of successfully completed video renders (not monthly quota).
createdVideoCount Int @default(0)
/// Credits consumed in the current billing cycle (credits_used)
videosUsed Int @default(0)
/// Monthly allocation for the current cycle (10 free / 50 pro)