better handling of an article on create and modification state
This commit is contained in:
parent
a0f9eeedec
commit
cc1f3aa8b1
3 changed files with 1061 additions and 452 deletions
22
main.py
22
main.py
|
|
@ -840,30 +840,44 @@ def modifier_facture_endpoint(req: FactureUpdate):
|
|||
@app.post("/sage/articles/create", dependencies=[Depends(verify_token)])
|
||||
def create_article_endpoint(req: ArticleCreate):
|
||||
try:
|
||||
logger.info(f"[ENDPOINT] Création article : {req.reference}")
|
||||
logger.debug(f"[ENDPOINT] Données reçues : {req.dict()}")
|
||||
|
||||
resultat = sage.creer_article(req.dict())
|
||||
|
||||
logger.info(f"[ENDPOINT] Article créé : {resultat.get('reference')}")
|
||||
return {"success": True, "data": resultat}
|
||||
|
||||
except ValueError as e:
|
||||
logger.warning(f"Erreur métier création article: {e}")
|
||||
logger.warning(f"[ENDPOINT] Erreur métier création article: {e}")
|
||||
raise HTTPException(400, str(e))
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur technique création article: {e}")
|
||||
logger.error(
|
||||
f"[ENDPOINT] Erreur technique création article: {e}", exc_info=True
|
||||
)
|
||||
raise HTTPException(500, str(e))
|
||||
|
||||
|
||||
@app.post("/sage/articles/update", dependencies=[Depends(verify_token)])
|
||||
def modifier_article_endpoint(req: ArticleUpdate):
|
||||
try:
|
||||
logger.info(f"[ENDPOINT] Modification article : {req.reference}")
|
||||
logger.debug(f"[ENDPOINT] Champs à modifier : {list(req.article_data.keys())}")
|
||||
|
||||
resultat = sage.modifier_article(req.reference, req.article_data)
|
||||
|
||||
logger.info(f"[ENDPOINT] Article modifié : {req.reference}")
|
||||
return {"success": True, "data": resultat}
|
||||
|
||||
except ValueError as e:
|
||||
logger.warning(f"Erreur métier modification article: {e}")
|
||||
logger.warning(f"[ENDPOINT] Erreur métier modification article: {e}")
|
||||
raise HTTPException(404, str(e))
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Erreur technique modification article: {e}")
|
||||
logger.error(
|
||||
f"[ENDPOINT] Erreur technique modification article: {e}", exc_info=True
|
||||
)
|
||||
raise HTTPException(500, str(e))
|
||||
|
||||
|
||||
|
|
|
|||
1279
sage_connector.py
1279
sage_connector.py
File diff suppressed because it is too large
Load diff
|
|
@ -16,6 +16,12 @@ from .article_fields import (
|
|||
valider_donnees_creation,
|
||||
mapper_champ_api_vers_sage,
|
||||
CHAMPS_STOCK_INITIAL,
|
||||
CHAMPS_ASSIGNABLES_CREATION,
|
||||
CHAMPS_ASSIGNABLES_MODIFICATION,
|
||||
CHAMPS_OBJETS_SPECIAUX,
|
||||
valider_champ,
|
||||
valider_donnees_modification,
|
||||
obtenir_champs_assignables
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
|
|
@ -33,4 +39,10 @@ __all__ = [
|
|||
"valider_donnees_creation",
|
||||
"mapper_champ_api_vers_sage",
|
||||
"CHAMPS_STOCK_INITIAL",
|
||||
"CHAMPS_ASSIGNABLES_MODIFICATION",
|
||||
"CHAMPS_OBJETS_SPECIAUX",
|
||||
"CHAMPS_ASSIGNABLES_CREATION",
|
||||
"valider_champ",
|
||||
"valider_donnees_modification",
|
||||
"obtenir_champs_assignables"
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in a new issue