feat(api): extend client response model with detailed fields
This commit is contained in:
parent
4434f0716f
commit
732ccd2fd4
1 changed files with 47 additions and 2 deletions
49
api.py
49
api.py
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Reference in a new issue