feat: stocker et afficher les données étendues dans le modal détail
- Ajout des champs a_propos, description, carateristique, details au modèle ProductSnapshot - Sérialisation JSON pour les listes et dictionnaires - Modification du CRUD pour stocker/lire les données étendues - Modification du runner pour passer les données lors du scrape - AddProductModal envoie les données étendues lors de la création - La base SQLite doit être recréée (suppression de suivi.db) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
from typing import Any, Optional
|
||||
|
||||
from pydantic import BaseModel, HttpUrl
|
||||
|
||||
@@ -50,6 +50,11 @@ class ProductSnapshotBase(BaseModel):
|
||||
choix_amazon: Optional[bool]
|
||||
offre_limitee: Optional[bool]
|
||||
exclusivite_amazon: Optional[bool]
|
||||
# Données étendues
|
||||
a_propos: Optional[list[str]] = None
|
||||
description: Optional[str] = None
|
||||
carateristique: Optional[dict[str, Any]] = None
|
||||
details: Optional[dict[str, Any]] = None
|
||||
statut_scrap: Optional[str]
|
||||
message_erreur: Optional[str]
|
||||
|
||||
@@ -82,6 +87,11 @@ class ProductWithSnapshot(ProductBase):
|
||||
choix_amazon: Optional[bool] = None
|
||||
offre_limitee: Optional[bool] = None
|
||||
exclusivite_amazon: Optional[bool] = None
|
||||
# Données étendues
|
||||
a_propos: Optional[list[str]] = None
|
||||
description: Optional[str] = None
|
||||
carateristique: Optional[dict[str, Any]] = None
|
||||
details: Optional[dict[str, Any]] = None
|
||||
dernier_scrape: Optional[datetime] = None
|
||||
statut_scrap: Optional[str] = None
|
||||
|
||||
@@ -104,3 +114,8 @@ class ProductCreateWithSnapshot(ProductBase):
|
||||
choix_amazon: Optional[bool] = None
|
||||
offre_limitee: Optional[bool] = None
|
||||
exclusivite_amazon: Optional[bool] = None
|
||||
# Données étendues
|
||||
a_propos: Optional[list[str]] = None
|
||||
description: Optional[str] = None
|
||||
carateristique: Optional[dict[str, Any]] = None
|
||||
details: Optional[dict[str, Any]] = None
|
||||
|
||||
Reference in New Issue
Block a user