Refactor: ProfileView to use the RetriveUpdateAPIView class

This commit is contained in:
Aroy-Art 2025-02-08 17:59:30 +01:00
parent 3eef803a94
commit dd4aa0aebc
Signed by: Aroy
GPG key ID: 583642324A1D2070

View file

@ -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