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():
|
||||
"""Validation au démarrage"""
|
||||
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:
|
||||
raise ValueError(" SAGE_GATEWAY_TOKEN requis (doit être identique sur Linux)")
|
||||
return True
|
||||
|
|
|
|||
108
main.py
108
main.py
|
|
@ -8,36 +8,36 @@ import win32com.client
|
|||
from config import settings, validate_settings
|
||||
from sage_connector import SageConnector
|
||||
from schemas import (
|
||||
TiersListRequest,
|
||||
ContactCreateRequest,
|
||||
ContactDeleteRequest,
|
||||
ContactGetRequest,
|
||||
ContactListRequest,
|
||||
ContactUpdateRequest,
|
||||
ClientCreateRequest,
|
||||
ClientUpdateGatewayRequest,
|
||||
TiersList,
|
||||
ContactCreate,
|
||||
ContactDelete,
|
||||
ContactGet,
|
||||
ContactList,
|
||||
ContactUpdate,
|
||||
ClientCreate,
|
||||
ClientUpdate,
|
||||
FiltreRequest,
|
||||
ChampLibreRequest,
|
||||
ChampLibre,
|
||||
CodeRequest,
|
||||
DevisRequest,
|
||||
DocumentGetRequest,
|
||||
FournisseurCreateRequest,
|
||||
FournisseurUpdateGatewayRequest,
|
||||
AvoirCreateGatewayRequest,
|
||||
AvoirUpdateGatewayRequest,
|
||||
CommandeCreateRequest,
|
||||
CommandeUpdateGatewayRequest,
|
||||
FactureCreateGatewayRequest,
|
||||
FactureUpdateGatewayRequest,
|
||||
LivraisonCreateGatewayRequest,
|
||||
LivraisonUpdateGatewayRequest,
|
||||
ArticleCreateRequest,
|
||||
ArticleUpdateGatewayRequest,
|
||||
EntreeStockRequest,
|
||||
SortieStockRequest,
|
||||
DocumentGet,
|
||||
FournisseurCreate,
|
||||
FournisseurUpdate,
|
||||
AvoirCreate,
|
||||
AvoirUpdate,
|
||||
CommandeCreate,
|
||||
CommandeUpdate,
|
||||
FactureCreate,
|
||||
FactureUpdate,
|
||||
LivraisonCreate,
|
||||
LivraisonUpdate,
|
||||
ArticleCreate,
|
||||
ArticleUpdate,
|
||||
EntreeStock,
|
||||
SortieStock,
|
||||
FamilleCreate,
|
||||
PDFGenerationRequest,
|
||||
DevisUpdateGatewayRequest,
|
||||
PDFGeneration,
|
||||
DevisUpdate,
|
||||
)
|
||||
|
||||
logging.basicConfig(
|
||||
|
|
@ -58,7 +58,7 @@ def verify_token(x_sage_token: str = Header(...)):
|
|||
|
||||
app = FastAPI(
|
||||
title="Sage Gateway - Windows Server",
|
||||
version="1.0.0",
|
||||
version="4.0.0",
|
||||
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)])
|
||||
def modifier_client_endpoint(req: ClientUpdateGatewayRequest):
|
||||
def modifier_client_endpoint(req: ClientUpdate):
|
||||
try:
|
||||
resultat = sage.modifier_client(req.code, req.client_data)
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -155,7 +155,7 @@ def client_get(req: CodeRequest):
|
|||
|
||||
|
||||
@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"""
|
||||
try:
|
||||
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)])
|
||||
def lire_document(req: DocumentGetRequest):
|
||||
def lire_document(req: DocumentGet):
|
||||
"""Lecture d'un document (commande, facture, etc.)"""
|
||||
try:
|
||||
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)])
|
||||
def maj_champ_libre(req: ChampLibreRequest):
|
||||
def maj_champ_libre(req: ChampLibre):
|
||||
try:
|
||||
success = sage.mettre_a_jour_champ_libre(
|
||||
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)])
|
||||
def create_fournisseur_endpoint(req: FournisseurCreateRequest):
|
||||
def create_fournisseur_endpoint(req: FournisseurCreate):
|
||||
try:
|
||||
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)])
|
||||
def modifier_fournisseur_endpoint(req: FournisseurUpdateGatewayRequest):
|
||||
def modifier_fournisseur_endpoint(req: FournisseurUpdate):
|
||||
try:
|
||||
resultat = sage.modifier_fournisseur(req.code, req.fournisseur_data)
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -665,7 +665,7 @@ def livraison_get(req: CodeRequest):
|
|||
|
||||
|
||||
@app.post("/sage/devis/update", dependencies=[Depends(verify_token)])
|
||||
def modifier_devis_endpoint(req: DevisUpdateGatewayRequest):
|
||||
def modifier_devis_endpoint(req: DevisUpdate):
|
||||
try:
|
||||
resultat = sage.modifier_devis(req.numero, req.devis_data)
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -679,7 +679,7 @@ def modifier_devis_endpoint(req: DevisUpdateGatewayRequest):
|
|||
|
||||
|
||||
@app.post("/sage/commandes/create", dependencies=[Depends(verify_token)])
|
||||
def creer_commande_endpoint(req: CommandeCreateRequest):
|
||||
def creer_commande_endpoint(req: CommandeCreate):
|
||||
try:
|
||||
commande_data = {
|
||||
"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)])
|
||||
def modifier_commande_endpoint(req: CommandeUpdateGatewayRequest):
|
||||
def modifier_commande_endpoint(req: CommandeUpdate):
|
||||
try:
|
||||
resultat = sage.modifier_commande(req.numero, req.commande_data)
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -715,7 +715,7 @@ def modifier_commande_endpoint(req: CommandeUpdateGatewayRequest):
|
|||
|
||||
|
||||
@app.post("/sage/livraisons/create", dependencies=[Depends(verify_token)])
|
||||
def creer_livraison_endpoint(req: LivraisonCreateGatewayRequest):
|
||||
def creer_livraison_endpoint(req: LivraisonCreate):
|
||||
try:
|
||||
client = sage.lire_client(req.client_id)
|
||||
if not client:
|
||||
|
|
@ -741,7 +741,7 @@ def creer_livraison_endpoint(req: LivraisonCreateGatewayRequest):
|
|||
|
||||
|
||||
@app.post("/sage/livraisons/update", dependencies=[Depends(verify_token)])
|
||||
def modifier_livraison_endpoint(req: LivraisonUpdateGatewayRequest):
|
||||
def modifier_livraison_endpoint(req: LivraisonUpdate):
|
||||
try:
|
||||
resultat = sage.modifier_livraison(req.numero, req.livraison_data)
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -755,7 +755,7 @@ def modifier_livraison_endpoint(req: LivraisonUpdateGatewayRequest):
|
|||
|
||||
|
||||
@app.post("/sage/avoirs/create", dependencies=[Depends(verify_token)])
|
||||
def creer_avoir_endpoint(req: AvoirCreateGatewayRequest):
|
||||
def creer_avoir_endpoint(req: AvoirCreate):
|
||||
try:
|
||||
client = sage.lire_client(req.client_id)
|
||||
if not client:
|
||||
|
|
@ -781,7 +781,7 @@ def creer_avoir_endpoint(req: AvoirCreateGatewayRequest):
|
|||
|
||||
|
||||
@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
|
||||
"""
|
||||
|
|
@ -798,7 +798,7 @@ def modifier_avoir_endpoint(req: AvoirUpdateGatewayRequest):
|
|||
|
||||
|
||||
@app.post("/sage/factures/create", dependencies=[Depends(verify_token)])
|
||||
def creer_facture_endpoint(req: FactureCreateGatewayRequest):
|
||||
def creer_facture_endpoint(req: FactureCreate):
|
||||
try:
|
||||
client = sage.lire_client(req.client_id)
|
||||
if not client:
|
||||
|
|
@ -824,7 +824,7 @@ def creer_facture_endpoint(req: FactureCreateGatewayRequest):
|
|||
|
||||
|
||||
@app.post("/sage/factures/update", dependencies=[Depends(verify_token)])
|
||||
def modifier_facture_endpoint(req: FactureUpdateGatewayRequest):
|
||||
def modifier_facture_endpoint(req: FactureUpdate):
|
||||
try:
|
||||
resultat = sage.modifier_facture(req.numero, req.facture_data)
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -838,7 +838,7 @@ def modifier_facture_endpoint(req: FactureUpdateGatewayRequest):
|
|||
|
||||
|
||||
@app.post("/sage/articles/create", dependencies=[Depends(verify_token)])
|
||||
def create_article_endpoint(req: ArticleCreateRequest):
|
||||
def create_article_endpoint(req: ArticleCreate):
|
||||
try:
|
||||
resultat = sage.creer_article(req.dict())
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -853,7 +853,7 @@ def create_article_endpoint(req: ArticleCreateRequest):
|
|||
|
||||
|
||||
@app.post("/sage/articles/update", dependencies=[Depends(verify_token)])
|
||||
def modifier_article_endpoint(req: ArticleUpdateGatewayRequest):
|
||||
def modifier_article_endpoint(req: ArticleUpdate):
|
||||
try:
|
||||
resultat = sage.modifier_article(req.reference, req.article_data)
|
||||
return {"success": True, "data": resultat}
|
||||
|
|
@ -975,7 +975,7 @@ async def stats_familles():
|
|||
|
||||
|
||||
@app.post("/sage/documents/generate-pdf", dependencies=[Depends(verify_token)])
|
||||
def generer_pdf_document(req: PDFGenerationRequest):
|
||||
def generer_pdf_document(req: PDFGeneration):
|
||||
try:
|
||||
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)])
|
||||
def creer_entree_stock(req: EntreeStockRequest):
|
||||
def creer_entree_stock(req: EntreeStock):
|
||||
try:
|
||||
logger.info(
|
||||
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)])
|
||||
def creer_sortie_stock(req: SortieStockRequest):
|
||||
def creer_sortie_stock(req: SortieStock):
|
||||
try:
|
||||
logger.info(
|
||||
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)])
|
||||
def contacts_create(req: ContactCreateRequest):
|
||||
def contacts_create(req: ContactCreate):
|
||||
"""Crée un nouveau contact"""
|
||||
try:
|
||||
contact = sage.creer_contact(req.dict())
|
||||
|
|
@ -1243,7 +1243,7 @@ def contacts_create(req: ContactCreateRequest):
|
|||
|
||||
|
||||
@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"""
|
||||
try:
|
||||
contacts = sage.lister_contacts(req.numero)
|
||||
|
|
@ -1254,7 +1254,7 @@ def contacts_list(req: ContactListRequest):
|
|||
|
||||
|
||||
@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"""
|
||||
try:
|
||||
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)])
|
||||
def contacts_update(req: ContactUpdateRequest):
|
||||
def contacts_update(req: ContactUpdate):
|
||||
"""Modifie un contact existant"""
|
||||
try:
|
||||
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)])
|
||||
def contacts_delete(req: ContactDeleteRequest):
|
||||
def contacts_delete(req: ContactDelete):
|
||||
"""Supprime un contact"""
|
||||
try:
|
||||
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)])
|
||||
def contacts_set_default(req: ContactGetRequest):
|
||||
def contacts_set_default(req: ContactGet):
|
||||
"""Définit un contact comme contact par défaut"""
|
||||
try:
|
||||
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)])
|
||||
def tiers_list(req: TiersListRequest):
|
||||
def tiers_list(req: TiersList):
|
||||
"""Liste des tiers avec filtres optionnels"""
|
||||
try:
|
||||
tiers = sage.lister_tous_tiers(type_tiers=req.type_tiers, filtre=req.filtre)
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
from schemas.tiers.tiers import (
|
||||
TiersListRequest,
|
||||
TiersList,
|
||||
TypeTiers
|
||||
)
|
||||
from schemas.tiers.contact import (
|
||||
ContactCreateRequest,
|
||||
ContactDeleteRequest,
|
||||
ContactGetRequest,
|
||||
ContactListRequest,
|
||||
ContactUpdateRequest,
|
||||
ContactCreate,
|
||||
ContactDelete,
|
||||
ContactGet,
|
||||
ContactList,
|
||||
ContactUpdate,
|
||||
)
|
||||
from schemas.tiers.clients import (
|
||||
ClientCreateRequest,
|
||||
ClientUpdateGatewayRequest
|
||||
ClientCreate,
|
||||
ClientUpdate
|
||||
)
|
||||
|
||||
from schemas.others.general_schema import (
|
||||
FiltreRequest,
|
||||
ChampLibreRequest,
|
||||
ChampLibre,
|
||||
CodeRequest,
|
||||
StatutRequest
|
||||
)
|
||||
|
|
@ -24,84 +24,84 @@ from schemas.others.general_schema import (
|
|||
from schemas.documents.documents import (
|
||||
TransformationRequest,
|
||||
TypeDocument,
|
||||
DocumentGetRequest,
|
||||
PDFGenerationRequest
|
||||
DocumentGet,
|
||||
PDFGeneration
|
||||
)
|
||||
|
||||
from schemas.documents.devis import (
|
||||
DevisRequest,
|
||||
DevisUpdateGatewayRequest
|
||||
DevisUpdate
|
||||
)
|
||||
|
||||
from schemas.tiers.fournisseurs import (
|
||||
FournisseurCreateRequest,
|
||||
FournisseurUpdateGatewayRequest
|
||||
FournisseurCreate,
|
||||
FournisseurUpdate
|
||||
)
|
||||
|
||||
from schemas.documents.avoirs import (
|
||||
AvoirCreateGatewayRequest,
|
||||
AvoirUpdateGatewayRequest
|
||||
AvoirCreate,
|
||||
AvoirUpdate
|
||||
)
|
||||
|
||||
from schemas.documents.commandes import (
|
||||
CommandeCreateRequest,
|
||||
CommandeUpdateGatewayRequest
|
||||
CommandeCreate,
|
||||
CommandeUpdate
|
||||
)
|
||||
|
||||
from schemas.documents.factures import (
|
||||
FactureCreateGatewayRequest,
|
||||
FactureUpdateGatewayRequest
|
||||
FactureCreate,
|
||||
FactureUpdate
|
||||
)
|
||||
|
||||
from schemas.documents.livraisons import (
|
||||
LivraisonCreateGatewayRequest,
|
||||
LivraisonUpdateGatewayRequest
|
||||
LivraisonCreate,
|
||||
LivraisonUpdate
|
||||
)
|
||||
|
||||
from schemas.articles.articles import (
|
||||
ArticleCreateRequest,
|
||||
ArticleUpdateGatewayRequest,
|
||||
ArticleCreate,
|
||||
ArticleUpdate,
|
||||
MouvementStockLigneRequest,
|
||||
EntreeStockRequest,
|
||||
SortieStockRequest
|
||||
EntreeStock,
|
||||
SortieStock
|
||||
)
|
||||
|
||||
from schemas.articles.famille_d_articles import FamilleCreate
|
||||
|
||||
__all__ = [
|
||||
"TiersListRequest",
|
||||
"ContactCreateRequest",
|
||||
"ContactDeleteRequest",
|
||||
"ContactGetRequest",
|
||||
"ContactListRequest",
|
||||
"ContactUpdateRequest",
|
||||
"ClientCreateRequest",
|
||||
"ClientUpdateGatewayRequest",
|
||||
"TiersList",
|
||||
"ContactCreate",
|
||||
"ContactDelete",
|
||||
"ContactGet",
|
||||
"ContactList",
|
||||
"ContactUpdate",
|
||||
"ClientCreate",
|
||||
"ClientUpdate",
|
||||
"FiltreRequest",
|
||||
"ChampLibreRequest",
|
||||
"ChampLibre",
|
||||
"CodeRequest",
|
||||
"TransformationRequest",
|
||||
"TypeDocument",
|
||||
"DevisRequest",
|
||||
"DocumentGetRequest",
|
||||
"DocumentGet",
|
||||
"StatutRequest",
|
||||
"TypeTiers",
|
||||
"DevisUpdateGatewayRequest",
|
||||
"FournisseurCreateRequest",
|
||||
"FournisseurUpdateGatewayRequest",
|
||||
"AvoirCreateGatewayRequest",
|
||||
"AvoirUpdateGatewayRequest",
|
||||
"CommandeCreateRequest",
|
||||
"CommandeUpdateGatewayRequest",
|
||||
"FactureCreateGatewayRequest",
|
||||
"FactureUpdateGatewayRequest",
|
||||
"LivraisonCreateGatewayRequest",
|
||||
"LivraisonUpdateGatewayRequest",
|
||||
"ArticleCreateRequest",
|
||||
"ArticleUpdateGatewayRequest",
|
||||
"DevisUpdate",
|
||||
"FournisseurCreate",
|
||||
"FournisseurUpdate",
|
||||
"AvoirCreate",
|
||||
"AvoirUpdate",
|
||||
"CommandeCreate",
|
||||
"CommandeUpdate",
|
||||
"FactureCreate",
|
||||
"FactureUpdate",
|
||||
"LivraisonCreate",
|
||||
"LivraisonUpdate",
|
||||
"ArticleCreate",
|
||||
"ArticleUpdate",
|
||||
"MouvementStockLigneRequest",
|
||||
"EntreeStockRequest",
|
||||
"SortieStockRequest",
|
||||
"EntreeStock",
|
||||
"SortieStock",
|
||||
"FamilleCreate",
|
||||
"PDFGenerationRequest"
|
||||
"PDFGeneration"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from typing import Optional, List, Dict
|
|||
from enum import Enum, IntEnum
|
||||
from datetime import datetime, date
|
||||
|
||||
class ArticleCreateRequest(BaseModel):
|
||||
class ArticleCreate(BaseModel):
|
||||
reference: str = Field(..., description="Référence article (max 18 car)")
|
||||
designation: str = Field(..., description="Désignation (max 69 car)")
|
||||
famille: Optional[str] = Field(None, description="Code famille")
|
||||
|
|
@ -18,7 +18,7 @@ class ArticleCreateRequest(BaseModel):
|
|||
description: Optional[str] = Field(None, description="Description/Commentaire")
|
||||
|
||||
|
||||
class ArticleUpdateGatewayRequest(BaseModel):
|
||||
class ArticleUpdate(BaseModel):
|
||||
"""Modèle pour modification article côté gateway"""
|
||||
|
||||
reference: str
|
||||
|
|
@ -79,7 +79,7 @@ class MouvementStockLigneRequest(BaseModel):
|
|||
return v
|
||||
|
||||
|
||||
class EntreeStockRequest(BaseModel):
|
||||
class EntreeStock(BaseModel):
|
||||
"""Création d'un bon d'entrée en stock"""
|
||||
|
||||
date_entree: Optional[date] = Field(
|
||||
|
|
@ -95,7 +95,7 @@ class EntreeStockRequest(BaseModel):
|
|||
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"""
|
||||
|
||||
date_sortie: Optional[date] = Field(
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
|||
from datetime import date
|
||||
|
||||
|
||||
class AvoirCreateGatewayRequest(BaseModel):
|
||||
class AvoirCreate(BaseModel):
|
||||
"""Création d'un avoir côté gateway"""
|
||||
|
||||
client_id: str
|
||||
|
|
@ -13,7 +13,7 @@ class AvoirCreateGatewayRequest(BaseModel):
|
|||
reference: Optional[str] = None
|
||||
|
||||
|
||||
class AvoirUpdateGatewayRequest(BaseModel):
|
||||
class AvoirUpdate(BaseModel):
|
||||
"""Modèle pour modification avoir côté gateway"""
|
||||
|
||||
numero: str
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
|||
from datetime import date
|
||||
|
||||
|
||||
class CommandeCreateRequest(BaseModel):
|
||||
class CommandeCreate(BaseModel):
|
||||
"""Création d'une commande"""
|
||||
|
||||
client_id: str
|
||||
|
|
@ -13,7 +13,7 @@ class CommandeCreateRequest(BaseModel):
|
|||
lignes: List[Dict]
|
||||
|
||||
|
||||
class CommandeUpdateGatewayRequest(BaseModel):
|
||||
class CommandeUpdate(BaseModel):
|
||||
"""Modèle pour modification commande côté gateway"""
|
||||
|
||||
numero: str
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ class DevisRequest(BaseModel):
|
|||
lignes: List[Dict]
|
||||
|
||||
|
||||
class DevisUpdateGatewayRequest(BaseModel):
|
||||
class DevisUpdate(BaseModel):
|
||||
"""Modèle pour modification devis côté gateway"""
|
||||
|
||||
numero: str
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ class TypeDocument(int, Enum):
|
|||
FACTURE = 5
|
||||
|
||||
|
||||
class DocumentGetRequest(BaseModel):
|
||||
class DocumentGet(BaseModel):
|
||||
numero: str
|
||||
type_doc: int
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ class TransformationRequest(BaseModel):
|
|||
type_cible: int
|
||||
|
||||
|
||||
class PDFGenerationRequest(BaseModel):
|
||||
class PDFGeneration(BaseModel):
|
||||
"""Modèle pour génération PDF"""
|
||||
|
||||
doc_id: str = Field(..., description="Numéro du document")
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
|||
from datetime import date
|
||||
|
||||
|
||||
class FactureCreateGatewayRequest(BaseModel):
|
||||
class FactureCreate(BaseModel):
|
||||
"""Création d'une facture côté gateway"""
|
||||
|
||||
client_id: str
|
||||
|
|
@ -13,7 +13,7 @@ class FactureCreateGatewayRequest(BaseModel):
|
|||
reference: Optional[str] = None
|
||||
|
||||
|
||||
class FactureUpdateGatewayRequest(BaseModel):
|
||||
class FactureUpdate(BaseModel):
|
||||
"""Modèle pour modification facture côté gateway"""
|
||||
|
||||
numero: str
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
|||
from datetime import date
|
||||
|
||||
|
||||
class LivraisonCreateGatewayRequest(BaseModel):
|
||||
class LivraisonCreate(BaseModel):
|
||||
"""Création d'une livraison côté gateway"""
|
||||
|
||||
client_id: str
|
||||
|
|
@ -13,7 +13,7 @@ class LivraisonCreateGatewayRequest(BaseModel):
|
|||
reference: Optional[str] = None
|
||||
|
||||
|
||||
class LivraisonUpdateGatewayRequest(BaseModel):
|
||||
class LivraisonUpdate(BaseModel):
|
||||
"""Modèle pour modification livraison côté gateway"""
|
||||
|
||||
numero: str
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class CodeRequest(BaseModel):
|
|||
code: str
|
||||
|
||||
|
||||
class ChampLibreRequest(BaseModel):
|
||||
class ChampLibre(BaseModel):
|
||||
doc_id: str
|
||||
type_doc: int
|
||||
nom_champ: str
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from pydantic import BaseModel, Field, field_validator
|
|||
from typing import Optional, Dict
|
||||
|
||||
|
||||
class ClientCreateRequest(BaseModel):
|
||||
class ClientCreate(BaseModel):
|
||||
intitule: str = Field(
|
||||
..., 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"""
|
||||
|
||||
code: str
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from pydantic import BaseModel
|
|||
from typing import Optional, Dict
|
||||
|
||||
|
||||
class ContactCreateRequest(BaseModel):
|
||||
class ContactCreate(BaseModel):
|
||||
"""Requête de création de contact"""
|
||||
|
||||
numero: str
|
||||
|
|
@ -20,20 +20,20 @@ class ContactCreateRequest(BaseModel):
|
|||
skype: Optional[str] = None
|
||||
|
||||
|
||||
class ContactListRequest(BaseModel):
|
||||
class ContactList(BaseModel):
|
||||
"""Requête de liste des contacts"""
|
||||
|
||||
numero: str
|
||||
|
||||
|
||||
class ContactGetRequest(BaseModel):
|
||||
class ContactGet(BaseModel):
|
||||
"""Requête de récupération d'un contact"""
|
||||
|
||||
numero: str
|
||||
contact_numero: int
|
||||
|
||||
|
||||
class ContactUpdateRequest(BaseModel):
|
||||
class ContactUpdate(BaseModel):
|
||||
"""Requête de modification d'un contact"""
|
||||
|
||||
numero: str
|
||||
|
|
@ -41,7 +41,7 @@ class ContactUpdateRequest(BaseModel):
|
|||
updates: Dict
|
||||
|
||||
|
||||
class ContactDeleteRequest(BaseModel):
|
||||
class ContactDelete(BaseModel):
|
||||
"""Requête de suppression d'un contact"""
|
||||
|
||||
numero: str
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from pydantic import BaseModel, Field
|
|||
from typing import Optional, Dict
|
||||
|
||||
|
||||
class FournisseurCreateRequest(BaseModel):
|
||||
class FournisseurCreate(BaseModel):
|
||||
intitule: str = Field(..., description="Raison sociale du fournisseur")
|
||||
compte_collectif: str = Field("401000", description="Compte général rattaché")
|
||||
num: Optional[str] = Field(None, description="Code fournisseur (auto si vide)")
|
||||
|
|
@ -16,7 +16,7 @@ class FournisseurCreateRequest(BaseModel):
|
|||
tva_intra: Optional[str] = None
|
||||
|
||||
|
||||
class FournisseurUpdateGatewayRequest(BaseModel):
|
||||
class FournisseurUpdate(BaseModel):
|
||||
"""Modèle pour modification fournisseur côté gateway"""
|
||||
|
||||
code: str
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from typing import Optional
|
|||
from enum import IntEnum
|
||||
|
||||
|
||||
class TiersListRequest(BaseModel):
|
||||
class TiersList(BaseModel):
|
||||
"""Requête de listage des tiers"""
|
||||
|
||||
type_tiers: Optional[str] = Field(
|
||||
|
|
|
|||
Loading…
Reference in a new issue