From 50c654a74a25c06f120c8cf82bf63ec8d1f3a65d Mon Sep 17 00:00:00 2001 From: Fanilo-Nantenaina Date: Mon, 5 Jan 2026 19:06:53 +0300 Subject: [PATCH] refactor(sage_client): Corrected collaborator listing logic and return type --- api.py | 2 +- sage_client.py | 21 ++++++--------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/api.py b/api.py index 814c2d9..73fded5 100644 --- a/api.py +++ b/api.py @@ -3160,7 +3160,7 @@ async def lister_collaborateurs( """Liste tous les collaborateurs""" try: collaborateurs = sage_client.lister_collaborateurs(filtre, actifs_seulement) - return [CollaborateurListe(**c) for c in collaborateurs] + return [CollaborateurDetails(**c) for c in collaborateurs] except Exception as e: logger.error(f"Erreur liste collaborateurs: {e}") raise HTTPException(500, str(e)) diff --git a/sage_client.py b/sage_client.py index fcdd526..cec8042 100644 --- a/sage_client.py +++ b/sage_client.py @@ -405,22 +405,13 @@ class SageGatewayClient: self, filtre: Optional[str] = None, actifs_seulement: bool = True ) -> List[Dict]: """Liste tous les collaborateurs""" - response = self._post( + return self._post( "/sage/collaborateurs/list", - {"filtre": filtre or "", "actifs_seulement": actifs_seulement}, - ) - - # 🔍 DEBUG : Log la réponse brute - logger.info(f"🔍 Response brute WS: {response}") - - data = response.get("data", []) - - # 🔍 DEBUG : Log les données extraites - if data: - logger.info(f"🔍 Premier collab VPS (après extraction): {data[0]}") - logger.info(f"🔍 Type data[0]: {type(data[0])}") - - return data + { + "filtre": filtre or "", # ⚠️ Convertir None en "" + "actifs_seulement": actifs_seulement, + }, + ).get("data", []) def lire_collaborateur(self, numero: int) -> Optional[Dict]: """Lit un collaborateur par numéro"""