refactor(api): remove ge constraints from numeric fields in ArticleResponse

This commit is contained in:
Fanilo-Nantenaina 2025-12-27 06:20:24 +03:00
parent a4f5274663
commit 7f51992dda

37
api.py
View file

@ -527,6 +527,7 @@ class FournisseurDetails(BaseModel):
} }
class ArticleResponse(BaseModel): class ArticleResponse(BaseModel):
reference: str = Field(..., description="Référence article (AR_Ref)") reference: str = Field(..., description="Référence article (AR_Ref)")
@ -546,49 +547,49 @@ class ArticleResponse(BaseModel):
) )
prix_vente: float = Field( prix_vente: float = Field(
..., ge=0, description="Prix de vente HT unitaire (AR_PrixVen)" ..., description="Prix de vente HT unitaire (AR_PrixVen)"
) )
prix_achat: Optional[float] = Field( prix_achat: Optional[float] = Field(
None, ge=0, description="Prix d'achat HT (AR_PrixAch)" None, description="Prix d'achat HT (AR_PrixAch)"
) )
coef: Optional[float] = Field( coef: Optional[float] = Field(
None, ge=0, description="Coefficient multiplicateur (AR_Coef)" None, description="Coefficient multiplicateur (AR_Coef)"
) )
prix_net: Optional[float] = Field( prix_net: Optional[float] = Field(
None, ge=0, description="Prix unitaire net (AR_PUNet)" None, description="Prix unitaire net (AR_PUNet)"
) )
prix_achat_nouveau: Optional[float] = Field( prix_achat_nouveau: Optional[float] = Field(
None, ge=0, description="Nouveau prix d'achat à venir (AR_PrixAchNouv)" None, description="Nouveau prix d'achat à venir (AR_PrixAchNouv)"
) )
coef_nouveau: Optional[float] = Field( coef_nouveau: Optional[float] = Field(
None, ge=0, description="Nouveau coefficient à venir (AR_CoefNouv)" None, description="Nouveau coefficient à venir (AR_CoefNouv)"
) )
prix_vente_nouveau: Optional[float] = Field( prix_vente_nouveau: Optional[float] = Field(
None, ge=0, description="Nouveau prix de vente à venir (AR_PrixVenNouv)" None, description="Nouveau prix de vente à venir (AR_PrixVenNouv)"
) )
date_application_prix: Optional[str] = Field( date_application_prix: Optional[str] = Field(
None, description="Date d'application des nouveaux prix (AR_DateApplication)" None, description="Date d'application des nouveaux prix (AR_DateApplication)"
) )
cout_standard: Optional[float] = Field( cout_standard: Optional[float] = Field(
None, ge=0, description="Coût standard (AR_CoutStd)" None, description="Coût standard (AR_CoutStd)"
) )
stock_reel: float = Field( stock_reel: float = Field(
default=0.0, description="Stock réel total (F_ARTSTOCK.AS_QteSto)" default=0.0, description="Stock réel total (F_ARTSTOCK.AS_QteSto)"
) )
stock_mini: Optional[float] = Field( stock_mini: Optional[float] = Field(
None, ge=0, description="Stock minimum (F_ARTSTOCK.AS_QteMini)" None, description="Stock minimum (F_ARTSTOCK.AS_QteMini)"
) )
stock_maxi: Optional[float] = Field( stock_maxi: Optional[float] = Field(
None, ge=0, description="Stock maximum (F_ARTSTOCK.AS_QteMaxi)" None, description="Stock maximum (F_ARTSTOCK.AS_QteMaxi)"
) )
stock_reserve: Optional[float] = Field( stock_reserve: Optional[float] = Field(
None, ge=0, description="Stock réservé / en commande client (F_ARTSTOCK.AS_QteRes)" None, description="Stock réservé / en commande client (F_ARTSTOCK.AS_QteRes)"
) )
stock_commande: Optional[float] = Field( stock_commande: Optional[float] = Field(
None, ge=0, description="Stock en commande fournisseur (F_ARTSTOCK.AS_QteCom)" None, description="Stock en commande fournisseur (F_ARTSTOCK.AS_QteCom)"
) )
stock_disponible: Optional[float] = Field( stock_disponible: Optional[float] = Field(
None, description="Stock disponible = réel - réservé" None, description="Stock disponible = réel - réservé"
@ -614,10 +615,10 @@ class ArticleResponse(BaseModel):
) )
poids_net: Optional[float] = Field( poids_net: Optional[float] = Field(
None, ge=0, description="Poids net unitaire en kg (AR_PoidsNet)" None, description="Poids net unitaire en kg (AR_PoidsNet)"
) )
poids_brut: Optional[float] = Field( poids_brut: Optional[float] = Field(
None, ge=0, description="Poids brut unitaire en kg (AR_PoidsBrut)" None, description="Poids brut unitaire en kg (AR_PoidsBrut)"
) )
gamme_1: Optional[str] = Field( gamme_1: Optional[str] = Field(
@ -690,7 +691,7 @@ class ArticleResponse(BaseModel):
None, description="Nature de l'article (AR_Nature)" None, description="Nature de l'article (AR_Nature)"
) )
garantie: Optional[int] = Field( garantie: Optional[int] = Field(
None, ge=0, description="Durée de garantie en mois (AR_Garantie)" None, description="Durée de garantie en mois (AR_Garantie)"
) )
code_fiscal: Optional[str] = Field( code_fiscal: Optional[str] = Field(
None, max_length=10, description="Code fiscal/TVA (AR_CodeFiscal)" None, max_length=10, description="Code fiscal/TVA (AR_CodeFiscal)"
@ -709,7 +710,7 @@ class ArticleResponse(BaseModel):
None, description="Conditionnement d'achat (AR_Condition)" None, description="Conditionnement d'achat (AR_Condition)"
) )
nb_colis: Optional[int] = Field( nb_colis: Optional[int] = Field(
None, ge=0, description="Nombre de colis par unité (AR_NbColis)" None, description="Nombre de colis par unité (AR_NbColis)"
) )
prevision: Optional[bool] = Field( prevision: Optional[bool] = Field(
None, description="Gestion en prévision (AR_Prevision)" None, description="Gestion en prévision (AR_Prevision)"
@ -765,7 +766,7 @@ class ArticleResponse(BaseModel):
None, description="Article en sous-traitance (AR_SousTraitance)" None, description="Article en sous-traitance (AR_SousTraitance)"
) )
criticite: Optional[int] = Field( criticite: Optional[int] = Field(
None, ge=0, description="Niveau de criticité (AR_Criticite)" None, description="Niveau de criticité (AR_Criticite)"
) )
reprise_code_defaut: Optional[str] = Field( reprise_code_defaut: Optional[str] = Field(
@ -811,7 +812,7 @@ class ArticleResponse(BaseModel):
None, description="Code TVA (F_TAXE.TA_Code)" None, description="Code TVA (F_TAXE.TA_Code)"
) )
tva_taux: Optional[float] = Field( tva_taux: Optional[float] = Field(
None, ge=0, le=100, description="Taux de TVA en % (F_TAXE.TA_Taux)" None, description="Taux de TVA en % (F_TAXE.TA_Taux)"
) )
stat_01: Optional[str] = Field(None, description="Statistique 1 (AR_Stat01)") stat_01: Optional[str] = Field(None, description="Statistique 1 (AR_Stat01)")