view and model notif and news

This commit is contained in:
Parsa Nazer
2025-05-24 22:02:16 +03:30
parent 11eab8c21b
commit 7c1c34e1e5
9 changed files with 235 additions and 2 deletions
+29
View File
@@ -32,3 +32,32 @@ class PushSubscriptionSerializer(serializers.ModelSerializer):
class Meta:
model = PushSubscription
fields = ('endpoint', 'keys')
class NewsSerializer(serializers.ModelSerializer):
notif_type = serializers.SerializerMethodField()
class Meta:
model = NewsModel
fields = ['title', 'content', 'image', 'created_at', 'notif_type']
def get_notif_type(self, obj):
return 'NEWS'
class UserNotifSerializer(serializers.ModelSerializer):
notif_type = serializers.SerializerMethodField()
class Meta:
model = UserNotificationModel
fields = ['title', 'content', 'image', 'created_at', 'notif_type', 'is_read']
def get_notif_type(self, obj):
return 'USER_NOTIF'
class UnifiedNotifSerializer(serializers.Serializer):
def to_representation(self, instance):
if isinstance(instance, NewsModel):
return NewsSerializer(instance).data
elif isinstance(instance, UserNotificationModel):
return UserNotifSerializer(instance).data