Broadcast library updates (name, description, visibility) over federation

This commit is contained in:
Eliot Berriot 2018-11-09 19:53:12 +01:00
commit 4976981926
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
8 changed files with 185 additions and 1 deletions

View file

@ -192,6 +192,7 @@ class TrackSerializer(serializers.ModelSerializer):
return TrackUploadSerializer(uploads, many=True).data
@common_serializers.track_fields_for_update("name", "description", "privacy_level")
class LibraryForOwnerSerializer(serializers.ModelSerializer):
uploads_count = serializers.SerializerMethodField()
size = serializers.SerializerMethodField()
@ -216,6 +217,11 @@ class LibraryForOwnerSerializer(serializers.ModelSerializer):
def get_size(self, o):
return getattr(o, "_size", 0)
def on_updated_fields(self, obj, before, after):
routes.outbox.dispatch(
{"type": "Update", "object": {"type": "Library"}}, context={"library": obj}
)
class UploadSerializer(serializers.ModelSerializer):
track = TrackSerializer(required=False, allow_null=True)