See #170: fetching remote objects

This commit is contained in:
Eliot Berriot 2020-03-02 17:23:03 +01:00
commit c2eeee5eb1
30 changed files with 1175 additions and 171 deletions

View file

@ -324,6 +324,7 @@ class TrackSerializer(OptionalDescriptionMixin, serializers.Serializer):
class LibraryForOwnerSerializer(serializers.ModelSerializer):
uploads_count = serializers.SerializerMethodField()
size = serializers.SerializerMethodField()
actor = serializers.SerializerMethodField()
class Meta:
model = models.Library
@ -336,6 +337,7 @@ class LibraryForOwnerSerializer(serializers.ModelSerializer):
"uploads_count",
"size",
"creation_date",
"actor",
]
read_only_fields = ["fid", "uuid", "creation_date", "actor"]
@ -350,6 +352,12 @@ class LibraryForOwnerSerializer(serializers.ModelSerializer):
{"type": "Update", "object": {"type": "Library"}}, context={"library": obj}
)
def get_actor(self, o):
# Import at runtime to avoid a circular import issue
from funkwhale_api.federation import serializers as federation_serializers
return federation_serializers.APIActorSerializer(o.actor).data
class UploadSerializer(serializers.ModelSerializer):
track = TrackSerializer(required=False, allow_null=True)