vendor features for admin and vendor admin area
This commit is contained in:
@@ -3,9 +3,10 @@
|
||||
Frontend HTML route handlers.
|
||||
|
||||
Serves static HTML files for admin, vendor, and customer interfaces.
|
||||
Supports both path-based (/vendor/{vendor_code}/) and query-based access.
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Path
|
||||
from fastapi.responses import FileResponse
|
||||
|
||||
router = APIRouter(include_in_schema=False)
|
||||
@@ -33,60 +34,84 @@ async def admin_vendors():
|
||||
"""Serve admin vendors management page"""
|
||||
return FileResponse("static/admin/vendors.html")
|
||||
|
||||
@router.get("/admin/vendor-edit")
|
||||
async def admin_vendor_edit():
|
||||
"""Serve admin vendor edit page"""
|
||||
return FileResponse("static/admin/vendor-edit.html")
|
||||
|
||||
# ============================================================================
|
||||
# VENDOR ROUTES
|
||||
# VENDOR ROUTES (with vendor code in path)
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/vendor/{vendor_code}/")
|
||||
@router.get("/vendor/{vendor_code}/login")
|
||||
async def vendor_login_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor login page with vendor code in path"""
|
||||
return FileResponse("static/vendor/login.html")
|
||||
|
||||
|
||||
@router.get("/vendor/{vendor_code}/dashboard")
|
||||
async def vendor_dashboard_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor dashboard page with vendor code in path"""
|
||||
return FileResponse("static/vendor/dashboard.html")
|
||||
|
||||
|
||||
@router.get("/vendor/{vendor_code}/products")
|
||||
@router.get("/vendor/{vendor_code}/admin/products")
|
||||
async def vendor_products_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor products management page"""
|
||||
return FileResponse("static/vendor/admin/products.html")
|
||||
|
||||
|
||||
@router.get("/vendor/{vendor_code}/orders")
|
||||
@router.get("/vendor/{vendor_code}/admin/orders")
|
||||
async def vendor_orders_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor orders management page"""
|
||||
return FileResponse("static/vendor/admin/orders.html")
|
||||
|
||||
|
||||
@router.get("/vendor/{vendor_code}/marketplace")
|
||||
@router.get("/vendor/{vendor_code}/admin/marketplace")
|
||||
async def vendor_marketplace_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor marketplace import page"""
|
||||
return FileResponse("static/vendor/admin/marketplace.html")
|
||||
|
||||
|
||||
@router.get("/vendor/{vendor_code}/customers")
|
||||
@router.get("/vendor/{vendor_code}/admin/customers")
|
||||
async def vendor_customers_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor customers management page"""
|
||||
return FileResponse("static/vendor/admin/customers.html")
|
||||
|
||||
|
||||
@router.get("/vendor/{vendor_code}/inventory")
|
||||
@router.get("/vendor/{vendor_code}/admin/inventory")
|
||||
async def vendor_inventory_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor inventory management page"""
|
||||
return FileResponse("static/vendor/admin/inventory.html")
|
||||
|
||||
|
||||
@router.get("/vendor/{vendor_code}/team")
|
||||
@router.get("/vendor/{vendor_code}/admin/team")
|
||||
async def vendor_team_with_code(vendor_code: str = Path(...)):
|
||||
"""Serve vendor team management page"""
|
||||
return FileResponse("static/vendor/admin/team.html")
|
||||
|
||||
|
||||
# Fallback vendor routes (without vendor code - for query parameter access)
|
||||
@router.get("/vendor/")
|
||||
@router.get("/vendor/login")
|
||||
async def vendor_login():
|
||||
"""Serve vendor login page"""
|
||||
"""Serve vendor login page (query parameter based)"""
|
||||
return FileResponse("static/vendor/login.html")
|
||||
|
||||
|
||||
@router.get("/vendor/dashboard")
|
||||
async def vendor_dashboard():
|
||||
"""Serve vendor dashboard page"""
|
||||
"""Serve vendor dashboard page (query parameter based)"""
|
||||
return FileResponse("static/vendor/dashboard.html")
|
||||
|
||||
|
||||
@router.get("/vendor/admin/products")
|
||||
async def vendor_products():
|
||||
"""Serve vendor products management page"""
|
||||
return FileResponse("static/vendor/admin/products.html")
|
||||
|
||||
|
||||
@router.get("/vendor/admin/orders")
|
||||
async def vendor_orders():
|
||||
"""Serve vendor orders management page"""
|
||||
return FileResponse("static/vendor/admin/orders.html")
|
||||
|
||||
|
||||
@router.get("/vendor/admin/marketplace")
|
||||
async def vendor_marketplace():
|
||||
"""Serve vendor marketplace import page"""
|
||||
return FileResponse("static/vendor/admin/marketplace.html")
|
||||
|
||||
|
||||
@router.get("/vendor/admin/customers")
|
||||
async def vendor_customers():
|
||||
"""Serve vendor customers management page"""
|
||||
return FileResponse("static/vendor/admin/customers.html")
|
||||
|
||||
|
||||
@router.get("/vendor/admin/inventory")
|
||||
async def vendor_inventory():
|
||||
"""Serve vendor inventory management page"""
|
||||
return FileResponse("static/vendor/admin/inventory.html")
|
||||
|
||||
|
||||
@router.get("/vendor/admin/team")
|
||||
async def vendor_team():
|
||||
"""Serve vendor team management page"""
|
||||
return FileResponse("static/vendor/admin/team.html")
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# CUSTOMER/SHOP ROUTES
|
||||
# ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user