add playlist subscribed filter, align filter UIUX

This commit is contained in:
Simon
2025-08-14 17:13:15 +07:00
parent 41c9415b3f
commit d9a3d7f12f
13 changed files with 119 additions and 86 deletions

View File

@@ -64,7 +64,9 @@ class ChannelListSerializer(serializers.Serializer):
class ChannelListQuerySerializer(serializers.Serializer):
"""serialize list query"""
filter = serializers.ChoiceField(choices=["subscribed"], required=False)
filter = serializers.ChoiceField(
choices=["subscribed", "unsubscribed"], required=False
)
page = serializers.IntegerField(required=False)

View File

@@ -51,8 +51,11 @@ class ChannelApiListView(ApiBaseView):
must_list = []
query_filter = validated_data.get("filter")
if query_filter:
must_list.append({"term": {"channel_subscribed": {"value": True}}})
if query_filter is not None:
channel_subscribed = query_filter == "subscribed"
must_list.append(
{"term": {"channel_subscribed": {"value": channel_subscribed}}}
)
self.data["query"] = {"bool": {"must": must_list}}
self.get_document_list(request)