From bf611f2ecdc592ce3e494d58a0aac5416fa48d45 Mon Sep 17 00:00:00 2001 From: Agate Date: Thu, 3 Sep 2020 15:58:26 +0200 Subject: [PATCH] Fix #1217: Fixed "scope=subscribed" on albums, artists, uploads and libraries API --- api/funkwhale_api/music/filters.py | 16 ++++++++++++---- changes/changelog.d/1217.bugfix | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 changes/changelog.d/1217.bugfix diff --git a/api/funkwhale_api/music/filters.py b/api/funkwhale_api/music/filters.py index f9eba868a..f38b4d9cd 100644 --- a/api/funkwhale_api/music/filters.py +++ b/api/funkwhale_api/music/filters.py @@ -104,7 +104,9 @@ class ArtistFilter( has_albums = filters.BooleanFilter(field_name="_", method="filter_has_albums") tag = TAG_FILTER scope = common_filters.ActorScopeFilter( - actor_field="tracks__uploads__library__actor", distinct=True + actor_field="tracks__uploads__library__actor", + distinct=True, + library_field="tracks__uploads__library", ) ordering = django_filters.OrderingFilter( fields=( @@ -207,7 +209,9 @@ class UploadFilter(audio_filters.IncludeChannelsFilterSet): album_artist = filters.UUIDFilter("track__album__artist__uuid") library = filters.UUIDFilter("library__uuid") playable = filters.BooleanFilter(field_name="_", method="filter_playable") - scope = common_filters.ActorScopeFilter(actor_field="library__actor", distinct=True) + scope = common_filters.ActorScopeFilter( + actor_field="library__actor", distinct=True, library_field="library", + ) import_status = common_filters.MultipleQueryFilter(coerce=str) q = fields.SmartSearchFilter( config=search.SearchConfig( @@ -255,7 +259,9 @@ class AlbumFilter( ) tag = TAG_FILTER scope = common_filters.ActorScopeFilter( - actor_field="tracks__uploads__library__actor", distinct=True + actor_field="tracks__uploads__library__actor", + distinct=True, + library_field="tracks__uploads__library", ) ordering = django_filters.OrderingFilter( @@ -284,7 +290,9 @@ class AlbumFilter( class LibraryFilter(filters.FilterSet): q = fields.SearchFilter(search_fields=["name"],) - scope = common_filters.ActorScopeFilter(actor_field="actor", distinct=True) + scope = common_filters.ActorScopeFilter( + actor_field="actor", distinct=True, library_field="pk", + ) class Meta: model = models.Library diff --git a/changes/changelog.d/1217.bugfix b/changes/changelog.d/1217.bugfix new file mode 100644 index 000000000..c4306a50e --- /dev/null +++ b/changes/changelog.d/1217.bugfix @@ -0,0 +1 @@ +Fixed "scope=subscribed" on albums, artists, uploads and libraries API (#1217) \ No newline at end of file