diff --git a/announcement/serializers.py b/announcement/serializers.py index 4797f8c..75f3eb4 100644 --- a/announcement/serializers.py +++ b/announcement/serializers.py @@ -1,4 +1,4 @@ -from submission.serializers import SubmissionCodeSerializer +from submission.serializers import SubmissionListSerializer from utils.api import serializers from utils.api._serializers import UsernameSerializer @@ -40,24 +40,12 @@ class EditAnnouncementSerializer(serializers.Serializer): class MessageSerializer(serializers.Serializer): sender = UsernameSerializer() - recipient = UsernameSerializer() - submission = SubmissionCodeSerializer() + submission = SubmissionListSerializer() class Meta: model = Message fields = "__all__" - -class MessageListSerializer(serializers.Serializer): - sender = UsernameSerializer() - recipient = UsernameSerializer() - submission = SubmissionCodeSerializer() - - class Meta: - model = Message - exclude = ["message"] - - class CreateMessageSerializer(serializers.Serializer): recipient = serializers.IntegerField() submission = serializers.CharField() diff --git a/announcement/views/oj.py b/announcement/views/oj.py index cb2908d..3768fb1 100644 --- a/announcement/views/oj.py +++ b/announcement/views/oj.py @@ -6,7 +6,7 @@ from utils.api import APIView from announcement.models import Announcement, Message from announcement.serializers import (AnnouncementSerializer, AnnouncementListSerializer, - CreateMessageSerializer, MessageListSerializer, + CreateMessageSerializer, MessageSerializer) from utils.api.api import validate_serializer @@ -28,16 +28,8 @@ class AnnouncementAPI(APIView): class MessageAPI(APIView): @login_required def get(self, request): - message_id = request.GET.get("id") - if message_id: - try: - message = Message.objects.filter(id=message_id, recipient=request.user) - return self.success(MessageSerializer(message).data) - except Message.DoesNotExist: - return self.error("Message does not exist") - else: - messages = Message.objects.select_related("recipient","sender", "submission").filter(recipient=request.user) - return self.success(self.paginate_data(request, messages, MessageListSerializer)) + messages = Message.objects.select_related("recipient","sender", "submission").filter(recipient=request.user) + return self.success(self.paginate_data(request, messages, MessageSerializer)) @validate_serializer(CreateMessageSerializer) @super_admin_required diff --git a/submission/serializers.py b/submission/serializers.py index 4339191..5e48f3e 100644 --- a/submission/serializers.py +++ b/submission/serializers.py @@ -31,13 +31,6 @@ class SubmissionSafeModelSerializer(serializers.ModelSerializer): model = Submission exclude = ("info", "contest", "ip") -class SubmissionCodeSerializer(serializers.Serializer): - problem = serializers.SlugRelatedField(read_only=True, slug_field="_id") - - class Meta: - model = Submission - fields = ("id", "code", "problem", "result", "language") - class SubmissionListSerializer(serializers.ModelSerializer): problem = serializers.SlugRelatedField(read_only=True, slug_field="_id")