from pydantic import BaseModel
from datetime import datetime, date
from typing import Optional


class BenefitCreate(BaseModel):
    benefit_date: date
    monthly_benefit: int
    description: Optional[str] = None


class BenefitUpdate(BaseModel):
    monthly_benefit: Optional[int] = None
    description: Optional[str] = None
    status: Optional[str] = None


class BenefitOut(BaseModel):
    id: str
    employee_id: str
    benefit_date: date
    monthly_benefit: int
    description: Optional[str] = None
    status: str
    created_at: datetime

    model_config = {"from_attributes": True}
