Skip to content
Snippets Groups Projects
serializers.py 1.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • from funkwhale_api.activity import serializers as activity_serializers
    
    from funkwhale_api.music.serializers import TrackActivitySerializer, TrackSerializer
    from funkwhale_api.users.serializers import UserActivitySerializer, UserBasicSerializer
    
    class TrackFavoriteActivitySerializer(activity_serializers.ModelSerializer):
        type = serializers.SerializerMethodField()
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        object = TrackActivitySerializer(source="track")
        actor = UserActivitySerializer(source="user")
        published = serializers.DateTimeField(source="creation_date")
    
    
        class Meta:
            model = models.TrackFavorite
    
    Eliot Berriot's avatar
    Eliot Berriot committed
            fields = ["id", "local_id", "object", "type", "actor", "published"]
    
    
        def get_actor(self, obj):
            return UserActivitySerializer(obj.user).data
    
        def get_type(self, obj):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
            return "Like"
    
    class UserTrackFavoriteSerializer(serializers.ModelSerializer):
    
        track = TrackSerializer(read_only=True)
        user = UserBasicSerializer(read_only=True)
    
        class Meta:
            model = models.TrackFavorite
            fields = ("id", "user", "track", "creation_date")
    
    
    class UserTrackFavoriteWriteSerializer(serializers.ModelSerializer):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
            fields = ("id", "track", "creation_date")