fix: Fix Serializer for inline channel artists
This commit is contained in:
parent
452f2ee104
commit
b136273dd4
|
@ -26,7 +26,7 @@ from funkwhale_api.federation import serializers as federation_serializers
|
||||||
from funkwhale_api.federation import utils as federation_utils
|
from funkwhale_api.federation import utils as federation_utils
|
||||||
from funkwhale_api.moderation import mrf
|
from funkwhale_api.moderation import mrf
|
||||||
from funkwhale_api.music import models as music_models
|
from funkwhale_api.music import models as music_models
|
||||||
from funkwhale_api.music.serializers import COVER_WRITE_FIELD, SimpleArtistSerializer
|
from funkwhale_api.music.serializers import COVER_WRITE_FIELD, CoverField
|
||||||
from funkwhale_api.tags import models as tags_models
|
from funkwhale_api.tags import models as tags_models
|
||||||
from funkwhale_api.tags import serializers as tags_serializers
|
from funkwhale_api.tags import serializers as tags_serializers
|
||||||
from funkwhale_api.users import serializers as users_serializers
|
from funkwhale_api.users import serializers as users_serializers
|
||||||
|
@ -229,8 +229,26 @@ class ChannelUpdateSerializer(serializers.Serializer):
|
||||||
return ChannelSerializer(obj, context=self.context).data
|
return ChannelSerializer(obj, context=self.context).data
|
||||||
|
|
||||||
|
|
||||||
|
class SimpleChannelArtistSerializer(serializers.Serializer):
|
||||||
|
id = serializers.IntegerField()
|
||||||
|
fid = serializers.URLField()
|
||||||
|
mbid = serializers.CharField()
|
||||||
|
name = serializers.CharField()
|
||||||
|
creation_date = serializers.DateTimeField()
|
||||||
|
modification_date = serializers.DateTimeField()
|
||||||
|
is_local = serializers.BooleanField()
|
||||||
|
content_category = serializers.CharField()
|
||||||
|
description = common_serializers.ContentSerializer(allow_null=True, required=False)
|
||||||
|
cover = CoverField(allow_null=True, required=False)
|
||||||
|
channel = serializers.UUIDField(allow_null=True, required=False)
|
||||||
|
tracks_count = serializers.IntegerField(source="_tracks_count", required=False)
|
||||||
|
tags = serializers.ListField(
|
||||||
|
child=serializers.CharField(), source="_prefetched_tagged_items", required=False
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ChannelSerializer(serializers.ModelSerializer):
|
class ChannelSerializer(serializers.ModelSerializer):
|
||||||
artist = SimpleArtistSerializer()
|
artist = SimpleChannelArtistSerializer()
|
||||||
actor = serializers.SerializerMethodField()
|
actor = serializers.SerializerMethodField()
|
||||||
downloads_count = serializers.SerializerMethodField()
|
downloads_count = serializers.SerializerMethodField()
|
||||||
attributed_to = federation_serializers.APIActorSerializer()
|
attributed_to = federation_serializers.APIActorSerializer()
|
||||||
|
|
|
@ -45,6 +45,9 @@ class TaggedItem(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = ("tag", "content_type", "object_id")
|
unique_together = ("tag", "content_type", "object_id")
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.tag.name
|
||||||
|
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def add_tags(obj, *tags):
|
def add_tags(obj, *tags):
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fix Serializer for inline channel artists (#1833)
|
Loading…
Reference in New Issue