Multi-plan subscriptions, quotas, and token usage APIs (#16 #17 #36) #37

Merged
westfarn merged 2 commits from feature/plans-quotas-token-usage into master 2026-07-31 04:24:21 -07:00
Showing only changes of commit d5ec7185a2 - Show all commits
+1 -4
View File
@@ -6,6 +6,7 @@ from dataclasses import dataclass
from datetime import timedelta
from typing import Any
from django.conf import settings
from django.db.models import Count, Q, Sum
from django.utils import timezone
@@ -165,8 +166,6 @@ def get_usage_snapshot(user) -> UsageSnapshot:
def assert_feature_allowed(user, feature: str) -> None:
from django.conf import settings
if not getattr(settings, "ENFORCE_SUBSCRIPTION_GATES", True):
return
@@ -249,8 +248,6 @@ def assert_within_quotas(user) -> UsageSnapshot:
def check_generation_allowed(user, *, feature: str = "text_generation") -> UsageSnapshot:
"""Combined feature + quota gate for a chat turn."""
from django.conf import settings
if not getattr(settings, "ENFORCE_SUBSCRIPTION_GATES", True):
return get_usage_snapshot(user)
assert_feature_allowed(user, feature)