Files
orion/app/modules/marketplace/routes/api/admin.py
Samir Boulahtit b74d1346aa feat: complete marketplace module self-containment
Migrate marketplace module to self-contained structure:

- routes/api/admin.py - Admin API endpoints
- routes/api/vendor.py - Vendor API endpoints
- routes/pages/ - Page routes (placeholder)
- models/letzshop.py - Letzshop model
- models/marketplace_import_job.py - Import job model
- models/marketplace_product.py - Product model
- models/marketplace_product_translation.py - Translation model
- schemas/marketplace_import_job.py - Import job schemas
- schemas/marketplace_product.py - Product schemas
- locales/ - Translations (en, de, fr, lu)

Removed legacy route files replaced by api/ structure.
Updated __init__.py files to use new structure.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:21:40 +01:00

45 lines
1.4 KiB
Python

# 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)