feat(shopping): photo par article dans le catalogue

- Upload photo (context=product → thumbnail 150×150) dans CatalogueModal
- Miniature affichée dans la liste et dans le formulaire
- Schémas ProductCreate/Update/Response exposent image_path + thumbnail_path
- Backend sert /media/* via StaticFiles (FastAPI)
- Proxy /media → backend dans vite.config et nginx.conf

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 06:37:33 +02:00
co-authored by Claude Sonnet 4.6
parent 5dc335ad17
commit 7b1b6521e5
7 changed files with 99 additions and 5 deletions
+6
View File
@@ -38,6 +38,8 @@ class ProductCreate(BaseModel):
price: Decimal | None = None
quantity_per_unit: Decimal | None = None
default_store_id: uuid.UUID | None = None
image_path: str | None = None
thumbnail_path: str | None = None
class ProductUpdate(BaseModel):
@@ -50,6 +52,8 @@ class ProductUpdate(BaseModel):
price: Decimal | None = None
quantity_per_unit: Decimal | None = None
default_store_id: uuid.UUID | None = None
image_path: str | None = None
thumbnail_path: str | None = None
class ProductResponse(BaseModel):
@@ -65,6 +69,8 @@ class ProductResponse(BaseModel):
quantity_per_unit: Decimal | None
default_store_id: uuid.UUID | None
frequency_score: int
image_path: str | None
thumbnail_path: str | None
class ListItemCreate(BaseModel):