"""
Schémas Pydantic pour les types de pièces béton
"""
from pydantic import BaseModel
from typing import Optional
from datetime import datetime


class TypePieceBase(BaseModel):
    nom: str
    type_coulage: str = "horizontal"
    type_armature: str = "aucune"
    temps_unitaire: int = 0  # en quarts d'heure (4 = 1h, 5 = 1.25h)


class TypePieceCreate(TypePieceBase):
    pass


class TypePieceUpdate(BaseModel):
    nom: Optional[str] = None
    type_coulage: Optional[str] = None
    type_armature: Optional[str] = None
    temps_unitaire: Optional[int] = None


class TypePieceResponse(TypePieceBase):
    id: int
    date_creation: datetime

    class Config:
        from_attributes = True
