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
|
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):
|
class ArticleResponse(BaseModel):
|
||||||
reference: str
|
reference: str
|
||||||
designation: str
|
designation: str
|
||||||
|
|
@ -752,12 +797,12 @@ app.include_router(auth_router)
|
||||||
# =====================================================
|
# =====================================================
|
||||||
# ENDPOINTS - US-A1 (CRÉATION RAPIDE DEVIS)
|
# 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)):
|
async def rechercher_clients(query: Optional[str] = Query(None)):
|
||||||
"""🔍 Recherche clients via gateway Windows"""
|
"""🔍 Recherche clients via gateway Windows"""
|
||||||
try:
|
try:
|
||||||
clients = sage_client.lister_clients(filtre=query or "")
|
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:
|
except Exception as e:
|
||||||
logger.error(f"Erreur recherche clients: {e}")
|
logger.error(f"Erreur recherche clients: {e}")
|
||||||
raise HTTPException(500, str(e))
|
raise HTTPException(500, str(e))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue