feat(api): extend client response model with detailed fields

This commit is contained in:
Fanilo-Nantenaina 2025-12-09 10:35:20 +03:00
parent 4434f0716f
commit 732ccd2fd4

49
api.py
View file

@ -120,6 +120,51 @@ class ClientResponse(BaseModel):
telephone: Optional[str] = None
class ClientDetails(ClientResponse):
type: int
qualite: str
est_prospect: bool
est_fournisseur: bool
est_actif: bool
est_en_sommeil: bool
civilite: Optional[str] = None
nom: Optional[str] = None
prenom: Optional[str] = None
nom_complet: Optional[str] = None
contact: Optional[str] = None
complement: Optional[str] = None
region: Optional[str] = None
pays: Optional[str] = None
portable: Optional[str] = None
telecopie: Optional[str] = None
site_web: Optional[str] = None
siret: Optional[str] = None
siren: Optional[str] = None
tva_intra: Optional[str] = None
code_naf: Optional[str] = None
forme_juridique: Optional[str] = None
secteur: Optional[str] = None
effectif: Optional[int] = None
ca_annuel: Optional[float] = None
commercial_code: Optional[str] = None
commercial_nom: Optional[str] = None
categorie_tarifaire: Optional[int] = None
categorie_comptable: Optional[int] = None
encours_autorise: Optional[float] = None
assurance_credit: Optional[float] = None
compte_general: Optional[str] = None
date_creation: Optional[str] = None
date_modification: Optional[str] = None
class ArticleResponse(BaseModel):
reference: str
designation: str
@ -752,12 +797,12 @@ app.include_router(auth_router)
# =====================================================
# ENDPOINTS - US-A1 (CRÉATION RAPIDE DEVIS)
# =====================================================
@app.get("/clients", response_model=List[ClientResponse], tags=["Clients"])
@app.get("/clients", response_model=List[ClientDetails], tags=["Clients"])
async def rechercher_clients(query: Optional[str] = Query(None)):
"""🔍 Recherche clients via gateway Windows"""
try:
clients = sage_client.lister_clients(filtre=query or "")
return [ClientResponse(**c) for c in clients]
return [ClientDetails(**c) for c in clients]
except Exception as e:
logger.error(f"Erreur recherche clients: {e}")
raise HTTPException(500, str(e))