from pydantic import BaseModel
from typing import Optional

class PositionTypeCreate(BaseModel):
    code: str
    label: str
    requires_asim: bool = True
    requires_eligibility: bool = False
    color: str = "#1677ff"

class PositionTypeUpdate(BaseModel):
    label: Optional[str] = None
    requires_asim: Optional[bool] = None
    requires_eligibility: Optional[bool] = None
    color: Optional[str] = None
    is_active: Optional[bool] = None

class PositionTypeResponse(BaseModel):
    id: int
    code: str
    label: str
    requires_asim: bool
    requires_eligibility: bool
    color: str
    is_active: bool

    class Config:
        from_attributes = True