feat: add admin inventory management (Phase 1)
- Add admin API endpoints for inventory management - Add inventory page with vendor selector and filtering - Add admin schemas for cross-vendor inventory operations - Support digital products with unlimited inventory - Add integration tests for admin inventory API - Add inventory management guide documentation Mirrors vendor inventory functionality with admin-level access. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,8 @@ Routes:
|
||||
- GET /vendors/{vendor_code}/theme → Vendor theme editor (auth required)
|
||||
- GET /users → User management page (auth required)
|
||||
- GET /customers → Customer management page (auth required)
|
||||
- GET /inventory → Inventory management page (auth required)
|
||||
- GET /orders → Orders management page (auth required)
|
||||
- GET /imports → Import history page (auth required)
|
||||
- GET /marketplace-products → Marketplace products catalog (auth required)
|
||||
- GET /vendor-products → Vendor products catalog (auth required)
|
||||
@@ -474,6 +476,54 @@ async def admin_customers_page(
|
||||
)
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# INVENTORY MANAGEMENT ROUTES
|
||||
# ============================================================================
|
||||
|
||||
|
||||
@router.get("/inventory", response_class=HTMLResponse, include_in_schema=False)
|
||||
async def admin_inventory_page(
|
||||
request: Request,
|
||||
current_user: User = Depends(get_current_admin_from_cookie_or_header),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
Render inventory management page.
|
||||
Shows stock levels across all vendors with filtering and adjustment capabilities.
|
||||
"""
|
||||
return templates.TemplateResponse(
|
||||
"admin/inventory.html",
|
||||
{
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# ORDER MANAGEMENT ROUTES
|
||||
# ============================================================================
|
||||
|
||||
|
||||
@router.get("/orders", response_class=HTMLResponse, include_in_schema=False)
|
||||
async def admin_orders_page(
|
||||
request: Request,
|
||||
current_user: User = Depends(get_current_admin_from_cookie_or_header),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
Render orders management page.
|
||||
Shows orders across all vendors with filtering and status management.
|
||||
"""
|
||||
return templates.TemplateResponse(
|
||||
"admin/orders.html",
|
||||
{
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# IMPORT MANAGEMENT ROUTES
|
||||
# ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user