# app/api/v1/storefront/__init__.py """ Storefront API router aggregation. This module aggregates all storefront-related JSON API endpoints (public facing). Uses vendor context from middleware - no vendor_id in URLs. AUTO-DISCOVERED MODULE ROUTES: - cart: Shopping cart operations - catalog: Browse catalog, search products - checkout: Order placement - cms: Content pages - customers: Auth, profile, addresses - messaging: Customer messaging - orders: Order history viewing Authentication: - Products, Cart, Content Pages: No auth required - Orders, Profile, Messages: Requires customer authentication - Auth: Public (login, register) Note: Routes are auto-discovered from app/modules/{module}/routes/api/storefront.py """ from fastapi import APIRouter # Create storefront router router = APIRouter() # ============================================================================ # Auto-discovered Module Routes # ============================================================================ # Routes from self-contained modules are auto-discovered and registered. # Modules include: cart, catalog, checkout, cms, customers, messaging, orders from app.modules.routes import get_storefront_api_routes for route_info in get_storefront_api_routes(): # Only pass prefix if custom_prefix is set (router already has internal prefix) if route_info.custom_prefix: router.include_router( route_info.router, prefix=route_info.custom_prefix, tags=route_info.tags, ) else: router.include_router( route_info.router, tags=route_info.tags, ) __all__ = ["router"]