# 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. Endpoints: - Products: Browse catalog, search products (catalog module) - Cart: Shopping cart operations (cart module) - Orders: Order history viewing (orders module) - Checkout: Order placement (checkout module) - Auth: Customer login, registration, password reset (customers module) - Profile/Addresses: Customer profile management (customers module) - Messages: Customer messaging (messaging module) - Content Pages: CMS pages (cms module) Authentication: - Products, Cart, Content Pages: No auth required - Orders, Profile, Messages: Requires customer authentication - Auth: Public (login, register) Note: Routes are now served from their respective modules. """ from fastapi import APIRouter # Import module routers from app.modules.cart.routes.api import storefront_router as cart_router from app.modules.catalog.routes.api import storefront_router as catalog_router from app.modules.checkout.routes.api import storefront_router as checkout_router from app.modules.cms.routes.api.storefront import router as cms_storefront_router from app.modules.customers.routes.api import storefront_router as customers_router from app.modules.messaging.routes.api import storefront_router as messaging_router from app.modules.orders.routes.api import storefront_router as orders_router # Create storefront router router = APIRouter() # ============================================================================ # STOREFRONT API ROUTES (All vendor-context aware via middleware) # ============================================================================ # Customer authentication and account management (customers module) router.include_router(customers_router, tags=["storefront-auth", "storefront-profile", "storefront-addresses"]) # Product catalog browsing (catalog module) router.include_router(catalog_router, tags=["storefront-products"]) # Shopping cart (cart module) router.include_router(cart_router, tags=["storefront-cart"]) # Order placement (checkout module) router.include_router(checkout_router, tags=["storefront-checkout"]) # Order history viewing (orders module) router.include_router(orders_router, tags=["storefront-orders"]) # Customer messaging (messaging module) router.include_router(messaging_router, tags=["storefront-messages"]) # CMS content pages (cms module) router.include_router( cms_storefront_router, prefix="/content-pages", tags=["storefront-content-pages"] ) __all__ = ["router"]