From 67d2b3cb9e77fc6f8d6500da06841a41e4a993f7 Mon Sep 17 00:00:00 2001 From: Kamil Date: Wed, 11 Dec 2024 14:15:15 +0000 Subject: [PATCH] feat: enhance add_playlist function to support JSON input and manage additional users for playlists --- app/routes/jellyfin_routes.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/routes/jellyfin_routes.py b/app/routes/jellyfin_routes.py index f396db9..2e9ab42 100644 --- a/app/routes/jellyfin_routes.py +++ b/app/routes/jellyfin_routes.py @@ -9,7 +9,7 @@ from app.tasks import task_manager from app.registry.music_provider_registry import MusicProviderRegistry from jellyfin.objects import PlaylistMetadata -from app.routes import pl_bp +from app.routes import pl_bp, routes @app.route('/jellyfin_playlists') @functions.jellyfin_login_required @@ -53,6 +53,13 @@ def jellyfin_playlists(): def add_playlist(): playlist_id = request.form.get('item_id') playlist_name = request.form.get('item_name') + + if not playlist_id and request.data: + # get data convert from json to dict + data = request.get_json() + playlist_id = data.get('item_id') + playlist_name = data.get('item_name') + additional_users = data.get('additional_users') # also get the provider id from the query params provider_id = request.args.get('provider') if not playlist_id: @@ -122,6 +129,13 @@ def add_playlist(): "can_remove":True, "jellyfin_id" : playlist.jellyfin_id } + if additional_users and session['is_admin']: + db.session.commit() + app.logger.debug(f"Additional users: {additional_users}") + for user_id in additional_users: + routes.add_jellyfin_user_to_playlist_internal(user_id,playlist.jellyfin_id) + + return render_template('partials/_add_remove_button.html',item= item)