From d152987b97513b802f94d2888d439866470e61eb Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Sun, 27 Sep 2020 23:21:12 -0700 Subject: [PATCH] Let /album/add_child, /remove_child take multiple IDs. --- frontends/etiquette_flask/backend/common.py | 4 ++++ .../backend/endpoints/album_endpoints.py | 17 +++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/frontends/etiquette_flask/backend/common.py b/frontends/etiquette_flask/backend/common.py index 2c574ed..ef1047a 100644 --- a/frontends/etiquette_flask/backend/common.py +++ b/frontends/etiquette_flask/backend/common.py @@ -142,6 +142,10 @@ def P_wrapper(function): def P_album(album_id): return P.get_album(album_id) +@P_wrapper +def P_albums(album_ids): + return P.get_albums_by_id(album_ids) + @P_wrapper def P_bookmark(bookmark_id): return P.get_bookmark(bookmark_id) diff --git a/frontends/etiquette_flask/backend/endpoints/album_endpoints.py b/frontends/etiquette_flask/backend/endpoints/album_endpoints.py index 010f23e..a7b05e7 100644 --- a/frontends/etiquette_flask/backend/endpoints/album_endpoints.py +++ b/frontends/etiquette_flask/backend/endpoints/album_endpoints.py @@ -56,18 +56,23 @@ def get_album_zip(album_id): @decorators.required_fields(['child_id'], forbid_whitespace=True) def post_album_add_child(album_id): album = common.P_album(album_id, response_type='json') - child = common.P_album(request.form['child_id'], response_type='json') - album.add_child(child, commit=True) - response = etiquette.jsonify.album(child) + + child_ids = etiquette.helpers.comma_space_split(request.form['child_id']) + children = list(common.P_albums(child_ids, response_type='json')) + print(children) + album.add_children(children, commit=True) + response = etiquette.jsonify.album(album) return jsonify.make_json_response(response) @site.route('/album//remove_child', methods=['POST']) @decorators.required_fields(['child_id'], forbid_whitespace=True) def post_album_remove_child(album_id): album = common.P_album(album_id, response_type='json') - child = common.P_album(request.form['child_id'], response_type='json') - album.remove_child(child, commit=True) - response = etiquette.jsonify.album(child) + + child_ids = etiquette.helpers.comma_space_split(request.form['child_id']) + children = list(common.P_albums(child_ids, response_type='json')) + album.remove_children(children, commit=True) + response = etiquette.jsonify.album(album) return jsonify.make_json_response(response) @site.route('/album//refresh_directories', methods=['POST'])