style: apply black and isort formatting across entire codebase
- Standardize quote style (single to double quotes) - Reorder and group imports alphabetically - Fix line breaks and indentation for consistency - Apply PEP 8 formatting standards Also updated Makefile to exclude both venv and .venv from code quality checks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -17,14 +17,16 @@ Class-based middleware provides:
|
||||
|
||||
import logging
|
||||
from enum import Enum
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
|
||||
from fastapi import Request
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class RequestContext(str, Enum):
|
||||
"""Request context types for the application."""
|
||||
|
||||
API = "api"
|
||||
ADMIN = "admin"
|
||||
VENDOR_DASHBOARD = "vendor"
|
||||
@@ -59,7 +61,7 @@ class ContextManager:
|
||||
# Use clean_path if available (extracted by vendor_context_middleware)
|
||||
# Falls back to original path if clean_path not set
|
||||
# This is critical for correct context detection with path-based routing
|
||||
path = getattr(request.state, 'clean_path', request.url.path)
|
||||
path = getattr(request.state, "clean_path", request.url.path)
|
||||
|
||||
host = request.headers.get("host", "")
|
||||
|
||||
@@ -71,10 +73,10 @@ class ContextManager:
|
||||
f"[CONTEXT] Detecting context",
|
||||
extra={
|
||||
"original_path": request.url.path,
|
||||
"clean_path": getattr(request.state, 'clean_path', 'NOT SET'),
|
||||
"clean_path": getattr(request.state, "clean_path", "NOT SET"),
|
||||
"path_to_check": path,
|
||||
"host": host,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
# 1. API context (highest priority)
|
||||
@@ -84,24 +86,30 @@ class ContextManager:
|
||||
|
||||
# 2. Admin context
|
||||
if ContextManager._is_admin_context(request, host, path):
|
||||
logger.debug("[CONTEXT] Detected as ADMIN", extra={"path": path, "host": host})
|
||||
logger.debug(
|
||||
"[CONTEXT] Detected as ADMIN", extra={"path": path, "host": host}
|
||||
)
|
||||
return RequestContext.ADMIN
|
||||
|
||||
# 3. Vendor Dashboard context (vendor management area)
|
||||
# Check both clean_path and original path for vendor dashboard
|
||||
original_path = request.url.path
|
||||
if ContextManager._is_vendor_dashboard_context(path) or \
|
||||
ContextManager._is_vendor_dashboard_context(original_path):
|
||||
logger.debug("[CONTEXT] Detected as VENDOR_DASHBOARD", extra={"path": path, "original_path": original_path})
|
||||
if ContextManager._is_vendor_dashboard_context(
|
||||
path
|
||||
) or ContextManager._is_vendor_dashboard_context(original_path):
|
||||
logger.debug(
|
||||
"[CONTEXT] Detected as VENDOR_DASHBOARD",
|
||||
extra={"path": path, "original_path": original_path},
|
||||
)
|
||||
return RequestContext.VENDOR_DASHBOARD
|
||||
|
||||
# 4. Shop context (vendor storefront)
|
||||
# Check if vendor context exists (set by vendor_context_middleware)
|
||||
if hasattr(request.state, 'vendor') and request.state.vendor:
|
||||
if hasattr(request.state, "vendor") and request.state.vendor:
|
||||
# If we have a vendor and it's not admin or vendor dashboard, it's shop
|
||||
logger.debug(
|
||||
"[CONTEXT] Detected as SHOP (has vendor context)",
|
||||
extra={"vendor": request.state.vendor.name}
|
||||
extra={"vendor": request.state.vendor.name},
|
||||
)
|
||||
return RequestContext.SHOP
|
||||
|
||||
@@ -173,11 +181,12 @@ class ContextMiddleware(BaseHTTPMiddleware):
|
||||
f"[CONTEXT_MIDDLEWARE] Context detected: {context_type.value}",
|
||||
extra={
|
||||
"path": request.url.path,
|
||||
"clean_path": getattr(request.state, 'clean_path', 'NOT SET'),
|
||||
"clean_path": getattr(request.state, "clean_path", "NOT SET"),
|
||||
"host": request.headers.get("host", ""),
|
||||
"context": context_type.value,
|
||||
"has_vendor": hasattr(request.state, 'vendor') and request.state.vendor is not None,
|
||||
}
|
||||
"has_vendor": hasattr(request.state, "vendor")
|
||||
and request.state.vendor is not None,
|
||||
},
|
||||
)
|
||||
|
||||
# Continue processing
|
||||
|
||||
Reference in New Issue
Block a user