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)