from typing import Optional from sqlmodel import SQLModel class UserBase(SQLModel): email: str username: str class UserCreate(UserBase): password: str class UserRead(UserBase): id: int firstname: Optional[str] = None lastname: Optional[str] = None age: Optional[int] = None gender: Optional[str] = None height: Optional[float] = None weight: Optional[float] = None unit_preference: str = "metric" class UserUpdate(SQLModel): email: Optional[str] = None username: Optional[str] = None password: Optional[str] = None firstname: Optional[str] = None lastname: Optional[str] = None age: Optional[int] = None gender: Optional[str] = None height: Optional[float] = None weight: Optional[float] = None unit_preference: Optional[str] = None