Minor cleanup

This commit is contained in:
Peter Stockings
2023-03-14 20:16:59 +11:00
parent 65a6ac8287
commit fc26a89793

58
app.py
View File

@@ -64,22 +64,6 @@ class CadenceReading(db.Model):
power = db.Column(db.Integer, nullable=False) power = db.Column(db.Integer, nullable=False)
def render_users_and_workouts():
users = User.query.all()
users_data = []
for user in users:
workouts = get_workouts_for_user(user.id)
user_data = {
'id': user.id,
'name': user.name,
'bike_id': user.bike_id,
'workouts_count': len(workouts),
'workouts': workouts
}
users_data.append(user_data)
return render_template('users_and_workouts.html', users=users_data, bikes=Bike.query.all())
@app.route('/', methods=['GET']) @app.route('/', methods=['GET'])
def get_workouts(): def get_workouts():
return render_users_and_workouts() return render_users_and_workouts()
@@ -93,25 +77,17 @@ def new_workout(user_id):
@app.route('/users', methods=['GET', 'POST']) @app.route('/users', methods=['GET', 'POST'])
def users(): def users():
if request.method == 'GET': # create a new user
# get a list of all users in the database data = request.form
users = User.query.all() name = data['name']
users_list = [{'id': user.id, 'name': user.name, bike_id = data['bike_id']
'workouts': len(user.workouts)} for user in users]
return jsonify(users_list), 200
elif request.method == 'POST': # create a new user and add it to the database
# create a new user new_user = User(name=name, bike_id=bike_id)
data = request.form db.session.add(new_user)
name = data['name'] db.session.commit()
bike_id = data['bike_id']
# create a new user and add it to the database return render_users_and_workouts()
new_user = User(name=name, bike_id=bike_id)
db.session.add(new_user)
db.session.commit()
return render_users_and_workouts()
@app.route('/user/<int:user_id>', methods=['DELETE']) @app.route('/user/<int:user_id>', methods=['DELETE'])
@@ -217,6 +193,22 @@ def update_users_bike(user_id):
return jsonify({'error': 'User or bike not found.'}), 404 return jsonify({'error': 'User or bike not found.'}), 404
def render_users_and_workouts():
users = User.query.all()
users_data = []
for user in users:
workouts = get_workouts_for_user(user.id)
user_data = {
'id': user.id,
'name': user.name,
'bike_id': user.bike_id,
'workouts_count': len(workouts),
'workouts': workouts
}
users_data.append(user_data)
return render_template('users_and_workouts.html', users=users_data, bikes=Bike.query.all())
def get_workouts_for_user(user_id): def get_workouts_for_user(user_id):
workouts_data = [] workouts_data = []
workouts = Workout.query.filter_by(user_id=user_id).order_by( workouts = Workout.query.filter_by(user_id=user_id).order_by(