20 lines
730 B
Python
20 lines
730 B
Python
from django.shortcuts import render
|
|
|
|
# Create your views here.
|
|
|
|
from rest_framework import generics, permissions
|
|
from .models import User
|
|
from .serializers import PublicUserSerializers, SecureUserSerializers
|
|
from .permissions import UserEditAPIKeyPermissions
|
|
|
|
#Public view: List users with only public fields
|
|
class PublicUserView(generics.ListAPIView):
|
|
queryset = User.objects.all()
|
|
serializer_class = PublicUserSerializers
|
|
permission_classes = [permissions.AllowAny]
|
|
|
|
#Secure view for retrive/update user all fields (API key)
|
|
class SecureUserUpdateView(generics.RetrieveUpdateAPIView):
|
|
queryset = User.objects.all()
|
|
serializer_class = SecureUserSerializers
|
|
permission_classes = [UserEditAPIKeyPermissions] |