From 84fb1e9f4b7e2ccdff80a308807f9853126afea9 Mon Sep 17 00:00:00 2001 From: Jagraj Aulakh Date: Thu, 6 Apr 2023 16:40:40 -0400 Subject: [PATCH] #11 Added endpoint to get enrolled courses --- backend/app/models.py | 4 +++- backend/app/routes.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/backend/app/models.py b/backend/app/models.py index 78fd934..3431fc8 100644 --- a/backend/app/models.py +++ b/backend/app/models.py @@ -80,6 +80,8 @@ class Course(db.Model): def to_dict(self) -> dict: d = {} - for f in ["id", "name", "description", "instructor", "created_at"]: + for f in ["id", "name", "description", "created_at"]: d[f] = getattr(self, f) + + d["instructor"] = User.query.get(self.instructor).username return d diff --git a/backend/app/routes.py b/backend/app/routes.py index 5ee41b6..e6c817f 100644 --- a/backend/app/routes.py +++ b/backend/app/routes.py @@ -95,3 +95,17 @@ def create_course(): return jsonify(c.to_dict()) + +@bp.route("/course", methods=["GET"]) +def get_courses(): + data = request.get_json() + + if "user_id" not in data: + return error_response(400, "Must supply user_id") + + u = User.query.get(data["user_id"]) + d = {"courses": []} + for c in u.enrolled_courses.all(): + d["courses"].append(c.to_dict()) + resp = jsonify(d) + return resp