62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
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()
|