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)])
|
@app.post("/sage/articles/create", dependencies=[Depends(verify_token)])
|
||||||
def create_article_endpoint(req: ArticleCreate):
|
def create_article_endpoint(req: ArticleCreate):
|
||||||
try:
|
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())
|
resultat = sage.creer_article(req.dict())
|
||||||
|
|
||||||
|
logger.info(f"[ENDPOINT] Article créé : {resultat.get('reference')}")
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
||||||
except ValueError as e:
|
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))
|
raise HTTPException(400, str(e))
|
||||||
|
|
||||||
except Exception as 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))
|
raise HTTPException(500, str(e))
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/articles/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/articles/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_article_endpoint(req: ArticleUpdate):
|
def modifier_article_endpoint(req: ArticleUpdate):
|
||||||
try:
|
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)
|
resultat = sage.modifier_article(req.reference, req.article_data)
|
||||||
|
|
||||||
|
logger.info(f"[ENDPOINT] Article modifié : {req.reference}")
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
||||||
except ValueError as e:
|
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))
|
raise HTTPException(404, str(e))
|
||||||
|
|
||||||
except Exception as 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))
|
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,
|
valider_donnees_creation,
|
||||||
mapper_champ_api_vers_sage,
|
mapper_champ_api_vers_sage,
|
||||||
CHAMPS_STOCK_INITIAL,
|
CHAMPS_STOCK_INITIAL,
|
||||||
|
CHAMPS_ASSIGNABLES_CREATION,
|
||||||
|
CHAMPS_ASSIGNABLES_MODIFICATION,
|
||||||
|
CHAMPS_OBJETS_SPECIAUX,
|
||||||
|
valider_champ,
|
||||||
|
valider_donnees_modification,
|
||||||
|
obtenir_champs_assignables
|
||||||
)
|
)
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
|
@ -33,4 +39,10 @@ __all__ = [
|
||||||
"valider_donnees_creation",
|
"valider_donnees_creation",
|
||||||
"mapper_champ_api_vers_sage",
|
"mapper_champ_api_vers_sage",
|
||||||
"CHAMPS_STOCK_INITIAL",
|
"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