36 lines
835 B
Python
36 lines
835 B
Python
from django.contrib.auth.models import User
|
|
from rest_framework.generics import RetrieveUpdateAPIView, UpdateAPIView
|
|
from rest_framework.permissions import IsAuthenticated
|
|
|
|
from users.api.v1.serializers import UserSerializer, UpdatePasswordSerializer
|
|
|
|
|
|
class RetrieveUpdateMe(RetrieveUpdateAPIView):
|
|
"""
|
|
get: Return user info
|
|
|
|
put: Update user info
|
|
"""
|
|
|
|
serializer_class = UserSerializer
|
|
|
|
def get_object(self):
|
|
return self.request.user
|
|
|
|
|
|
class ChangePassword(UpdateAPIView):
|
|
"""
|
|
put: Update user's password
|
|
"""
|
|
|
|
serializer_class = UpdatePasswordSerializer
|
|
permission_classes = (IsAuthenticated,)
|
|
queryset = User.objects.all()
|
|
|
|
def get_object(self):
|
|
return self.request.user
|
|
|
|
|
|
retrieve_update_me = RetrieveUpdateMe.as_view()
|
|
change_password = ChangePassword.as_view()
|