From 9be9a9bfacaa705b0aebbebb3310426ecb3c8c0e Mon Sep 17 00:00:00 2001 From: grimhilt Date: Mon, 14 Aug 2023 12:22:59 +0200 Subject: [PATCH] update playlist permission --- src/api/abl/PlaylistAbl.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/api/abl/PlaylistAbl.py b/src/api/abl/PlaylistAbl.py index 3a4d6a9..2be49e0 100644 --- a/src/api/abl/PlaylistAbl.py +++ b/src/api/abl/PlaylistAbl.py @@ -28,12 +28,23 @@ class PlaylistAbl: return jsonify(res) @staticmethod - def update(playlist_id, data): - db.session.query(Playlist) \ - .filter(Playlist.id == playlist_id) \ - .update({'name': data['name']}) + def update(playlist_id, data): + playlist = db.session.query(Playlist).get(playlist_id) + + if 'view' in data: + roles_view = db.session.query(Role).filter(Role.id.in_(data['view'])).all() + playlist.view = roles_view + + if 'edit' in data: + roles_edit = db.session.query(Role).filter(Role.id.in_(data['edit'])).all() + playlist.edit = roles_edit + + if 'name' in data: + playlist.name = data['name'] + + db.session.flush() db.session.commit() - return jsonify(success=True) + return jsonify(playlist.as_dict_with_roles()) @staticmethod def get_playlist(playlist_id):