From f340d0fa3e6033c2450a66f42ee81f1503a4b8fb Mon Sep 17 00:00:00 2001 From: Roberto Musso Date: Fri, 20 Mar 2026 12:32:36 +0100 Subject: [PATCH] Fix dev tier: default to power when no subscription exists The tier is resolved live from the subscriptions table in get_current_user. Previously fell back to 'free' unconditionally, hitting the 5 runs/day limit immediately in dev. Now falls back to 'power' (unlimited) when ENV=dev and no subscription row exists. Co-Authored-By: Claude Sonnet 4.6 --- app/api/middleware/auth.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/api/middleware/auth.py b/app/api/middleware/auth.py index 329ba30..4fcedf5 100644 --- a/app/api/middleware/auth.py +++ b/app/api/middleware/auth.py @@ -55,12 +55,15 @@ async def get_current_user( raise credentials_exc # Live tier lookup — subscription row is the authoritative source. + # In dev, fall back to 'power' (unlimited) so quota limits don't + # block local development when no Stripe subscription exists. from app.models import Subscription, User # noqa: PLC0415 result = await db.execute( select(Subscription.tier).where(Subscription.user_id == user_id) ) - tier: str = result.scalar_one_or_none() or "free" + default_tier = "power" if settings.ENV == "dev" else "free" + tier: str = result.scalar_one_or_none() or default_tier # Fetch name/surname from user row. user_result = await db.execute(