from rest_framework import serializers from .models import Notification class NotificationItemSerializer(serializers.ModelSerializer): id = serializers.IntegerField() isRead = serializers.BooleanField(source='is_read') # body و createdAt از ابتدا روی مدل بودند ولی در پاسخ نبودند، یعنی فرانت # نه متنِ اعلان را داشت نه زمانش — و هر لیستِ اعلانی به هر دو نیاز دارد. # هر دو فقط «اضافه» می‌شوند؛ هیچ فیلدی حذف یا تغییرِ نام نداده، پس # کلاینتِ فعلی نمی‌شکند. createdAt = serializers.DateTimeField(source='created_at', read_only=True) class Meta: model = Notification fields = ['id', 'type', 'title', 'body', 'isRead', 'createdAt'] class NotificationListResponseSerializer(serializers.Serializer): items = NotificationItemSerializer(many=True) unreadCount = serializers.IntegerField() class MarkReadResponseSerializer(serializers.Serializer): success = serializers.BooleanField()