from sqlmodel import SQLModel, Field from typing import Optional class UserBase(SQLModel): username: str = Field(index=True, unique=True) email: Optional[str] = Field(default=None, index=True, unique=True) full_name: Optional[str] = None disabled: bool = False class User(UserBase, table=True): id: Optional[int] = Field(default=None, primary_key=True) hashed_password: str class UserCreate(UserBase): password: str class UserPublic(UserBase): id: int