refactor(notifications): align app structure with backend conventions
This commit is contained in:
61
apps/notifications/api/serializers.py
Normal file
61
apps/notifications/api/serializers.py
Normal file
@@ -0,0 +1,61 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class NotificationSerializer(serializers.Serializer):
|
||||
id = serializers.CharField()
|
||||
type = serializers.CharField()
|
||||
title = serializers.CharField(allow_blank=True)
|
||||
message = serializers.CharField(allow_blank=True)
|
||||
level = serializers.ChoiceField(
|
||||
choices=("info", "success", "warning", "error")
|
||||
)
|
||||
created_at = serializers.CharField()
|
||||
is_seen = serializers.BooleanField()
|
||||
delete_on_seen = serializers.BooleanField()
|
||||
action_url = serializers.CharField(
|
||||
required=False, allow_blank=True, allow_null=True
|
||||
)
|
||||
entity_type = serializers.CharField(
|
||||
required=False, allow_blank=True, allow_null=True
|
||||
)
|
||||
entity_id = serializers.CharField(
|
||||
required=False, allow_blank=True, allow_null=True
|
||||
)
|
||||
meta = serializers.JSONField(required=False)
|
||||
|
||||
|
||||
class NotificationListResponseSerializer(serializers.Serializer):
|
||||
count = serializers.IntegerField()
|
||||
unread_count = serializers.IntegerField()
|
||||
notifications = NotificationSerializer(many=True)
|
||||
|
||||
|
||||
class NotificationSeenRequestSerializer(serializers.Serializer):
|
||||
id = serializers.CharField()
|
||||
|
||||
|
||||
class NotificationDeleteResponseSerializer(serializers.Serializer):
|
||||
deleted = serializers.BooleanField()
|
||||
notification_id = serializers.CharField(required=False)
|
||||
unread_count = serializers.IntegerField(required=False)
|
||||
|
||||
|
||||
class NotificationSeenResponseSerializer(serializers.Serializer):
|
||||
marked_read = serializers.BooleanField()
|
||||
notification_id = serializers.CharField(required=False)
|
||||
deleted = serializers.BooleanField(required=False)
|
||||
unread_count = serializers.IntegerField(required=False)
|
||||
notification = NotificationSerializer(required=False, allow_null=True)
|
||||
|
||||
|
||||
class NotificationMarkAllReadResponseSerializer(serializers.Serializer):
|
||||
marked_read = serializers.IntegerField()
|
||||
|
||||
|
||||
class NotificationTypeFilterSerializer(serializers.Serializer):
|
||||
type = serializers.CharField(required=False, allow_blank=True, allow_null=True)
|
||||
|
||||
|
||||
class NotificationStreamTokenResponseSerializer(serializers.Serializer):
|
||||
token = serializers.CharField()
|
||||
expires_in = serializers.IntegerField()
|
||||
Reference in New Issue
Block a user