# app/modules/marketplace/routes/api/admin.py """ Marketplace module admin routes. This module wraps the existing admin marketplace routes and adds module-based access control. Routes are re-exported from the original location with the module access dependency. Includes: - /marketplace/* - Marketplace monitoring - /letzshop/* - Letzshop integration """ import importlib from fastapi import APIRouter, Depends from app.api.deps import require_module_access # Import original routers using importlib to avoid circular imports # (direct import triggers app.api.v1.admin.__init__.py which imports us) _marketplace_module = importlib.import_module("app.api.v1.admin.marketplace") _letzshop_module = importlib.import_module("app.api.v1.admin.letzshop") marketplace_original_router = _marketplace_module.router letzshop_original_router = _letzshop_module.router # Create module-aware router for marketplace admin_router = APIRouter( prefix="/marketplace", dependencies=[Depends(require_module_access("marketplace"))], ) # Re-export all routes from the original marketplace module for route in marketplace_original_router.routes: admin_router.routes.append(route) # Create separate router for letzshop integration admin_letzshop_router = APIRouter( prefix="/letzshop", dependencies=[Depends(require_module_access("marketplace"))], ) for route in letzshop_original_router.routes: admin_letzshop_router.routes.append(route)