from datetime import datetime from typing import Optional from sqlmodel import Field, SQLModel class HealthMetric(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) user_id: int = Field(foreign_key="user.id") metric_type: str = Field(index=True) # e.g., "weight", "cholesterol", "testosterone" value: float unit: str timestamp: datetime = Field(default_factory=datetime.utcnow) class HealthGoal(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) user_id: int = Field(foreign_key="user.id") goal_type: str # e.g., "lose_weight", "gain_muscle" target_value: float target_date: Optional[datetime] = None created_at: datetime = Field(default_factory=datetime.utcnow)