Source code for django_tinyuser.tinyuser_api.views

"""Views for the user API."""

from rest_framework import generics, authentication, permissions
from rest_framework.authtoken.views import ObtainAuthToken
from rest_framework.settings import api_settings
from .serializers import (
    # UserProfileSerializer,
    SafeUserSerializer,
    UserSerializer,
    AuthTokenSerializer,
)
# from django.contrib.auth import get_user_model


[docs] class CreateUserView(generics.CreateAPIView): """Create a new user in the system.""" serializer_class = UserSerializer permission_classes = (permissions.AllowAny,)
[docs] class ManageUserView(generics.RetrieveUpdateAPIView): """Manage the authenticated user.""" serializer_class = SafeUserSerializer authentication_classes = (authentication.TokenAuthentication,) permission_classes = (permissions.IsAuthenticated,)
[docs] def get_object(self): """Retrieve and return the authenticated user.""" return self.request.user
[docs] class CreateTokenView(ObtainAuthToken): """Create a new auth token for user.""" serializer_class = AuthTokenSerializer renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES