"""
Schémas Pydantic pour les événements de niveau
"""
from pydantic import BaseModel
from typing import Optional
from datetime import datetime


class EvenementCreate(BaseModel):
    niveau_id: int
    type: str  # reception_armatures | livraison_chantier
    date: datetime
    label: Optional[str] = None


class EvenementUpdate(BaseModel):
    date: Optional[datetime] = None
    label: Optional[str] = None


class EvenementOut(BaseModel):
    id: int
    niveau_id: int
    type: str
    date: datetime
    label: Optional[str] = None
    date_creation: datetime

    class Config:
        from_attributes = True