from datetime import datetime
from typing import Optional
from pydantic import BaseModel


class VendorCreate(BaseModel):
    name: str
    code: Optional[str] = None  # auto-generated if empty


class VendorUpdate(BaseModel):
    name: Optional[str] = None
    code: Optional[str] = None


class VendorOut(BaseModel):
    id: int
    name: str
    code: str
    created_at: datetime
    model_config = {"from_attributes": True}
