Broadcast library updates (name, description, visibility) over federation
This commit is contained in:
parent
51457aa889
commit
4976981926
8 changed files with 185 additions and 1 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue