Simplified pydantic models' name
This commit is contained in:
parent
5e4231e115
commit
06c9fbb929
15 changed files with 133 additions and 133 deletions
|
|
@ -39,7 +39,7 @@ settings = Settings()
|
||||||
def validate_settings():
|
def validate_settings():
|
||||||
"""Validation au démarrage"""
|
"""Validation au démarrage"""
|
||||||
if not settings.chemin_base or not settings.mot_de_passe:
|
if not settings.chemin_base or not settings.mot_de_passe:
|
||||||
raise ValueError(" CHEMIN_BASE et MOT_DE_PASSE requis dans .env")
|
raise ValueError(" CHEMIN_BASE ou MOT_DE_PASSE requis dans .env")
|
||||||
if not settings.sage_gateway_token:
|
if not settings.sage_gateway_token:
|
||||||
raise ValueError(" SAGE_GATEWAY_TOKEN requis (doit être identique sur Linux)")
|
raise ValueError(" SAGE_GATEWAY_TOKEN requis (doit être identique sur Linux)")
|
||||||
return True
|
return True
|
||||||
|
|
|
||||||
108
main.py
108
main.py
|
|
@ -8,36 +8,36 @@ import win32com.client
|
||||||
from config import settings, validate_settings
|
from config import settings, validate_settings
|
||||||
from sage_connector import SageConnector
|
from sage_connector import SageConnector
|
||||||
from schemas import (
|
from schemas import (
|
||||||
TiersListRequest,
|
TiersList,
|
||||||
ContactCreateRequest,
|
ContactCreate,
|
||||||
ContactDeleteRequest,
|
ContactDelete,
|
||||||
ContactGetRequest,
|
ContactGet,
|
||||||
ContactListRequest,
|
ContactList,
|
||||||
ContactUpdateRequest,
|
ContactUpdate,
|
||||||
ClientCreateRequest,
|
ClientCreate,
|
||||||
ClientUpdateGatewayRequest,
|
ClientUpdate,
|
||||||
FiltreRequest,
|
FiltreRequest,
|
||||||
ChampLibreRequest,
|
ChampLibre,
|
||||||
CodeRequest,
|
CodeRequest,
|
||||||
DevisRequest,
|
DevisRequest,
|
||||||
DocumentGetRequest,
|
DocumentGet,
|
||||||
FournisseurCreateRequest,
|
FournisseurCreate,
|
||||||
FournisseurUpdateGatewayRequest,
|
FournisseurUpdate,
|
||||||
AvoirCreateGatewayRequest,
|
AvoirCreate,
|
||||||
AvoirUpdateGatewayRequest,
|
AvoirUpdate,
|
||||||
CommandeCreateRequest,
|
CommandeCreate,
|
||||||
CommandeUpdateGatewayRequest,
|
CommandeUpdate,
|
||||||
FactureCreateGatewayRequest,
|
FactureCreate,
|
||||||
FactureUpdateGatewayRequest,
|
FactureUpdate,
|
||||||
LivraisonCreateGatewayRequest,
|
LivraisonCreate,
|
||||||
LivraisonUpdateGatewayRequest,
|
LivraisonUpdate,
|
||||||
ArticleCreateRequest,
|
ArticleCreate,
|
||||||
ArticleUpdateGatewayRequest,
|
ArticleUpdate,
|
||||||
EntreeStockRequest,
|
EntreeStock,
|
||||||
SortieStockRequest,
|
SortieStock,
|
||||||
FamilleCreate,
|
FamilleCreate,
|
||||||
PDFGenerationRequest,
|
PDFGeneration,
|
||||||
DevisUpdateGatewayRequest,
|
DevisUpdate,
|
||||||
)
|
)
|
||||||
|
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
|
|
@ -58,7 +58,7 @@ def verify_token(x_sage_token: str = Header(...)):
|
||||||
|
|
||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="Sage Gateway - Windows Server",
|
title="Sage Gateway - Windows Server",
|
||||||
version="1.0.0",
|
version="4.0.0",
|
||||||
description="Passerelle d'accès à Sage 100c pour VPS Linux",
|
description="Passerelle d'accès à Sage 100c pour VPS Linux",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -126,7 +126,7 @@ def clients_list(req: FiltreRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/clients/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/clients/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_client_endpoint(req: ClientUpdateGatewayRequest):
|
def modifier_client_endpoint(req: ClientUpdate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_client(req.code, req.client_data)
|
resultat = sage.modifier_client(req.code, req.client_data)
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -155,7 +155,7 @@ def client_get(req: CodeRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/clients/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/clients/create", dependencies=[Depends(verify_token)])
|
||||||
def create_client_endpoint(req: ClientCreateRequest):
|
def create_client_endpoint(req: ClientCreate):
|
||||||
"""Création d'un client dans Sage"""
|
"""Création d'un client dans Sage"""
|
||||||
try:
|
try:
|
||||||
resultat = sage.creer_client(req.dict())
|
resultat = sage.creer_client(req.dict())
|
||||||
|
|
@ -288,7 +288,7 @@ def changer_statut_document(numero: str, type_doc: int, nouveau_statut: int):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/documents/get", dependencies=[Depends(verify_token)])
|
@app.post("/sage/documents/get", dependencies=[Depends(verify_token)])
|
||||||
def lire_document(req: DocumentGetRequest):
|
def lire_document(req: DocumentGet):
|
||||||
"""Lecture d'un document (commande, facture, etc.)"""
|
"""Lecture d'un document (commande, facture, etc.)"""
|
||||||
try:
|
try:
|
||||||
doc = sage.lire_document(req.numero, req.type_doc)
|
doc = sage.lire_document(req.numero, req.type_doc)
|
||||||
|
|
@ -351,7 +351,7 @@ def transformer_document(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/documents/champ-libre", dependencies=[Depends(verify_token)])
|
@app.post("/sage/documents/champ-libre", dependencies=[Depends(verify_token)])
|
||||||
def maj_champ_libre(req: ChampLibreRequest):
|
def maj_champ_libre(req: ChampLibre):
|
||||||
try:
|
try:
|
||||||
success = sage.mettre_a_jour_champ_libre(
|
success = sage.mettre_a_jour_champ_libre(
|
||||||
req.doc_id, req.type_doc, req.nom_champ, req.valeur
|
req.doc_id, req.type_doc, req.nom_champ, req.valeur
|
||||||
|
|
@ -520,7 +520,7 @@ def fournisseurs_list(req: FiltreRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/fournisseurs/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/fournisseurs/create", dependencies=[Depends(verify_token)])
|
||||||
def create_fournisseur_endpoint(req: FournisseurCreateRequest):
|
def create_fournisseur_endpoint(req: FournisseurCreate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.creer_fournisseur(req.dict())
|
resultat = sage.creer_fournisseur(req.dict())
|
||||||
|
|
||||||
|
|
@ -538,7 +538,7 @@ def create_fournisseur_endpoint(req: FournisseurCreateRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/fournisseurs/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/fournisseurs/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_fournisseur_endpoint(req: FournisseurUpdateGatewayRequest):
|
def modifier_fournisseur_endpoint(req: FournisseurUpdate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_fournisseur(req.code, req.fournisseur_data)
|
resultat = sage.modifier_fournisseur(req.code, req.fournisseur_data)
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -665,7 +665,7 @@ def livraison_get(req: CodeRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/devis/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/devis/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_devis_endpoint(req: DevisUpdateGatewayRequest):
|
def modifier_devis_endpoint(req: DevisUpdate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_devis(req.numero, req.devis_data)
|
resultat = sage.modifier_devis(req.numero, req.devis_data)
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -679,7 +679,7 @@ def modifier_devis_endpoint(req: DevisUpdateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/commandes/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/commandes/create", dependencies=[Depends(verify_token)])
|
||||||
def creer_commande_endpoint(req: CommandeCreateRequest):
|
def creer_commande_endpoint(req: CommandeCreate):
|
||||||
try:
|
try:
|
||||||
commande_data = {
|
commande_data = {
|
||||||
"client": {"code": req.client_id, "intitule": ""},
|
"client": {"code": req.client_id, "intitule": ""},
|
||||||
|
|
@ -701,7 +701,7 @@ def creer_commande_endpoint(req: CommandeCreateRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/commandes/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/commandes/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_commande_endpoint(req: CommandeUpdateGatewayRequest):
|
def modifier_commande_endpoint(req: CommandeUpdate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_commande(req.numero, req.commande_data)
|
resultat = sage.modifier_commande(req.numero, req.commande_data)
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -715,7 +715,7 @@ def modifier_commande_endpoint(req: CommandeUpdateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/livraisons/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/livraisons/create", dependencies=[Depends(verify_token)])
|
||||||
def creer_livraison_endpoint(req: LivraisonCreateGatewayRequest):
|
def creer_livraison_endpoint(req: LivraisonCreate):
|
||||||
try:
|
try:
|
||||||
client = sage.lire_client(req.client_id)
|
client = sage.lire_client(req.client_id)
|
||||||
if not client:
|
if not client:
|
||||||
|
|
@ -741,7 +741,7 @@ def creer_livraison_endpoint(req: LivraisonCreateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/livraisons/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/livraisons/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_livraison_endpoint(req: LivraisonUpdateGatewayRequest):
|
def modifier_livraison_endpoint(req: LivraisonUpdate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_livraison(req.numero, req.livraison_data)
|
resultat = sage.modifier_livraison(req.numero, req.livraison_data)
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -755,7 +755,7 @@ def modifier_livraison_endpoint(req: LivraisonUpdateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/avoirs/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/avoirs/create", dependencies=[Depends(verify_token)])
|
||||||
def creer_avoir_endpoint(req: AvoirCreateGatewayRequest):
|
def creer_avoir_endpoint(req: AvoirCreate):
|
||||||
try:
|
try:
|
||||||
client = sage.lire_client(req.client_id)
|
client = sage.lire_client(req.client_id)
|
||||||
if not client:
|
if not client:
|
||||||
|
|
@ -781,7 +781,7 @@ def creer_avoir_endpoint(req: AvoirCreateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/avoirs/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/avoirs/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_avoir_endpoint(req: AvoirUpdateGatewayRequest):
|
def modifier_avoir_endpoint(req: AvoirUpdate):
|
||||||
"""
|
"""
|
||||||
✏️ Modification d'un avoir dans Sage
|
✏️ Modification d'un avoir dans Sage
|
||||||
"""
|
"""
|
||||||
|
|
@ -798,7 +798,7 @@ def modifier_avoir_endpoint(req: AvoirUpdateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/factures/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/factures/create", dependencies=[Depends(verify_token)])
|
||||||
def creer_facture_endpoint(req: FactureCreateGatewayRequest):
|
def creer_facture_endpoint(req: FactureCreate):
|
||||||
try:
|
try:
|
||||||
client = sage.lire_client(req.client_id)
|
client = sage.lire_client(req.client_id)
|
||||||
if not client:
|
if not client:
|
||||||
|
|
@ -824,7 +824,7 @@ def creer_facture_endpoint(req: FactureCreateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/factures/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/factures/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_facture_endpoint(req: FactureUpdateGatewayRequest):
|
def modifier_facture_endpoint(req: FactureUpdate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_facture(req.numero, req.facture_data)
|
resultat = sage.modifier_facture(req.numero, req.facture_data)
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -838,7 +838,7 @@ def modifier_facture_endpoint(req: FactureUpdateGatewayRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/articles/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/articles/create", dependencies=[Depends(verify_token)])
|
||||||
def create_article_endpoint(req: ArticleCreateRequest):
|
def create_article_endpoint(req: ArticleCreate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.creer_article(req.dict())
|
resultat = sage.creer_article(req.dict())
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -853,7 +853,7 @@ def create_article_endpoint(req: ArticleCreateRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/articles/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/articles/update", dependencies=[Depends(verify_token)])
|
||||||
def modifier_article_endpoint(req: ArticleUpdateGatewayRequest):
|
def modifier_article_endpoint(req: ArticleUpdate):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_article(req.reference, req.article_data)
|
resultat = sage.modifier_article(req.reference, req.article_data)
|
||||||
return {"success": True, "data": resultat}
|
return {"success": True, "data": resultat}
|
||||||
|
|
@ -975,7 +975,7 @@ async def stats_familles():
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/documents/generate-pdf", dependencies=[Depends(verify_token)])
|
@app.post("/sage/documents/generate-pdf", dependencies=[Depends(verify_token)])
|
||||||
def generer_pdf_document(req: PDFGenerationRequest):
|
def generer_pdf_document(req: PDFGeneration):
|
||||||
try:
|
try:
|
||||||
logger.info(f" Génération PDF: {req.doc_id} (type={req.type_doc})")
|
logger.info(f" Génération PDF: {req.doc_id} (type={req.type_doc})")
|
||||||
|
|
||||||
|
|
@ -1152,7 +1152,7 @@ def lister_depots():
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/stock/entree", dependencies=[Depends(verify_token)])
|
@app.post("/sage/stock/entree", dependencies=[Depends(verify_token)])
|
||||||
def creer_entree_stock(req: EntreeStockRequest):
|
def creer_entree_stock(req: EntreeStock):
|
||||||
try:
|
try:
|
||||||
logger.info(
|
logger.info(
|
||||||
f"📦 [ENTREE STOCK] Création bon d'entrée : {len(req.lignes)} ligne(s)"
|
f"📦 [ENTREE STOCK] Création bon d'entrée : {len(req.lignes)} ligne(s)"
|
||||||
|
|
@ -1182,7 +1182,7 @@ def creer_entree_stock(req: EntreeStockRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/stock/sortie", dependencies=[Depends(verify_token)])
|
@app.post("/sage/stock/sortie", dependencies=[Depends(verify_token)])
|
||||||
def creer_sortie_stock(req: SortieStockRequest):
|
def creer_sortie_stock(req: SortieStock):
|
||||||
try:
|
try:
|
||||||
logger.info(
|
logger.info(
|
||||||
f"📤 [SORTIE STOCK] Création bon de sortie : {len(req.lignes)} ligne(s)"
|
f"📤 [SORTIE STOCK] Création bon de sortie : {len(req.lignes)} ligne(s)"
|
||||||
|
|
@ -1229,7 +1229,7 @@ def lire_mouvement_stock(numero: str):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/contacts/create", dependencies=[Depends(verify_token)])
|
@app.post("/sage/contacts/create", dependencies=[Depends(verify_token)])
|
||||||
def contacts_create(req: ContactCreateRequest):
|
def contacts_create(req: ContactCreate):
|
||||||
"""Crée un nouveau contact"""
|
"""Crée un nouveau contact"""
|
||||||
try:
|
try:
|
||||||
contact = sage.creer_contact(req.dict())
|
contact = sage.creer_contact(req.dict())
|
||||||
|
|
@ -1243,7 +1243,7 @@ def contacts_create(req: ContactCreateRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/contacts/list", dependencies=[Depends(verify_token)])
|
@app.post("/sage/contacts/list", dependencies=[Depends(verify_token)])
|
||||||
def contacts_list(req: ContactListRequest):
|
def contacts_list(req: ContactList):
|
||||||
"""Liste les contacts d'un client"""
|
"""Liste les contacts d'un client"""
|
||||||
try:
|
try:
|
||||||
contacts = sage.lister_contacts(req.numero)
|
contacts = sage.lister_contacts(req.numero)
|
||||||
|
|
@ -1254,7 +1254,7 @@ def contacts_list(req: ContactListRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/contacts/get", dependencies=[Depends(verify_token)])
|
@app.post("/sage/contacts/get", dependencies=[Depends(verify_token)])
|
||||||
def contacts_get(req: ContactGetRequest):
|
def contacts_get(req: ContactGet):
|
||||||
"""Récupère un contact spécifique"""
|
"""Récupère un contact spécifique"""
|
||||||
try:
|
try:
|
||||||
contact = sage.obtenir_contact(req.numero, req.contact_numero)
|
contact = sage.obtenir_contact(req.numero, req.contact_numero)
|
||||||
|
|
@ -1269,7 +1269,7 @@ def contacts_get(req: ContactGetRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/contacts/update", dependencies=[Depends(verify_token)])
|
@app.post("/sage/contacts/update", dependencies=[Depends(verify_token)])
|
||||||
def contacts_update(req: ContactUpdateRequest):
|
def contacts_update(req: ContactUpdate):
|
||||||
"""Modifie un contact existant"""
|
"""Modifie un contact existant"""
|
||||||
try:
|
try:
|
||||||
contact = sage.modifier_contact(req.numero, req.contact_numero, req.updates)
|
contact = sage.modifier_contact(req.numero, req.contact_numero, req.updates)
|
||||||
|
|
@ -1283,7 +1283,7 @@ def contacts_update(req: ContactUpdateRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/contacts/delete", dependencies=[Depends(verify_token)])
|
@app.post("/sage/contacts/delete", dependencies=[Depends(verify_token)])
|
||||||
def contacts_delete(req: ContactDeleteRequest):
|
def contacts_delete(req: ContactDelete):
|
||||||
"""Supprime un contact"""
|
"""Supprime un contact"""
|
||||||
try:
|
try:
|
||||||
result = sage.supprimer_contact(req.numero, req.contact_numero)
|
result = sage.supprimer_contact(req.numero, req.contact_numero)
|
||||||
|
|
@ -1294,7 +1294,7 @@ def contacts_delete(req: ContactDeleteRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/contacts/set-default", dependencies=[Depends(verify_token)])
|
@app.post("/sage/contacts/set-default", dependencies=[Depends(verify_token)])
|
||||||
def contacts_set_default(req: ContactGetRequest):
|
def contacts_set_default(req: ContactGet):
|
||||||
"""Définit un contact comme contact par défaut"""
|
"""Définit un contact comme contact par défaut"""
|
||||||
try:
|
try:
|
||||||
result = sage.definir_contact_defaut(req.numero, req.contact_numero)
|
result = sage.definir_contact_defaut(req.numero, req.contact_numero)
|
||||||
|
|
@ -1305,7 +1305,7 @@ def contacts_set_default(req: ContactGetRequest):
|
||||||
|
|
||||||
|
|
||||||
@app.post("/sage/tiers/list", dependencies=[Depends(verify_token)])
|
@app.post("/sage/tiers/list", dependencies=[Depends(verify_token)])
|
||||||
def tiers_list(req: TiersListRequest):
|
def tiers_list(req: TiersList):
|
||||||
"""Liste des tiers avec filtres optionnels"""
|
"""Liste des tiers avec filtres optionnels"""
|
||||||
try:
|
try:
|
||||||
tiers = sage.lister_tous_tiers(type_tiers=req.type_tiers, filtre=req.filtre)
|
tiers = sage.lister_tous_tiers(type_tiers=req.type_tiers, filtre=req.filtre)
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
from schemas.tiers.tiers import (
|
from schemas.tiers.tiers import (
|
||||||
TiersListRequest,
|
TiersList,
|
||||||
TypeTiers
|
TypeTiers
|
||||||
)
|
)
|
||||||
from schemas.tiers.contact import (
|
from schemas.tiers.contact import (
|
||||||
ContactCreateRequest,
|
ContactCreate,
|
||||||
ContactDeleteRequest,
|
ContactDelete,
|
||||||
ContactGetRequest,
|
ContactGet,
|
||||||
ContactListRequest,
|
ContactList,
|
||||||
ContactUpdateRequest,
|
ContactUpdate,
|
||||||
)
|
)
|
||||||
from schemas.tiers.clients import (
|
from schemas.tiers.clients import (
|
||||||
ClientCreateRequest,
|
ClientCreate,
|
||||||
ClientUpdateGatewayRequest
|
ClientUpdate
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.others.general_schema import (
|
from schemas.others.general_schema import (
|
||||||
FiltreRequest,
|
FiltreRequest,
|
||||||
ChampLibreRequest,
|
ChampLibre,
|
||||||
CodeRequest,
|
CodeRequest,
|
||||||
StatutRequest
|
StatutRequest
|
||||||
)
|
)
|
||||||
|
|
@ -24,84 +24,84 @@ from schemas.others.general_schema import (
|
||||||
from schemas.documents.documents import (
|
from schemas.documents.documents import (
|
||||||
TransformationRequest,
|
TransformationRequest,
|
||||||
TypeDocument,
|
TypeDocument,
|
||||||
DocumentGetRequest,
|
DocumentGet,
|
||||||
PDFGenerationRequest
|
PDFGeneration
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.documents.devis import (
|
from schemas.documents.devis import (
|
||||||
DevisRequest,
|
DevisRequest,
|
||||||
DevisUpdateGatewayRequest
|
DevisUpdate
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.tiers.fournisseurs import (
|
from schemas.tiers.fournisseurs import (
|
||||||
FournisseurCreateRequest,
|
FournisseurCreate,
|
||||||
FournisseurUpdateGatewayRequest
|
FournisseurUpdate
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.documents.avoirs import (
|
from schemas.documents.avoirs import (
|
||||||
AvoirCreateGatewayRequest,
|
AvoirCreate,
|
||||||
AvoirUpdateGatewayRequest
|
AvoirUpdate
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.documents.commandes import (
|
from schemas.documents.commandes import (
|
||||||
CommandeCreateRequest,
|
CommandeCreate,
|
||||||
CommandeUpdateGatewayRequest
|
CommandeUpdate
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.documents.factures import (
|
from schemas.documents.factures import (
|
||||||
FactureCreateGatewayRequest,
|
FactureCreate,
|
||||||
FactureUpdateGatewayRequest
|
FactureUpdate
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.documents.livraisons import (
|
from schemas.documents.livraisons import (
|
||||||
LivraisonCreateGatewayRequest,
|
LivraisonCreate,
|
||||||
LivraisonUpdateGatewayRequest
|
LivraisonUpdate
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.articles.articles import (
|
from schemas.articles.articles import (
|
||||||
ArticleCreateRequest,
|
ArticleCreate,
|
||||||
ArticleUpdateGatewayRequest,
|
ArticleUpdate,
|
||||||
MouvementStockLigneRequest,
|
MouvementStockLigneRequest,
|
||||||
EntreeStockRequest,
|
EntreeStock,
|
||||||
SortieStockRequest
|
SortieStock
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.articles.famille_d_articles import FamilleCreate
|
from schemas.articles.famille_d_articles import FamilleCreate
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"TiersListRequest",
|
"TiersList",
|
||||||
"ContactCreateRequest",
|
"ContactCreate",
|
||||||
"ContactDeleteRequest",
|
"ContactDelete",
|
||||||
"ContactGetRequest",
|
"ContactGet",
|
||||||
"ContactListRequest",
|
"ContactList",
|
||||||
"ContactUpdateRequest",
|
"ContactUpdate",
|
||||||
"ClientCreateRequest",
|
"ClientCreate",
|
||||||
"ClientUpdateGatewayRequest",
|
"ClientUpdate",
|
||||||
"FiltreRequest",
|
"FiltreRequest",
|
||||||
"ChampLibreRequest",
|
"ChampLibre",
|
||||||
"CodeRequest",
|
"CodeRequest",
|
||||||
"TransformationRequest",
|
"TransformationRequest",
|
||||||
"TypeDocument",
|
"TypeDocument",
|
||||||
"DevisRequest",
|
"DevisRequest",
|
||||||
"DocumentGetRequest",
|
"DocumentGet",
|
||||||
"StatutRequest",
|
"StatutRequest",
|
||||||
"TypeTiers",
|
"TypeTiers",
|
||||||
"DevisUpdateGatewayRequest",
|
"DevisUpdate",
|
||||||
"FournisseurCreateRequest",
|
"FournisseurCreate",
|
||||||
"FournisseurUpdateGatewayRequest",
|
"FournisseurUpdate",
|
||||||
"AvoirCreateGatewayRequest",
|
"AvoirCreate",
|
||||||
"AvoirUpdateGatewayRequest",
|
"AvoirUpdate",
|
||||||
"CommandeCreateRequest",
|
"CommandeCreate",
|
||||||
"CommandeUpdateGatewayRequest",
|
"CommandeUpdate",
|
||||||
"FactureCreateGatewayRequest",
|
"FactureCreate",
|
||||||
"FactureUpdateGatewayRequest",
|
"FactureUpdate",
|
||||||
"LivraisonCreateGatewayRequest",
|
"LivraisonCreate",
|
||||||
"LivraisonUpdateGatewayRequest",
|
"LivraisonUpdate",
|
||||||
"ArticleCreateRequest",
|
"ArticleCreate",
|
||||||
"ArticleUpdateGatewayRequest",
|
"ArticleUpdate",
|
||||||
"MouvementStockLigneRequest",
|
"MouvementStockLigneRequest",
|
||||||
"EntreeStockRequest",
|
"EntreeStock",
|
||||||
"SortieStockRequest",
|
"SortieStock",
|
||||||
"FamilleCreate",
|
"FamilleCreate",
|
||||||
"PDFGenerationRequest"
|
"PDFGeneration"
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from typing import Optional, List, Dict
|
||||||
from enum import Enum, IntEnum
|
from enum import Enum, IntEnum
|
||||||
from datetime import datetime, date
|
from datetime import datetime, date
|
||||||
|
|
||||||
class ArticleCreateRequest(BaseModel):
|
class ArticleCreate(BaseModel):
|
||||||
reference: str = Field(..., description="Référence article (max 18 car)")
|
reference: str = Field(..., description="Référence article (max 18 car)")
|
||||||
designation: str = Field(..., description="Désignation (max 69 car)")
|
designation: str = Field(..., description="Désignation (max 69 car)")
|
||||||
famille: Optional[str] = Field(None, description="Code famille")
|
famille: Optional[str] = Field(None, description="Code famille")
|
||||||
|
|
@ -18,7 +18,7 @@ class ArticleCreateRequest(BaseModel):
|
||||||
description: Optional[str] = Field(None, description="Description/Commentaire")
|
description: Optional[str] = Field(None, description="Description/Commentaire")
|
||||||
|
|
||||||
|
|
||||||
class ArticleUpdateGatewayRequest(BaseModel):
|
class ArticleUpdate(BaseModel):
|
||||||
"""Modèle pour modification article côté gateway"""
|
"""Modèle pour modification article côté gateway"""
|
||||||
|
|
||||||
reference: str
|
reference: str
|
||||||
|
|
@ -79,7 +79,7 @@ class MouvementStockLigneRequest(BaseModel):
|
||||||
return v
|
return v
|
||||||
|
|
||||||
|
|
||||||
class EntreeStockRequest(BaseModel):
|
class EntreeStock(BaseModel):
|
||||||
"""Création d'un bon d'entrée en stock"""
|
"""Création d'un bon d'entrée en stock"""
|
||||||
|
|
||||||
date_entree: Optional[date] = Field(
|
date_entree: Optional[date] = Field(
|
||||||
|
|
@ -95,7 +95,7 @@ class EntreeStockRequest(BaseModel):
|
||||||
commentaire: Optional[str] = Field(None, description="Commentaire général")
|
commentaire: Optional[str] = Field(None, description="Commentaire général")
|
||||||
|
|
||||||
|
|
||||||
class SortieStockRequest(BaseModel):
|
class SortieStock(BaseModel):
|
||||||
"""Création d'un bon de sortie de stock"""
|
"""Création d'un bon de sortie de stock"""
|
||||||
|
|
||||||
date_sortie: Optional[date] = Field(
|
date_sortie: Optional[date] = Field(
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
|
|
||||||
class AvoirCreateGatewayRequest(BaseModel):
|
class AvoirCreate(BaseModel):
|
||||||
"""Création d'un avoir côté gateway"""
|
"""Création d'un avoir côté gateway"""
|
||||||
|
|
||||||
client_id: str
|
client_id: str
|
||||||
|
|
@ -13,7 +13,7 @@ class AvoirCreateGatewayRequest(BaseModel):
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class AvoirUpdateGatewayRequest(BaseModel):
|
class AvoirUpdate(BaseModel):
|
||||||
"""Modèle pour modification avoir côté gateway"""
|
"""Modèle pour modification avoir côté gateway"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
|
|
||||||
class CommandeCreateRequest(BaseModel):
|
class CommandeCreate(BaseModel):
|
||||||
"""Création d'une commande"""
|
"""Création d'une commande"""
|
||||||
|
|
||||||
client_id: str
|
client_id: str
|
||||||
|
|
@ -13,7 +13,7 @@ class CommandeCreateRequest(BaseModel):
|
||||||
lignes: List[Dict]
|
lignes: List[Dict]
|
||||||
|
|
||||||
|
|
||||||
class CommandeUpdateGatewayRequest(BaseModel):
|
class CommandeUpdate(BaseModel):
|
||||||
"""Modèle pour modification commande côté gateway"""
|
"""Modèle pour modification commande côté gateway"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ class DevisRequest(BaseModel):
|
||||||
lignes: List[Dict]
|
lignes: List[Dict]
|
||||||
|
|
||||||
|
|
||||||
class DevisUpdateGatewayRequest(BaseModel):
|
class DevisUpdate(BaseModel):
|
||||||
"""Modèle pour modification devis côté gateway"""
|
"""Modèle pour modification devis côté gateway"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ class TypeDocument(int, Enum):
|
||||||
FACTURE = 5
|
FACTURE = 5
|
||||||
|
|
||||||
|
|
||||||
class DocumentGetRequest(BaseModel):
|
class DocumentGet(BaseModel):
|
||||||
numero: str
|
numero: str
|
||||||
type_doc: int
|
type_doc: int
|
||||||
|
|
||||||
|
|
@ -22,7 +22,7 @@ class TransformationRequest(BaseModel):
|
||||||
type_cible: int
|
type_cible: int
|
||||||
|
|
||||||
|
|
||||||
class PDFGenerationRequest(BaseModel):
|
class PDFGeneration(BaseModel):
|
||||||
"""Modèle pour génération PDF"""
|
"""Modèle pour génération PDF"""
|
||||||
|
|
||||||
doc_id: str = Field(..., description="Numéro du document")
|
doc_id: str = Field(..., description="Numéro du document")
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
|
|
||||||
class FactureCreateGatewayRequest(BaseModel):
|
class FactureCreate(BaseModel):
|
||||||
"""Création d'une facture côté gateway"""
|
"""Création d'une facture côté gateway"""
|
||||||
|
|
||||||
client_id: str
|
client_id: str
|
||||||
|
|
@ -13,7 +13,7 @@ class FactureCreateGatewayRequest(BaseModel):
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class FactureUpdateGatewayRequest(BaseModel):
|
class FactureUpdate(BaseModel):
|
||||||
"""Modèle pour modification facture côté gateway"""
|
"""Modèle pour modification facture côté gateway"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
|
|
||||||
class LivraisonCreateGatewayRequest(BaseModel):
|
class LivraisonCreate(BaseModel):
|
||||||
"""Création d'une livraison côté gateway"""
|
"""Création d'une livraison côté gateway"""
|
||||||
|
|
||||||
client_id: str
|
client_id: str
|
||||||
|
|
@ -13,7 +13,7 @@ class LivraisonCreateGatewayRequest(BaseModel):
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class LivraisonUpdateGatewayRequest(BaseModel):
|
class LivraisonUpdate(BaseModel):
|
||||||
"""Modèle pour modification livraison côté gateway"""
|
"""Modèle pour modification livraison côté gateway"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ class CodeRequest(BaseModel):
|
||||||
code: str
|
code: str
|
||||||
|
|
||||||
|
|
||||||
class ChampLibreRequest(BaseModel):
|
class ChampLibre(BaseModel):
|
||||||
doc_id: str
|
doc_id: str
|
||||||
type_doc: int
|
type_doc: int
|
||||||
nom_champ: str
|
nom_champ: str
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from pydantic import BaseModel, Field, field_validator
|
||||||
from typing import Optional, Dict
|
from typing import Optional, Dict
|
||||||
|
|
||||||
|
|
||||||
class ClientCreateRequest(BaseModel):
|
class ClientCreate(BaseModel):
|
||||||
intitule: str = Field(
|
intitule: str = Field(
|
||||||
..., max_length=69, description="Nom du client (CT_Intitule) - OBLIGATOIRE"
|
..., max_length=69, description="Nom du client (CT_Intitule) - OBLIGATOIRE"
|
||||||
)
|
)
|
||||||
|
|
@ -404,7 +404,7 @@ class ClientCreateRequest(BaseModel):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class ClientUpdateGatewayRequest(BaseModel):
|
class ClientUpdate(BaseModel):
|
||||||
"""Modèle pour modification client côté gateway"""
|
"""Modèle pour modification client côté gateway"""
|
||||||
|
|
||||||
code: str
|
code: str
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from pydantic import BaseModel
|
||||||
from typing import Optional, Dict
|
from typing import Optional, Dict
|
||||||
|
|
||||||
|
|
||||||
class ContactCreateRequest(BaseModel):
|
class ContactCreate(BaseModel):
|
||||||
"""Requête de création de contact"""
|
"""Requête de création de contact"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
@ -20,20 +20,20 @@ class ContactCreateRequest(BaseModel):
|
||||||
skype: Optional[str] = None
|
skype: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class ContactListRequest(BaseModel):
|
class ContactList(BaseModel):
|
||||||
"""Requête de liste des contacts"""
|
"""Requête de liste des contacts"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
||||||
|
|
||||||
class ContactGetRequest(BaseModel):
|
class ContactGet(BaseModel):
|
||||||
"""Requête de récupération d'un contact"""
|
"""Requête de récupération d'un contact"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
contact_numero: int
|
contact_numero: int
|
||||||
|
|
||||||
|
|
||||||
class ContactUpdateRequest(BaseModel):
|
class ContactUpdate(BaseModel):
|
||||||
"""Requête de modification d'un contact"""
|
"""Requête de modification d'un contact"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
@ -41,7 +41,7 @@ class ContactUpdateRequest(BaseModel):
|
||||||
updates: Dict
|
updates: Dict
|
||||||
|
|
||||||
|
|
||||||
class ContactDeleteRequest(BaseModel):
|
class ContactDelete(BaseModel):
|
||||||
"""Requête de suppression d'un contact"""
|
"""Requête de suppression d'un contact"""
|
||||||
|
|
||||||
numero: str
|
numero: str
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from pydantic import BaseModel, Field
|
||||||
from typing import Optional, Dict
|
from typing import Optional, Dict
|
||||||
|
|
||||||
|
|
||||||
class FournisseurCreateRequest(BaseModel):
|
class FournisseurCreate(BaseModel):
|
||||||
intitule: str = Field(..., description="Raison sociale du fournisseur")
|
intitule: str = Field(..., description="Raison sociale du fournisseur")
|
||||||
compte_collectif: str = Field("401000", description="Compte général rattaché")
|
compte_collectif: str = Field("401000", description="Compte général rattaché")
|
||||||
num: Optional[str] = Field(None, description="Code fournisseur (auto si vide)")
|
num: Optional[str] = Field(None, description="Code fournisseur (auto si vide)")
|
||||||
|
|
@ -16,7 +16,7 @@ class FournisseurCreateRequest(BaseModel):
|
||||||
tva_intra: Optional[str] = None
|
tva_intra: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class FournisseurUpdateGatewayRequest(BaseModel):
|
class FournisseurUpdate(BaseModel):
|
||||||
"""Modèle pour modification fournisseur côté gateway"""
|
"""Modèle pour modification fournisseur côté gateway"""
|
||||||
|
|
||||||
code: str
|
code: str
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ from typing import Optional
|
||||||
from enum import IntEnum
|
from enum import IntEnum
|
||||||
|
|
||||||
|
|
||||||
class TiersListRequest(BaseModel):
|
class TiersList(BaseModel):
|
||||||
"""Requête de listage des tiers"""
|
"""Requête de listage des tiers"""
|
||||||
|
|
||||||
type_tiers: Optional[str] = Field(
|
type_tiers: Optional[str] = Field(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue