from django.contrib.auth.models import User
from rest_framework import serializers
from django.contrib.contenttypes.models import ContentType
from rest_framework.serializers import ModelSerializer
from models import Notification
from User.models import UserProfile
from User.serializers import PictureField
[docs]class UserProfileSerializer(serializers.ModelSerializer):
picture = PictureField(read_only=True)
[docs]class UserSerializer(ModelSerializer):
profile = UserProfileSerializer(read_only=True)
[docs]class UserNotificationSerializer(ModelSerializer):
auto_created = True
[docs]class TypeSerializer(ModelSerializer):
[docs]class NotificationSerializer(ModelSerializer):
receiver = UserNotificationSerializer(read_only=True, many=True)
readed = UserNotificationSerializer(read_only=True, many=True)
user = UserSerializer(read_only=True)
datetime = serializers.ReadOnlyField()
link_type = TypeSerializer(read_only=True)
# link_item = serializers.DictField(child=serializers.CharField())
[docs]class GetNotificationSerializer(ModelSerializer):
read = serializers.BooleanField()
user = UserSerializer(read_only=True)
datetime = serializers.ReadOnlyField()
link_type = TypeSerializer(read_only=True)
[docs]class UpdateNotificationSerializer(ModelSerializer):
user = UserSerializer(read_only=True)
readed = UserNotificationSerializer(read_only=True, many=True)