Files
orion/app/modules/inventory/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

27 lines
795 B
Python

# app/modules/inventory/routes/admin.py
"""
Inventory module admin routes.
This module wraps the existing admin inventory routes and adds
module-based access control. Routes are re-exported from the
original location with the module access dependency.
"""
from fastapi import APIRouter, Depends
from app.api.deps import require_module_access
# Import original router
from app.api.v1.admin import inventory as inventory_routes
# Create module-aware router
admin_router = APIRouter(
prefix="/inventory",
dependencies=[Depends(require_module_access("inventory"))],
)
# Re-export all routes from the original module with module access control
# The routes are copied to maintain the same API structure
for route in inventory_routes.router.routes:
admin_router.routes.append(route)