from pydantic import BaseModel class SubjectOptionCreate(BaseModel): text: str order_index: int = 0 class SubjectOptionUpdate(BaseModel): text: str | None = None class SubjectOptionOut(BaseModel): id: int text: str order_index: int model_config = {"from_attributes": True} class SubjectCreate(BaseModel): name: str color: str = "#10B981" icon: str = "📚" class SubjectUpdate(BaseModel): name: str | None = None color: str | None = None icon: str | None = None is_active: bool | None = None class SubjectOut(BaseModel): id: int name: str color: str icon: str is_active: bool is_system: bool = False options: list[SubjectOptionOut] = [] model_config = {"from_attributes": True}