"""UserExerciseProgram model for per-user exercise programming. Links a user to an exercise with a starting weight for the rep ladder. """ from datetime import datetime from typing import Optional from sqlmodel import Field, SQLModel class UserExerciseProgram(SQLModel, table=True): """Per-user programming for a specific exercise. Attributes: id: Primary key, auto-incremented. user_id: FK to users table. exercise_id: FK to exercises table. starting_weight: Starting weight (e.g., "30 lbs", "BW"). created_at: Timestamp when the record was created. updated_at: Timestamp of the last update. """ __tablename__ = "user_exercise_programs" id: Optional[int] = Field(default=None, primary_key=True) user_id: int = Field(foreign_key="users.id", index=True) exercise_id: int = Field(foreign_key="exercises.id", index=True) starting_weight: str = Field(default="") created_at: datetime = Field(default_factory=datetime.utcnow) updated_at: datetime = Field(default_factory=datetime.utcnow)