from django.shortcuts import render from rest_framework import generics, permissions from rest_framework.response import Response from rest_framework.decorators import api_view from .models import User from .serializers import UserSerializer class UserListView(generics.ListAPIView): """ API view to retrieve list of users. """ queryset = User.objects.all() serializer_class = UserSerializer permission_classes = [permissions.IsAuthenticated] class UserDetailView(generics.RetrieveAPIView): """ API view to retrieve a single user. """ queryset = User.objects.all() serializer_class = UserSerializer permission_classes = [permissions.IsAuthenticated] @api_view(['GET']) def current_user(request): """ API endpoint to retrieve the current user's profile. """ serializer = UserSerializer(request.user) return Response(serializer.data)