From 2b70f3ba422dc7788f807558024f3d48e3cecd62 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Sun, 21 Oct 2018 17:26:58 +0200
Subject: [PATCH] Fix #581: missing track count on various library cards

---
 api/funkwhale_api/music/views.py | 2 +-
 api/tests/music/test_views.py    | 1 +
 changes/changelog.d/581.bugfix   | 0
 3 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 changes/changelog.d/581.bugfix

diff --git a/api/funkwhale_api/music/views.py b/api/funkwhale_api/music/views.py
index 871dfc920..c8d1b94fc 100644
--- a/api/funkwhale_api/music/views.py
+++ b/api/funkwhale_api/music/views.py
@@ -35,7 +35,7 @@ def get_libraries(filter_uploads):
         uploads = uploads.playable_by(actor)
         libraries = models.Library.objects.filter(
             pk__in=uploads.values_list("library", flat=True)
-        )
+        ).annotate(_uploads_count=Count("uploads"))
         libraries = libraries.select_related("actor")
         page = self.paginate_queryset(libraries)
         if page is not None:
diff --git a/api/tests/music/test_views.py b/api/tests/music/test_views.py
index 2f9d66e5b..389306820 100644
--- a/api/tests/music/test_views.py
+++ b/api/tests/music/test_views.py
@@ -462,6 +462,7 @@ def test_can_get_libraries_for_music_entities(
         import_status="finished", library__privacy_level="me", track=upload.track
     ).library
     library = upload.library
+    setattr(library, "_uploads_count", 1)
     data = {
         "artist": upload.track.artist,
         "album": upload.track.album,
diff --git a/changes/changelog.d/581.bugfix b/changes/changelog.d/581.bugfix
new file mode 100644
index 000000000..e69de29bb
-- 
GitLab