From 32eee11a4b48611764a182040559444063cd7288 Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Tue, 28 Jan 2025 22:13:07 +0100 Subject: [PATCH] Add: user profile view --- backend/api/user/views.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 backend/api/user/views.py diff --git a/backend/api/user/views.py b/backend/api/user/views.py new file mode 100644 index 0000000..5c30488 --- /dev/null +++ b/backend/api/user/views.py @@ -0,0 +1,30 @@ +from rest_framework.permissions import IsAuthenticated +from rest_framework.response import Response +from rest_framework.views import APIView + +from .serializers import UserSerializer + + +class ProfileView(APIView): + permission_classes = [IsAuthenticated] + + def get(self, request): + user = request.user + serializer = UserSerializer(user) + return Response(serializer.data) + + def patch(self, request): + user = request.user + serializer = UserSerializer(user, data=request.data, partial=True) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data) + return Response(serializer.errors, status=400) + + def put(self, request): + user = request.user + serializer = UserSerializer(user, data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data) + return Response(serializer.errors, status=400)