Sage100-vps/schemas/documents/avoirs.py
2026-01-08 16:58:43 +03:00

55 lines
1.7 KiB
Python

from pydantic import BaseModel, Field
from typing import List, Optional
from datetime import datetime
from schemas.documents.ligne_document import LigneDocument
class AvoirCreate(BaseModel):
client_id: str
date_avoir: Optional[datetime] = None
date_livraison: Optional[datetime] = None
lignes: List[LigneDocument]
reference: Optional[str] = None
class Config:
json_schema_extra = {
"example": {
"client_id": "CLI000001",
"date_avoir": "2024-01-15T10:00:00",
"date_livraison": "2024-01-15T10:00:00",
"reference": "AV-EXT-001",
"lignes": [
{
"article_code": "ART001",
"quantite": 5.0,
"prix_unitaire_ht": 50.0,
"remise_pourcentage": 0.0,
}
],
}
}
class AvoirUpdate(BaseModel):
date_avoir: Optional[datetime] = None
date_livraison: Optional[datetime] = None
lignes: Optional[List[LigneDocument]] = None
statut: Optional[int] = Field(None, ge=0, le=6)
reference: Optional[str] = None
class Config:
json_schema_extra = {
"example": {
"date_avoir": "2024-01-15T10:00:00",
"date_livraison": "2024-01-15T10:00:00",
"reference": "AV-EXT-001",
"lignes": [
{
"article_code": "ART001",
"quantite": 10.0,
"prix_unitaire_ht": 45.0,
}
],
"statut": 2,
}
}