import ali

This commit is contained in:
2026-02-01 01:45:51 +01:00
parent bdbfa4e25a
commit 46d6d88ce5
48 changed files with 6714 additions and 185 deletions
+45
View File
@@ -0,0 +1,45 @@
"""Schémas Pydantic pour les boutiques."""
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
class ShopBase(BaseModel):
"""Schéma de base pour les boutiques."""
name: str = Field(..., min_length=1, max_length=200, description="Nom de la boutique")
description: str | None = Field(None, max_length=1000, description="Description optionnelle")
url: str | None = Field(None, max_length=500, description="URL du site web")
address: str | None = Field(None, description="Adresse physique")
class ShopCreate(ShopBase):
"""Schéma pour la création d'une boutique."""
pass
class ShopUpdate(BaseModel):
"""Schéma pour la mise à jour d'une boutique (tous les champs optionnels)."""
name: str | None = Field(None, min_length=1, max_length=200)
description: str | None = Field(None, max_length=1000)
url: str | None = Field(None, max_length=500)
address: str | None = None
class ShopResponse(ShopBase):
"""Schéma de réponse pour une boutique."""
model_config = ConfigDict(from_attributes=True)
id: int
created_at: datetime
updated_at: datetime
class ShopWithItemCount(ShopResponse):
"""Schéma de réponse avec le nombre d'objets."""
item_count: int = Field(default=0, description="Nombre d'objets achetés dans cette boutique")