update serilaizer of ticket and message

This commit is contained in:
Parsa Nazer
2025-02-28 22:44:27 +03:30
parent db4fc164fc
commit 308b63ba71
+11 -1
View File
@@ -21,6 +21,16 @@ class AttachmentSerializer(serializers.ModelSerializer):
return obj.file.url
class MessageSerializer(serializers.ModelSerializer):
is_user = serializers.SerializerMethodField(read_only=True)
class Meta:
model = Message
exclude = ('sender', )
extra_kwargs = {'ticket': {'write_only': True}}
def get_is_user(self, obj):
user = self.context['request'].user
return user == obj.sender
class MessageAttachmentSerializer(serializers.ModelSerializer):
is_user = serializers.SerializerMethodField(read_only=True)
attachments = AttachmentSerializer(many=True, read_only=True)
class Meta:
@@ -38,7 +48,7 @@ class MessageForTicketSerializer(serializers.ModelSerializer):
class TicketSerializer(serializers.ModelSerializer):
status = serializers.SerializerMethodField()
ticket_category = serializers.SerializerMethodField()
messages = MessageSerializer(many=True, read_only=True)
messages = MessageAttachmentSerializer(many=True, read_only=True)
message = MessageForTicketSerializer(write_only=True)
order_id = serializers.PrimaryKeyRelatedField(queryset=OrderModel.objects.all(), write_only=True, source='order')
order = OrderSerializer(read_only=True)