From 5ad1fccc5c0b0644d368c1b4f3f502cf09c41be1 Mon Sep 17 00:00:00 2001 From: Fanilo-Nantenaina Date: Tue, 6 Jan 2026 13:25:09 +0300 Subject: [PATCH] refactor(schemas): change date fields to datetime in document models --- api.py | 1 + schemas/documents/avoirs.py | 17 +++++++++-------- schemas/documents/commandes.py | 16 ++++++++-------- schemas/documents/devis.py | 14 +++++++------- schemas/documents/factures.py | 16 ++++++++-------- schemas/documents/livraisons.py | 16 ++++++++-------- 6 files changed, 41 insertions(+), 39 deletions(-) diff --git a/api.py b/api.py index 37b6114..db1a6dd 100644 --- a/api.py +++ b/api.py @@ -1182,6 +1182,7 @@ async def rafraichir_statuts_signatures(session: AsyncSession = Depends(get_sess "nb_mises_a_jour": nb_mises_a_jour, } + class EmailBatch(BaseModel): destinataires: List[EmailStr] = Field(..., min_length=1, max_length=100) sujet: str = Field(..., min_length=1, max_length=500) diff --git a/schemas/documents/avoirs.py b/schemas/documents/avoirs.py index 9397b74..66f363e 100644 --- a/schemas/documents/avoirs.py +++ b/schemas/documents/avoirs.py @@ -1,13 +1,13 @@ from pydantic import BaseModel, Field from typing import List, Optional -from datetime import date +from datetime import datetime from schemas.documents.ligne_document import LigneDocument class AvoirCreate(BaseModel): client_id: str - date_avoir: Optional[date] = None - date_livraison: Optional[date] = None + date_avoir: Optional[datetime] = None + date_livraison: Optional[datetime] = None lignes: List[LigneDocument] reference: Optional[str] = None @@ -15,7 +15,8 @@ class AvoirCreate(BaseModel): json_schema_extra = { "example": { "client_id": "CLI000001", - "date_avoir": "2024-01-15", + "date_avoir": "2024-01-15T10:00:00", + "date_livraison": "2024-01-15T10:00:00", "reference": "AV-EXT-001", "lignes": [ { @@ -30,8 +31,8 @@ class AvoirCreate(BaseModel): class AvoirUpdate(BaseModel): - date_avoir: Optional[date] = None - date_livraison: Optional[date] = None + 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 @@ -39,8 +40,8 @@ class AvoirUpdate(BaseModel): class Config: json_schema_extra = { "example": { - "date_avoir": "2024-01-15", - "date_livraison": "2024-01-15", + "date_avoir": "2024-01-15T10:00:00", + "date_livraison": "2024-01-15T10:00:00", "reference": "AV-EXT-001", "lignes": [ { diff --git a/schemas/documents/commandes.py b/schemas/documents/commandes.py index 9777fe3..5c920dc 100644 --- a/schemas/documents/commandes.py +++ b/schemas/documents/commandes.py @@ -1,13 +1,13 @@ from pydantic import BaseModel, Field from typing import List, Optional -from datetime import date +from datetime import datetime from schemas.documents.ligne_document import LigneDocument class CommandeCreate(BaseModel): client_id: str - date_commande: Optional[date] = None - date_livraison: Optional[date] = None + date_commande: Optional[datetime] = None + date_livraison: Optional[datetime] = None lignes: List[LigneDocument] reference: Optional[str] = None @@ -15,7 +15,7 @@ class CommandeCreate(BaseModel): json_schema_extra = { "example": { "client_id": "CLI000001", - "date_commande": "2024-01-15", + "date_commande": "2024-01-15T10:00:00", "reference": "CMD-EXT-001", "lignes": [ { @@ -30,8 +30,8 @@ class CommandeCreate(BaseModel): class CommandeUpdate(BaseModel): - date_commande: Optional[date] = None - date_livraison: Optional[date] = None + date_commande: 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 @@ -39,8 +39,8 @@ class CommandeUpdate(BaseModel): class Config: json_schema_extra = { "example": { - "date_commande": "2024-01-15", - "date_livraison": "2024-01-15", + "date_commande": "2024-01-15T10:00:00", + "date_livraison": "2024-01-15T10:00:00", "reference": "CMD-EXT-001", "lignes": [ { diff --git a/schemas/documents/devis.py b/schemas/documents/devis.py index 7dfedd5..d43ad40 100644 --- a/schemas/documents/devis.py +++ b/schemas/documents/devis.py @@ -1,14 +1,14 @@ from pydantic import BaseModel, Field from typing import List, Optional -from datetime import date +from datetime import datetime from schemas.documents.ligne_document import LigneDocument class DevisRequest(BaseModel): client_id: str - date_devis: Optional[date] = None - date_livraison: Optional[date] = None + date_devis: Optional[datetime] = None + date_livraison: Optional[datetime] = None reference: Optional[str] = None lignes: List[LigneDocument] @@ -25,8 +25,8 @@ class Devis(BaseModel): class DevisUpdate(BaseModel): """Modèle pour modification d'un devis existant""" - date_devis: Optional[date] = None - date_livraison: Optional[date] = None + date_devis: Optional[datetime] = None + date_livraison: Optional[datetime] = None lignes: Optional[List[LigneDocument]] = None reference: Optional[str] = None statut: Optional[int] = Field(None, ge=0, le=6) @@ -34,8 +34,8 @@ class DevisUpdate(BaseModel): class Config: json_schema_extra = { "example": { - "date_devis": "2024-01-15", - "date_livraison": "2024-01-15", + "date_devis": "2024-01-15T10:00:00", + "date_livraison": "2024-01-15T10:00:00", "reference": "DEV-001", "lignes": [ { diff --git a/schemas/documents/factures.py b/schemas/documents/factures.py index 5e91ac8..0ab6e21 100644 --- a/schemas/documents/factures.py +++ b/schemas/documents/factures.py @@ -1,13 +1,13 @@ from pydantic import BaseModel, Field from typing import List, Optional -from datetime import date +from datetime import datetime from schemas.documents.ligne_document import LigneDocument class FactureCreate(BaseModel): client_id: str - date_facture: Optional[date] = None - date_livraison: Optional[date] = None + date_facture: Optional[datetime] = None + date_livraison: Optional[datetime] = None lignes: List[LigneDocument] reference: Optional[str] = None @@ -15,7 +15,7 @@ class FactureCreate(BaseModel): json_schema_extra = { "example": { "client_id": "CLI000001", - "date_facture": "2024-01-15", + "date_facture": "2024-01-15T10:00:00", "reference": "FA-EXT-001", "lignes": [ { @@ -30,8 +30,8 @@ class FactureCreate(BaseModel): class FactureUpdate(BaseModel): - date_facture: Optional[date] = None - date_livraison: Optional[date] = None + date_facture: 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 @@ -39,8 +39,8 @@ class FactureUpdate(BaseModel): class Config: json_schema_extra = { "example": { - "date_facture": "2024-01-15", - "date_livraison": "2024-01-15", + "date_facture": "2024-01-15T10:00:00", + "date_livraison": "2024-01-15T10:00:00", "lignes": [ { "article_code": "ART001", diff --git a/schemas/documents/livraisons.py b/schemas/documents/livraisons.py index 5e39e46..3dc9eb9 100644 --- a/schemas/documents/livraisons.py +++ b/schemas/documents/livraisons.py @@ -1,14 +1,14 @@ from pydantic import BaseModel, Field from typing import List, Optional -from datetime import date +from datetime import datetime from schemas.documents.ligne_document import LigneDocument class LivraisonCreate(BaseModel): client_id: str - date_livraison: Optional[date] = None - date_livraison_prevue: Optional[date] = None + date_livraison: Optional[datetime] = None + date_livraison_prevue: Optional[datetime] = None lignes: List[LigneDocument] reference: Optional[str] = None @@ -16,7 +16,7 @@ class LivraisonCreate(BaseModel): json_schema_extra = { "example": { "client_id": "CLI000001", - "date_livraison": "2024-01-15", + "date_livraison": "2024-01-15T10:00:00", "reference": "BL-EXT-001", "lignes": [ { @@ -31,8 +31,8 @@ class LivraisonCreate(BaseModel): class LivraisonUpdate(BaseModel): - date_livraison: Optional[date] = None - date_livraison_prevue: Optional[date] = None + date_livraison: Optional[datetime] = None + date_livraison_prevue: Optional[datetime] = None lignes: Optional[List[LigneDocument]] = None statut: Optional[int] = Field(None, ge=0, le=6) reference: Optional[str] = None @@ -40,8 +40,8 @@ class LivraisonUpdate(BaseModel): class Config: json_schema_extra = { "example": { - "date_livraison": "2024-01-15", - "date_livraison_prevue": "2024-01-15", + "date_livraison": "2024-01-15T10:00:00", + "date_livraison_prevue": "2024-01-15T10:00:00", "reference": "BL-EXT-001", "lignes": [ {