Files
orion/app/modules/marketplace/routes/admin.py
Samir Boulahtit 9d0dc51de0 feat: extract inventory, orders, and marketplace modules (Phase 4)
Extract three additional modules following the billing module pattern:

Inventory Module (app/modules/inventory/):
- Stock management and tracking
- Inventory locations
- Low stock alerts
- Admin and vendor routes with module access control

Orders Module (app/modules/orders/):
- Order management and fulfillment
- Order item exceptions
- Bulk operations and export
- Admin and vendor routes with module access control

Marketplace Module (app/modules/marketplace/):
- Letzshop integration
- Product sync
- Marketplace import
- Depends on inventory module
- Admin and vendor routes with module access control

Admin router updated:
- Uses module routers with require_module_access dependency
- Legacy router includes commented out
- Routes verified: 15 inventory, 16 orders, 42 marketplace

All 31 module tests passing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 22:02:24 +01:00

40 lines
1.1 KiB
Python

# app/modules/marketplace/routes/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
"""
from fastapi import APIRouter, Depends
from app.api.deps import require_module_access
# Import original routers
from app.api.v1.admin import marketplace as marketplace_routes
from app.api.v1.admin import letzshop as letzshop_routes
# 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_routes.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_routes.router.routes:
admin_letzshop_router.routes.append(route)