from rest_framework import serializers class BugReportCreateRequestSerializer(serializers.Serializer): title = serializers.CharField(max_length=150) # سقف: پیش‌تر هر متن تا حدِ بدنه‌ی درخواست (~۲٫۵ مگابایت) پذیرفته و ذخیره می‌شد. description = serializers.CharField(max_length=5000) screenshotUrl = serializers.URLField(required=False, allow_blank=True) class BugReportCreateResponseSerializer(serializers.Serializer): bugReportId = serializers.CharField() status = serializers.CharField() class TicketCreateRequestSerializer(serializers.Serializer): subject = serializers.CharField(max_length=150) category = serializers.CharField(max_length=30) priority = serializers.ChoiceField(choices=['low', 'normal', 'high'], required=False) class TicketCreateResponseSerializer(serializers.Serializer): ticketId = serializers.CharField() status = serializers.CharField() class TicketSummarySerializer(serializers.Serializer): ticketId = serializers.CharField() subject = serializers.CharField() category = serializers.CharField() status = serializers.CharField() createdAt = serializers.DateTimeField() supportReplies = serializers.IntegerField() class TicketListResponseSerializer(serializers.Serializer): tickets = TicketSummarySerializer(many=True) class TicketMessageItemSerializer(serializers.Serializer): id = serializers.CharField() sender = serializers.CharField() text = serializers.CharField() class TicketDetailResponseSerializer(serializers.Serializer): ticketId = serializers.CharField() subject = serializers.CharField() status = serializers.CharField() messages = TicketMessageItemSerializer(many=True) class TicketMessageCreateRequestSerializer(serializers.Serializer): text = serializers.CharField(max_length=5000) class TicketMessageCreateResponseSerializer(serializers.Serializer): messageId = serializers.CharField() success = serializers.BooleanField()