diff --git a/backend/common/src/search_processor.py b/backend/common/src/search_processor.py index e5c0cac4..6c1d410b 100644 --- a/backend/common/src/search_processor.py +++ b/backend/common/src/search_processor.py @@ -160,6 +160,7 @@ class SearchProcess: "playlist_last_refresh": playlist_last_refresh, } ) + print(playlist_dict) return dict(sorted(playlist_dict.items())) diff --git a/backend/playlist/src/index.py b/backend/playlist/src/index.py index 165860dc..e676fbbb 100644 --- a/backend/playlist/src/index.py +++ b/backend/playlist/src/index.py @@ -325,6 +325,7 @@ class YoutubePlaylist(YouTubeItem): self.delete_metadata() def create(self, name): + """create custom playlist""" self.json_data = { "playlist_id": self.youtube_id, "playlist_active": False, @@ -337,6 +338,7 @@ class YoutubePlaylist(YouTubeItem): "playlist_description": False, "playlist_thumbnail": False, "playlist_subscribed": False, + "playlist_sort_order": "top", } self.upload_to_es() self.get_playlist_art() diff --git a/backend/playlist/src/query_building.py b/backend/playlist/src/query_building.py index 9b93f640..03d215df 100644 --- a/backend/playlist/src/query_building.py +++ b/backend/playlist/src/query_building.py @@ -45,7 +45,7 @@ class QueryBuilder: type_parsed = getattr(PlaylistTypesEnum, playlist_type.upper()).value - return {"match": {"playlist_type.keyword": type_parsed}} + return {"match": {"playlist_types": type_parsed}} def parse_sort(self) -> dict: """return sort""" diff --git a/backend/playlist/views.py b/backend/playlist/views.py index bb756081..d7a4561d 100644 --- a/backend/playlist/views.py +++ b/backend/playlist/views.py @@ -239,6 +239,12 @@ class PlaylistApiView(ApiBaseView): error = ErrorResponseSerializer({"error": "playlist not found"}) return Response(error.data, status=404) + if self.response["playlist_type"] == "custom": + error = ErrorResponseSerializer( + {"error": f"playlist with ID {playlist_id} is custom"} + ) + return Response(error.data, status=400) + subscribed = validated_data.get("playlist_subscribed") sort_order = validated_data.get("playlist_sort_order") diff --git a/frontend/src/pages/Playlist.tsx b/frontend/src/pages/Playlist.tsx index 6d1227d4..9e19a669 100644 --- a/frontend/src/pages/Playlist.tsx +++ b/frontend/src/pages/Playlist.tsx @@ -288,31 +288,33 @@ const Playlist = () => { /> )} -
- Switch sort order: -
- { - const newSortOrder = - playlist.playlist_sort_order === 'top' ? 'bottom' : 'top'; - await updatePlaylistSortOrder(playlist.playlist_id, newSortOrder); - setRefresh(true); - }} - /> - {playlist.playlist_sort_order === 'bottom' ? ( - - ) : ( - - )} + {playlist.playlist_type !== 'custom' && ( +
+ Switch sort order: +
+ { + const newSortOrder = + playlist.playlist_sort_order === 'top' ? 'bottom' : 'top'; + await updatePlaylistSortOrder(playlist.playlist_id, newSortOrder); + setRefresh(true); + }} + /> + {playlist.playlist_sort_order === 'bottom' ? ( + + ) : ( + + )} +
-
+ )}