Add subcription feature 6
This commit is contained in:
@@ -36,6 +36,9 @@ PUBLIC_ROUTES = [
|
||||
"/api/v1/auth/verify",
|
||||
"/api/v1/auth/start-registration", # Registration step 1 - SetupIntent creation
|
||||
"/api/v1/auth/complete-registration", # Registration step 2 - Completion after 3DS
|
||||
"/api/v1/registration/payment-setup", # New registration payment setup endpoint
|
||||
"/api/v1/registration/complete", # New registration completion endpoint
|
||||
"/api/v1/registration/state/", # Registration state check
|
||||
"/api/v1/auth/verify-email", # Email verification
|
||||
"/api/v1/auth/password/reset-request", # Password reset request - no auth required
|
||||
"/api/v1/auth/password/reset", # Password reset with token - no auth required
|
||||
@@ -621,7 +624,7 @@ class AuthMiddleware(BaseHTTPMiddleware):
|
||||
async with httpx.AsyncClient(timeout=3.0) as client:
|
||||
headers = {"Authorization": request.headers.get("Authorization", "")}
|
||||
response = await client.get(
|
||||
f"{settings.TENANT_SERVICE_URL}/api/v1/subscriptions/{tenant_id}/tier",
|
||||
f"{settings.TENANT_SERVICE_URL}/api/v1/tenants/{tenant_id}/subscription/tier",
|
||||
headers=headers
|
||||
)
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ class APIRateLimitMiddleware(BaseHTTPMiddleware):
|
||||
|
||||
async with httpx.AsyncClient(timeout=2.0) as client:
|
||||
response = await client.get(
|
||||
f"{settings.TENANT_SERVICE_URL}/api/v1/subscriptions/{tenant_id}/tier",
|
||||
f"{settings.TENANT_SERVICE_URL}/api/v1/tenants/{tenant_id}/subscription/tier",
|
||||
headers={
|
||||
"x-service": "gateway"
|
||||
}
|
||||
|
||||
@@ -24,7 +24,8 @@ logger = logging.getLogger(__name__)
|
||||
READ_ONLY_WHITELIST_PATTERNS = [
|
||||
r'^/api/v1/users/me/delete/request$',
|
||||
r'^/api/v1/users/me/export.*$',
|
||||
r'^/api/v1/subscriptions/.*',
|
||||
r'^/api/v1/tenants/.*/subscription/.*', # All tenant subscription endpoints
|
||||
r'^/api/v1/registration/.*', # Registration flow endpoints
|
||||
r'^/api/v1/auth/.*', # Allow auth operations
|
||||
r'^/api/v1/tenants/register$', # Allow new tenant registration (no existing tenant context)
|
||||
r'^/api/v1/tenants/.*/orchestrator/run-daily-workflow$', # Allow workflow testing
|
||||
@@ -56,7 +57,7 @@ class ReadOnlyModeMiddleware(BaseHTTPMiddleware):
|
||||
try:
|
||||
async with httpx.AsyncClient(timeout=5.0) as client:
|
||||
response = await client.get(
|
||||
f"{self.tenant_service_url}/api/v1/tenants/{tenant_id}/subscriptions/status",
|
||||
f"{self.tenant_service_url}/api/v1/tenants/{tenant_id}/subscription/status",
|
||||
headers={"Authorization": authorization}
|
||||
)
|
||||
|
||||
|
||||
@@ -176,7 +176,8 @@ class SubscriptionMiddleware(BaseHTTPMiddleware):
|
||||
r'/health.*',
|
||||
r'/metrics.*',
|
||||
r'/api/v1/auth/.*',
|
||||
r'/api/v1/subscriptions/.*', # Subscription management itself
|
||||
r'/api/v1/tenants/[^/]+/subscription/.*', # All tenant subscription endpoints
|
||||
r'/api/v1/registration/.*', # Registration flow endpoints
|
||||
r'/api/v1/tenants/[^/]+/members.*', # Basic tenant info
|
||||
r'/api/v1/webhooks/.*', # Webhook endpoints - no tenant context
|
||||
r'/docs.*',
|
||||
@@ -295,9 +296,9 @@ class SubscriptionMiddleware(BaseHTTPMiddleware):
|
||||
)
|
||||
|
||||
async with httpx.AsyncClient(timeout=timeout_config) as client:
|
||||
# Use fast cached tier endpoint
|
||||
# Use fast cached tier endpoint (new URL pattern)
|
||||
tier_response = await client.get(
|
||||
f"{settings.TENANT_SERVICE_URL}/api/v1/subscriptions/{tenant_id}/tier",
|
||||
f"{settings.TENANT_SERVICE_URL}/api/v1/tenants/{tenant_id}/subscription/tier",
|
||||
headers=headers
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user