fitness-web/app/models/workout.py

40 lines
1.1 KiB
Python

from sqlalchemy import Column, Integer, String, Float, Text, ForeignKey
from app.models.base import Base
class Phase(Base):
__tablename__ = "phases"
id = Column(Integer, primary_key=True)
name = Column(String(100), nullable=False)
description = Column(Text)
start_date = Column(String(20))
end_date = Column(String(20))
notes = Column(Text)
class Workout(Base):
__tablename__ = "workouts"
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey("users.id"), nullable=False)
phase_id = Column(Integer, ForeignKey("phases.id"))
name = Column(String(200), nullable=False)
date = Column(String(20), nullable=False)
notes = Column(Text)
status = Column(String(20), default="plan") # plan, complete
class WorkoutSet(Base):
__tablename__ = "workout_sets"
id = Column(Integer, primary_key=True)
workout_id = Column(Integer, ForeignKey("workouts.id"), nullable=False)
exercise = Column(String(100), nullable=False)
set_number = Column(Integer)
reps = Column(Integer)
weight = Column(Float)
rpe = Column(Float)
notes = Column(Text)