diff --git a/chat/views/ask.py b/chat/views/ask.py index 19fe7f4..40757dd 100644 --- a/chat/views/ask.py +++ b/chat/views/ask.py @@ -3,13 +3,7 @@ from rest_framework.response import Response from rest_framework import permissions, status from rest_framework.authentication import SessionAuthentication -from django.http import HttpRequest -from django.contrib.auth import login -from django.db.models import QuerySet -from django.core import serializers - from chat.models import AskModel -from profiles.models import ProfileModel from ..serializers.ask import AskSerializer @@ -17,62 +11,64 @@ from notice.consumers import notice_manager from django.contrib.auth.models import User + class AskView(APIView): - - serializer_class = AskSerializer - permission_classes = (permissions.IsAuthenticated,) - authentication_classes = (SessionAuthentication,) - def post(self, request): - data : dict = request.data - if (data["asked"] == None): - return + serializer_class = AskSerializer + permission_classes = (permissions.IsAuthenticated,) + authentication_classes = (SessionAuthentication,) - asker_id = request.user.pk - asked_id = data["asked"] + def post(self, request): + data: dict = request.data + if (data["asked"] is None): + return - if AskModel().is_asked(asker_id, asked_id): - return Response(status=status.HTTP_208_ALREADY_REPORTED) - - AskModel(asker_id=asker_id, asked_id=asked_id).save() - return Response(status=status.HTTP_201_CREATED) + asker_id = request.user.pk + asked_id = data["asked"] - def delete(self, request): - data : dict = request.data - if (data["asker"] == None): - return + if AskModel().is_asked(asker_id, asked_id): + return Response(status=status.HTTP_208_ALREADY_REPORTED) - asker_id = data["asker"] - asked_id = request.user.pk + AskModel(asker_id=asker_id, asked_id=asked_id).save() + return Response(status=status.HTTP_201_CREATED) - if not AskModel().is_asked(asker_id, asked_id): - return Response(status=status.HTTP_404_NOT_FOUND) + def delete(self, request): + data: dict = request.data + if (data["asker"] is None): + return - asker = User.objects.filter(pk=asked_id)[0] - notice_manager.refuse_game(request.user, asker) + asker_id = data["asker"] + asked_id = request.user.pk - AskModel(asker_id=asker_id, asked_id=asked_id).delete() + if not AskModel().is_asked(asker_id, asked_id): + return Response(status=status.HTTP_404_NOT_FOUND) + + asker = User.objects.filter(pk=asked_id)[0] + notice_manager.refuse_game(request.user, asker) + + AskModel(asker_id=asker_id, asked_id=asked_id).delete() + + return Response(status=status.HTTP_200_OK) - return Response(status=status.HTTP_200_OK) class AskAccepteView(APIView): - serializer_class = AskSerializer - permission_classes = (permissions.IsAuthenticated,) - authentication_classes = (SessionAuthentication,) + serializer_class = AskSerializer + permission_classes = (permissions.IsAuthenticated,) + authentication_classes = (SessionAuthentication,) - def post(self, request): - data : dict = request.data - if (data["asker"] == None): - return + def post(self, request): + data: dict = request.data + if (data["asker"] is None): + return - asker_id = data["asker"] - asked_id = request.user.pk + asker_id = data["asker"] + asked_id = request.user.pk - if not AskModel().is_asked(asker_id, asked_id): - return Response(status=status.HTTP_404_NOT_FOUND) - - notice_manager.accept_game(asker=User.objects.filter(pk=asker_id)[0], asked=User.objects.filter(pk=asked_id)[0]) + if not AskModel().is_asked(asker_id, asked_id): + return Response(status=status.HTTP_404_NOT_FOUND) - AskModel(asker_id=asker_id, asked_id=asked_id).delete() - return Response(status=status.HTTP_200_OK) + notice_manager.accept_game(asker=User.objects.filter(pk=asker_id)[0], asked=User.objects.filter(pk=asked_id)[0]) + + AskModel(asker_id=asker_id, asked_id=asked_id).delete() + return Response(status=status.HTTP_200_OK)