summaryrefslogtreecommitdiff
path: root/app/tables
diff options
context:
space:
mode:
Diffstat (limited to 'app/tables')
-rw-r--r--app/tables/user.py8
-rw-r--r--app/tables/workout.py32
2 files changed, 26 insertions, 14 deletions
diff --git a/app/tables/user.py b/app/tables/user.py
index cfffb80..ddf3702 100644
--- a/app/tables/user.py
+++ b/app/tables/user.py
@@ -2,18 +2,20 @@ from app import db, login_manager
from flask_login import UserMixin
from werkzeug.security import generate_password_hash, check_password_hash
+
@login_manager.user_loader
def get_user(user_id):
return User.query.get(user_id)
+
class User(db.Model, UserMixin):
- __tablename__ = 'users'
+ __tablename__ = "users"
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password = db.Column(db.String(80))
email = db.Column(db.String(120), unique=True, nullable=False)
- workouts = db.relationship("Workout", backref='user', lazy='dynamic')
+ workouts = db.relationship("Workout", backref="user", lazy="dynamic")
def __init__(self, username, password, email):
self.username = username
@@ -21,7 +23,7 @@ class User(db.Model, UserMixin):
self.email = email
def __repr__(self):
- return f'<User {self.username}>'
+ return f"<User {self.username}>"
def verify_password(self, pwd):
return check_password_hash(self.password, pwd)
diff --git a/app/tables/workout.py b/app/tables/workout.py
index 564caf1..75faf6b 100644
--- a/app/tables/workout.py
+++ b/app/tables/workout.py
@@ -1,39 +1,42 @@
from app import db, login_manager
import enum
+
class ExerciseType(enum.Enum):
TIME = "Seconds"
REPS = "Reps"
+
# Represents an individual exercise
class Exercise(db.Model):
- __tablename__ = 'exercises'
+ __tablename__ = "exercises"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
sets = db.Column(db.Integer)
units = db.Column(db.Integer)
type = db.Column(db.Enum(ExerciseType))
# Workout Relationship
- workout_id = db.Column(db.Integer, db.ForeignKey('workouts.id'))
+ workout_id = db.Column(db.Integer, db.ForeignKey("workouts.id"))
def __init__(self, name, sets, units, type):
self.name = name
self.sets = sets
- self.units = units
+ self.units = units
self.type = type
def __repr__(self):
- return f'<Exercise {self.name} {self.sets}x{self.units}>'
+ return f"<Exercise {self.name} {self.sets}x{self.units}>"
+
# Represents a singular workout
class Workout(db.Model):
- __tablename__ = 'workouts'
+ __tablename__ = "workouts"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
# foreign keys
- user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
+ user_id = db.Column(db.Integer, db.ForeignKey("users.id"))
# relationships
- exercises = db.relationship("Exercise", backref='workout', lazy='dynamic')
+ exercises = db.relationship("Exercise", backref="workout", lazy="dynamic")
def __init__(self, user, name, exercises):
self.name = name
@@ -41,14 +44,21 @@ class Workout(db.Model):
# Create exercises
for exercise in exercises:
- type = ExerciseType.TIME if exercise['exercise_type'] == 'time' else ExerciseType.REPS;
- self.exercises.append(Exercise(exercise['exercise_name'], exercise['sets'], exercise['units'], type))
+ type = (
+ ExerciseType.TIME
+ if exercise["exercise_type"] == "time"
+ else ExerciseType.REPS
+ )
+ self.exercises.append(
+ Exercise(exercise["name"], exercise["sets"], exercise["units"], type)
+ )
def __repr__(self):
- return f'<Workout {self.name}>'
+ return f"<Workout {self.name}>"
+
# Connects workouts to it's exercises
-#class WorkoutExercise(db.Model):
+# class WorkoutExercise(db.Model):
# __table__ = 'workout_exercises'
# id = db.Column(db.Integer, primary_key=True)
# workout_id = db.Column(db.Integer, db.ForeignKey('workouts.id'))