Files
ibapp-backend/core/apps/finance/serializers/income_chat.py
2025-09-26 16:20:35 +05:00

40 lines
1.1 KiB
Python

from django.db import transaction
from rest_framework import serializers
from core.apps.finance.models import IncomeMessage
class IncomeMessageListSerializer(serializers.ModelSerializer):
user = serializers.SerializerMethodField(method_name='get_user')
class Meta:
model = IncomeMessage
fields = [
'id', 'user', 'message', 'file', 'created_at'
]
def get_user(self, obj):
return {
'id': obj.user.id,
'full_name': obj.user.full_name,
'profile_image': obj.user.profile_image.url if obj.user.profile_image else None,
}
class IncomeMessageCreateSerializer(serializers.ModelSerializer):
class Meta:
model = IncomeMessage
fields = [
'message', 'file', 'chat'
]
def create(self, validated_data):
with transaction.atomic():
return IncomeMessage.objects.create(
message=validated_data.get('message'),
file=validated_data.get('file'),
user=self.context.get('user'),
chat=validated_data.get('chat'),
)