reorganized viewsets into their own files

This commit is contained in:
Edward Tirado Jr 2025-07-02 16:58:44 -05:00
parent 83982877c3
commit 2e7dbe4ddc
13 changed files with 330 additions and 277 deletions

View file

@ -0,0 +1,4 @@
from .group import GroupViewSet
from .user import UserViewSet
__all__ = ["GroupViewSet", "UserViewSet"]

13
users/viewsets/group.py Normal file
View file

@ -0,0 +1,13 @@
from knox.auth import TokenAuthentication
from django.contrib.auth.models import Group
from rest_framework import viewsets, permissions, status
from users.serializers import GroupSerializer
class GroupViewSet(viewsets.ModelViewSet):
authentication_classes = [TokenAuthentication]
permission_classes = [permissions.IsAuthenticated]
queryset = Group.objects.all().order_by("name")
serializer_class = GroupSerializer

26
users/viewsets/user.py Normal file
View file

@ -0,0 +1,26 @@
from django.contrib.auth.models import User, Group
from knox.auth import TokenAuthentication
from rest_framework import viewsets, permissions, status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from users.serializers import UserSerializer, GroupSerializer
class UserViewSet(viewsets.ModelViewSet):
authentication_classes = [TokenAuthentication]
permission_classes = [permissions.IsAuthenticated]
queryset = User.objects.all().order_by("-date_joined")
serializer_class = UserSerializer
@api_view(["POST"])
def register(request):
user_data = UserSerializer(data=request.data)
if user_data.is_valid():
User.objects.create_user(**user_data.validated_data)
return Response(request.data, status=status.HTTP_201_CREATED)
else:
return Response([], status=status.HTTP_400_BAD_REQUEST)