feat(route-sections): add dynamic route sections
Replace hardcoded homepage featured route groups with a fully managed dynamic system: - add database models RouteSection and RouteSectionProduct for storing route groups and their associated products - create Alembic migration 0004_route_sections for the new tables - extend SiteConfigPatchIn schema with subtitle and productIds fields - refactor shared site_config utility to load dynamic route sections instead of fixed groups - implement admin CRUD API with validation for duplicate/conflicting product associations - update public and admin API documentation to reflect the new system - add default route section seed data and comprehensive test coverage
This commit is contained in:
@@ -121,6 +121,7 @@ class LeadQuery(BaseModel):
|
||||
class SiteConfigPatchIn(BaseModel):
|
||||
title: str | None = None
|
||||
kicker: str | None = None
|
||||
subtitle: str | None = None
|
||||
name: str | None = None
|
||||
slug: str | None = None
|
||||
region: str | None = None
|
||||
@@ -132,6 +133,7 @@ class SiteConfigPatchIn(BaseModel):
|
||||
priceAmount: int | None = Field(default=None, ge=0)
|
||||
priceUnit: str | None = None
|
||||
tags: list[str] | None = None
|
||||
productIds: list[str] | None = None
|
||||
status: str | None = None
|
||||
startsAt: datetime | None = None
|
||||
endsAt: datetime | None = None
|
||||
|
||||
Reference in New Issue
Block a user