style: apply black and isort formatting across entire codebase
- Standardize quote style (single to double quotes) - Reorder and group imports alphabetically - Fix line breaks and indentation for consistency - Apply PEP 8 formatting standards Also updated Makefile to exclude both venv and .venv from code quality checks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -21,18 +21,16 @@ Routes:
|
||||
- GET /vendor/{vendor_code}/settings → Vendor settings
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter, Request, Depends, Path, HTTPException
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Path, Request
|
||||
from fastapi.responses import HTMLResponse, RedirectResponse
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from sqlalchemy.orm import Session
|
||||
from typing import Optional
|
||||
import logging
|
||||
|
||||
from app.api.deps import (
|
||||
get_current_vendor_from_cookie_or_header,
|
||||
get_current_vendor_optional,
|
||||
get_db
|
||||
)
|
||||
from app.api.deps import (get_current_vendor_from_cookie_or_header,
|
||||
get_current_vendor_optional, get_db)
|
||||
from app.services.content_page_service import content_page_service
|
||||
from models.database.user import User
|
||||
|
||||
@@ -46,6 +44,7 @@ templates = Jinja2Templates(directory="app/templates")
|
||||
# PUBLIC ROUTES (No Authentication Required)
|
||||
# ============================================================================
|
||||
|
||||
|
||||
@router.get("/{vendor_code}", response_class=RedirectResponse, include_in_schema=False)
|
||||
async def vendor_root_no_slash(vendor_code: str = Path(..., description="Vendor code")):
|
||||
"""
|
||||
@@ -57,8 +56,8 @@ async def vendor_root_no_slash(vendor_code: str = Path(..., description="Vendor
|
||||
|
||||
@router.get("/{vendor_code}/", response_class=RedirectResponse, include_in_schema=False)
|
||||
async def vendor_root(
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: Optional[User] = Depends(get_current_vendor_optional)
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: Optional[User] = Depends(get_current_vendor_optional),
|
||||
):
|
||||
"""
|
||||
Redirect /vendor/{code}/ based on authentication status.
|
||||
@@ -73,11 +72,13 @@ async def vendor_root(
|
||||
return RedirectResponse(url=f"/vendor/{vendor_code}/login", status_code=302)
|
||||
|
||||
|
||||
@router.get("/{vendor_code}/login", response_class=HTMLResponse, include_in_schema=False)
|
||||
@router.get(
|
||||
"/{vendor_code}/login", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_login_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: Optional[User] = Depends(get_current_vendor_optional)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: Optional[User] = Depends(get_current_vendor_optional),
|
||||
):
|
||||
"""
|
||||
Render vendor login page.
|
||||
@@ -99,7 +100,7 @@ async def vendor_login_page(
|
||||
{
|
||||
"request": request,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -107,11 +108,14 @@ async def vendor_login_page(
|
||||
# AUTHENTICATED ROUTES (Vendor Users Only)
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/dashboard", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/dashboard", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_dashboard_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render vendor dashboard.
|
||||
@@ -128,7 +132,7 @@ async def vendor_dashboard_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -136,11 +140,14 @@ async def vendor_dashboard_page(
|
||||
# PRODUCT MANAGEMENT
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/products", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/products", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_products_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render products management page.
|
||||
@@ -152,7 +159,7 @@ async def vendor_products_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -160,11 +167,14 @@ async def vendor_products_page(
|
||||
# ORDER MANAGEMENT
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/orders", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/orders", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_orders_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render orders management page.
|
||||
@@ -176,7 +186,7 @@ async def vendor_orders_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -184,11 +194,14 @@ async def vendor_orders_page(
|
||||
# CUSTOMER MANAGEMENT
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/customers", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/customers", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_customers_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render customers management page.
|
||||
@@ -200,7 +213,7 @@ async def vendor_customers_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -208,11 +221,14 @@ async def vendor_customers_page(
|
||||
# INVENTORY MANAGEMENT
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/inventory", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/inventory", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_inventory_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render inventory management page.
|
||||
@@ -224,7 +240,7 @@ async def vendor_inventory_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -232,11 +248,14 @@ async def vendor_inventory_page(
|
||||
# MARKETPLACE IMPORTS
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/marketplace", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/marketplace", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_marketplace_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render marketplace import page.
|
||||
@@ -248,7 +267,7 @@ async def vendor_marketplace_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -256,11 +275,12 @@ async def vendor_marketplace_page(
|
||||
# TEAM MANAGEMENT
|
||||
# ============================================================================
|
||||
|
||||
|
||||
@router.get("/{vendor_code}/team", response_class=HTMLResponse, include_in_schema=False)
|
||||
async def vendor_team_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render team management page.
|
||||
@@ -272,7 +292,7 @@ async def vendor_team_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -280,11 +300,14 @@ async def vendor_team_page(
|
||||
# PROFILE & SETTINGS
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/profile", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/profile", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_profile_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render vendor profile page.
|
||||
@@ -296,15 +319,17 @@ async def vendor_profile_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@router.get("/{vendor_code}/settings", response_class=HTMLResponse, include_in_schema=False)
|
||||
@router.get(
|
||||
"/{vendor_code}/settings", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_settings_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header)
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
current_user: User = Depends(get_current_vendor_from_cookie_or_header),
|
||||
):
|
||||
"""
|
||||
Render vendor settings page.
|
||||
@@ -316,7 +341,7 @@ async def vendor_settings_page(
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -324,12 +349,15 @@ async def vendor_settings_page(
|
||||
# DYNAMIC CONTENT PAGES (CMS)
|
||||
# ============================================================================
|
||||
|
||||
@router.get("/{vendor_code}/{slug}", response_class=HTMLResponse, include_in_schema=False)
|
||||
|
||||
@router.get(
|
||||
"/{vendor_code}/{slug}", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def vendor_content_page(
|
||||
request: Request,
|
||||
vendor_code: str = Path(..., description="Vendor code"),
|
||||
slug: str = Path(..., description="Content page slug"),
|
||||
db: Session = Depends(get_db)
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
Generic content page handler for vendor shop (CMS).
|
||||
@@ -351,20 +379,17 @@ async def vendor_content_page(
|
||||
"path": request.url.path,
|
||||
"vendor_code": vendor_code,
|
||||
"slug": slug,
|
||||
"vendor": getattr(request.state, 'vendor', 'NOT SET'),
|
||||
"context": getattr(request.state, 'context_type', 'NOT SET'),
|
||||
}
|
||||
"vendor": getattr(request.state, "vendor", "NOT SET"),
|
||||
"context": getattr(request.state, "context_type", "NOT SET"),
|
||||
},
|
||||
)
|
||||
|
||||
vendor = getattr(request.state, 'vendor', None)
|
||||
vendor = getattr(request.state, "vendor", None)
|
||||
vendor_id = vendor.id if vendor else None
|
||||
|
||||
# Load content page from database (vendor override → platform default)
|
||||
page = content_page_service.get_page_for_vendor(
|
||||
db,
|
||||
slug=slug,
|
||||
vendor_id=vendor_id,
|
||||
include_unpublished=False
|
||||
db, slug=slug, vendor_id=vendor_id, include_unpublished=False
|
||||
)
|
||||
|
||||
if not page:
|
||||
@@ -374,7 +399,7 @@ async def vendor_content_page(
|
||||
"slug": slug,
|
||||
"vendor_code": vendor_code,
|
||||
"vendor_id": vendor_id,
|
||||
}
|
||||
},
|
||||
)
|
||||
raise HTTPException(status_code=404, detail="Page not found")
|
||||
|
||||
@@ -385,7 +410,7 @@ async def vendor_content_page(
|
||||
"page_id": page.id,
|
||||
"is_vendor_override": page.vendor_id is not None,
|
||||
"vendor_id": vendor_id,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
return templates.TemplateResponse(
|
||||
@@ -394,5 +419,5 @@ async def vendor_content_page(
|
||||
"request": request,
|
||||
"page": page,
|
||||
"vendor_code": vendor_code,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user