From 2e1883a85867eb15bf2e3c69e1775decd44cdfee Mon Sep 17 00:00:00 2001 From: issacli-0821 Date: Wed, 15 Apr 2026 17:22:17 -0400 Subject: [PATCH 1/3] Implement UserView --- backend/hoagiehelp/api/user_views.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/backend/hoagiehelp/api/user_views.py b/backend/hoagiehelp/api/user_views.py index 072ba4e..d44444a 100644 --- a/backend/hoagiehelp/api/user_views.py +++ b/backend/hoagiehelp/api/user_views.py @@ -3,11 +3,12 @@ from rest_framework.response import Response from rest_framework.views import APIView +from backend.hoagiehelp.api.question_views import QuestionSerializer from hoagiehelp.api.comment_views import CommentSerializer from hoagiehelp.models.comment import Comment -from hoagiehelp.models.user import CustomUser from hoagiehelp.models.question import Question -from backend.hoagiehelp.api.question_views import QuestionSerializer +from hoagiehelp.models.user import CustomUser + # User Serializer class UserSerializer(serializers.ModelSerializer): @@ -25,7 +26,18 @@ class Meta: class UserView(APIView): - pass + def get(self, request) -> Response: + """Return the authenticated user's data.""" + serializer = UserSerializer(request.user) + return Response(serializer.data, status=status.HTTP_200_OK) + + def post(self, request) -> Response: + """Update first_name, last_name, and username for the authenticated user.""" + serializer = UserSerializer(request.user, data=request.data, partial=True) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_200_OK) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) def get_questions_for_user(request, user_id: str): target_user = get_object_or_404(CustomUser, id=user_id) From 9a883ce15f3f712b2bccd8dc0138a41ff6eda989 Mon Sep 17 00:00:00 2001 From: issacli-0821 Date: Wed, 15 Apr 2026 17:22:33 -0400 Subject: [PATCH 2/3] Lint user_views.py --- backend/hoagiehelp/api/user_views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/hoagiehelp/api/user_views.py b/backend/hoagiehelp/api/user_views.py index d44444a..5a74a49 100644 --- a/backend/hoagiehelp/api/user_views.py +++ b/backend/hoagiehelp/api/user_views.py @@ -39,17 +39,19 @@ def post(self, request) -> Response: return Response(serializer.data, status=status.HTTP_200_OK) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + def get_questions_for_user(request, user_id: str): target_user = get_object_or_404(CustomUser, id=user_id) questions_set = Question.objects.filter(user=target_user) if request.user.net_id != target_user.net_id: questions_set = questions_set.filter(user_is_anonymous=False) - + questions_set = questions_set.order_by("-created_at") serializer = QuestionSerializer(questions_set, many=True) return Response(serializer.data, status=status.HTTP_200_OK) + def user_answers(request, user_id: str): pass @@ -66,4 +68,3 @@ def get_comments_for_user(request, user_id: str) -> Response: serializer = CommentSerializer(queryset, many=True) return Response(serializer.data, status=status.HTTP_200_OK) - From 8187ca6d0fe0c1da339d86c3673b8954caaef1d0 Mon Sep 17 00:00:00 2001 From: issacli-0821 Date: Wed, 15 Apr 2026 17:22:52 -0400 Subject: [PATCH 3/3] Fix import path --- backend/hoagiehelp/api/user_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/hoagiehelp/api/user_views.py b/backend/hoagiehelp/api/user_views.py index 5a74a49..2abb794 100644 --- a/backend/hoagiehelp/api/user_views.py +++ b/backend/hoagiehelp/api/user_views.py @@ -3,7 +3,7 @@ from rest_framework.response import Response from rest_framework.views import APIView -from backend.hoagiehelp.api.question_views import QuestionSerializer +from hoagiehelp.api.question_views import QuestionSerializer from hoagiehelp.api.comment_views import CommentSerializer from hoagiehelp.models.comment import Comment from hoagiehelp.models.question import Question