diff --git a/backend/api/user/views.py b/backend/api/user/views.py index 57ab789..9d7c81d 100644 --- a/backend/api/user/views.py +++ b/backend/api/user/views.py @@ -1,28 +1,13 @@ +from rest_framework.generics import RetrieveUpdateAPIView from rest_framework.permissions import IsAuthenticated from .serializers import UserSerializer +class ProfileView(RetrieveUpdateAPIView): + """Retrieve and update the authenticated user's profile.""" -class ProfileView(APIView): permission_classes = [IsAuthenticated] + serializer_class = UserSerializer - 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) + def get_object(self): + return self.request.user