refactor(schemas): change date fields to datetime in document models

This commit is contained in:
Fanilo-Nantenaina 2026-01-06 13:25:09 +03:00
parent 0deb178bc6
commit 5ad1fccc5c
6 changed files with 41 additions and 39 deletions

1
api.py
View file

@ -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)

View file

@ -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": [
{

View file

@ -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": [
{

View file

@ -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": [
{

View file

@ -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",

View file

@ -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": [
{