views.py 2.15 KB
from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from rest_framework import permissions
from khudrive.api.serializers import UserSerializer,GroupSerializer
from rest_framework.decorators import action
from rest_framework.response import Response

class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer
    # permission_classes = [permissions.IsAuthenticated]

    @action(detail=False, methods=['GET'])
    def isIdPossible(self, request):
        # user = self.get_object()
        # serializer = PasswordSerializer(data=request.data)
        # if serializer.is_valid():
        return Response({
            'message': 'possible'
        })
        # else:
        #     return Response(serializer.errors,
        #                     status=status.HTTP_400_BAD_REQUEST)

    #Sign Up
    @action(detail=False, methods=['POST'])
    def signUp(self, request):
        if True:
            return Response({
                'message': 'user created'
            })
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)

    # Login, token create
    @action(detail=False, methods=['POST'])
    def login(self, request):
        if True:
            return Response({
                'message': 'login success'
            })
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)

    # User 생성
    @action(detail=True, methods=['GET'])
    def getById(self, request, pk=None):
        if True:
            return Response({
                'message': 'possible'
            })
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)




class ItemViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows groups to be viewed or edited.
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer
    permission_classes = [permissions.IsAuthenticated]