diff options
| author | stilbruch <stilbruch@protonail.com> | 2022-05-04 19:09:29 -0500 |
|---|---|---|
| committer | stilbruch <stilbruch@protonail.com> | 2022-05-04 19:09:29 -0500 |
| commit | ac0463db9a00b8d5fcd570d18e86c9ba62851365 (patch) | |
| tree | 9c71cf6ad0c9c6a11b01779a76bc864f5741e575 /app/routes/api.py | |
| parent | 6a92fe73a176164197706965c82ea98b08bbc2bd (diff) | |
| download | Strengthy-ac0463db9a00b8d5fcd570d18e86c9ba62851365.tar.xz Strengthy-ac0463db9a00b8d5fcd570d18e86c9ba62851365.zip | |
Progress on progress api endpoint
Diffstat (limited to 'app/routes/api.py')
| -rw-r--r-- | app/routes/api.py | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/app/routes/api.py b/app/routes/api.py index 6a95ca2..77ebdcf 100644 --- a/app/routes/api.py +++ b/app/routes/api.py @@ -1,7 +1,7 @@ from app import app, db from flask import redirect, request, jsonify from flask_login import current_user, login_required -from tables import Workout +from tables import Exercise, SetRecord, Workout, WorkoutRecord @app.route("/api/workout/delete", methods=["GET"]) @@ -20,11 +20,30 @@ def api_workout_delete(): return redirect("/home") -@app.route("/api/progress/exercise", methods=["GET"]) +@app.route("/api/progress/exercise/<exercise_id>", methods=["GET"]) @login_required -def api_progress_exercise(): - if "id" not in request.args: - return redirect("/home") +def api_progress_exercise(exercise_id=None): + # Get exercise from database NOTE: consider adding userid to exercise + exercise = ( + db.session.query(Exercise) + .filter_by(id=exercise_id) + .join(Workout, Workout.user_id == current_user.id) + .first() + ) + if not exercise: + return redirect(url_for("home")) + + results = ( + db.session.query(WorkoutRecord.id, db.func.max(SetRecord.lbs)) + # .join(SetRecord.workout_record_id == WorkoutRecord.id) + .filter( + SetRecord.exercise_id == exercise_id, + WorkoutRecord.user_id == current_user.id, + SetRecord.workout_record_id == WorkoutRecord.id, + ).group_by(WorkoutRecord.id) + ).all() + + print(results) - # FIXME - return jsonify() + # TODO doesnt work + return jsonify(results) |
