feat: Add banner toggle and soldout tracking to Cars page

- Add is_banner, soldout fields to Car model
- Add banner toggle API (POST /hero-banners/admin/toggle/{car_id})
- Add soldout APIs (POST/DELETE /cars/{car_id}/soldout)
- Add nightly soldout checker in agent (runs at 3:00 AM)
- Update Local Cars UI with banner checkbox and status column
- Remove hero-banners admin page (functionality moved to Cars page)
- Banner cars sorted to top with purple background
- Soldout cars displayed with gray overlay

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
AutonetSellCar Deploy
2025-12-31 12:50:40 +09:00
parent 9969554deb
commit c9fd7611a7
10 changed files with 579 additions and 40 deletions

View File

@@ -135,6 +135,8 @@ class CarUpdate(BaseModel):
color: Optional[str] = None
status: Optional[str] = None
is_displayed: Optional[bool] = None
is_banner: Optional[bool] = None
soldout: Optional[bool] = None
class CarResponse(BaseModel):
@@ -152,6 +154,8 @@ class CarResponse(BaseModel):
final_price_mn: Optional[int] = None # Computed: price_krw + margin_mn (for Mongolian users)
price_usd: Optional[Decimal] = None
is_displayed: bool = False
is_banner: bool = False
soldout: bool = False
fuel: Optional[str] = None
transmission: Optional[str] = None
color: Optional[str] = None