recipes_api.saveRecipeItem was updated to new...
This commit is contained in:
parent
4aea8c68ff
commit
8bf3b0a290
Binary file not shown.
Binary file not shown.
@ -132,11 +132,27 @@ def postUpdateRecipe(site:str, payload:tuple, convert:bool=True):
|
|||||||
with psycopg2.connect(**database_config) as conn:
|
with psycopg2.connect(**database_config) as conn:
|
||||||
with conn.cursor() as cur:
|
with conn.cursor() as cur:
|
||||||
set_clause, values = postsqldb.updateStringFactory(payload['update'])
|
set_clause, values = postsqldb.updateStringFactory(payload['update'])
|
||||||
with open("scripts/recipes/sql/postRecipeUpdate.sql") as file:
|
with open("scripts/recipes/sql/postUpdateRecipe.sql") as file:
|
||||||
sql = file.read().replace("%%site_name%%", site).replace("%%set_clause%%", set_clause)
|
sql = file.read().replace("%%site_name%%", site).replace("%%set_clause%%", set_clause)
|
||||||
values.append(payload['id'])
|
values.append(payload['id'])
|
||||||
cur.execute(sql, values)
|
cur.execute(sql, values)
|
||||||
|
rows = cur.fetchone()
|
||||||
|
if rows and convert:
|
||||||
|
updated = postsqldb.tupleDictionaryFactory(cur.description, rows)
|
||||||
|
elif rows and not convert:
|
||||||
|
updated = rows
|
||||||
|
return updated
|
||||||
|
|
||||||
|
def postUpdateRecipeItem(site:str, payload:tuple, convert:bool=True):
|
||||||
|
database_config = config.config()
|
||||||
|
updated = ()
|
||||||
|
with psycopg2.connect(**database_config) as conn:
|
||||||
|
with conn.cursor() as cur:
|
||||||
|
set_clause, values = postsqldb.updateStringFactory(payload['update'])
|
||||||
|
with open("scripts/recipes/sql/postUpdateRecipeItem.sql") as file:
|
||||||
|
sql = file.read().replace("%%site_name%%", site).replace("%%set_clause%%", set_clause)
|
||||||
|
values.append(payload['id'])
|
||||||
|
cur.execute(sql, values)
|
||||||
rows = cur.fetchone()
|
rows = cur.fetchone()
|
||||||
if rows and convert:
|
if rows and convert:
|
||||||
updated = postsqldb.tupleDictionaryFactory(cur.description, rows)
|
updated = postsqldb.tupleDictionaryFactory(cur.description, rows)
|
||||||
|
|||||||
@ -285,15 +285,21 @@ def deleteRecipeItem():
|
|||||||
return jsonify({'recipe': recipe, 'error': True, 'message': f'method {request.method} is not allowed!'})
|
return jsonify({'recipe': recipe, 'error': True, 'message': f'method {request.method} is not allowed!'})
|
||||||
|
|
||||||
@recipes_api.route('/recipe/saveRecipeItem', methods=["POST"])
|
@recipes_api.route('/recipe/saveRecipeItem', methods=["POST"])
|
||||||
|
@login_required
|
||||||
def saveRecipeItem():
|
def saveRecipeItem():
|
||||||
|
""" post an update to a recipe item in the database by passing the recipe item ID and an update
|
||||||
|
payload.
|
||||||
|
---
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: recipe item updated successfully.
|
||||||
|
"""
|
||||||
recipe = {}
|
recipe = {}
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
id = int(request.get_json()['id'])
|
id = int(request.get_json()['id'])
|
||||||
update = request.get_json()['update']
|
update = request.get_json()['update']
|
||||||
database_config = config()
|
|
||||||
site_name = session['selected_site']
|
site_name = session['selected_site']
|
||||||
with psycopg2.connect(**database_config) as conn:
|
updated_line = database_recipes.postUpdateRecipeItem(site_name, {'id': id, 'update': update})
|
||||||
updated_line = postsqldb.RecipesTable.update_item_tuple(conn, site_name, {'id': id, 'update': update}, convert=True)
|
recipe = database_recipes.getRecipe(site_name, (int(updated_line['rp_id']), ))
|
||||||
recipe = postsqldb.RecipesTable.getRecipe(conn, site_name, (int(updated_line['rp_id']), ), convert=True)
|
|
||||||
return jsonify({'recipe': recipe, 'error': False, 'message': f'Recipe Item {updated_line['item_name']} was updated successful!'})
|
return jsonify({'recipe': recipe, 'error': False, 'message': f'Recipe Item {updated_line['item_name']} was updated successful!'})
|
||||||
return jsonify({'recipe': recipe, 'error': True, 'message': 'Recipe Item was not updated unsuccessful!'})
|
return jsonify({'recipe': recipe, 'error': True, 'message': f'method {request.method} not allowed!'})
|
||||||
1
scripts/recipes/sql/postUpdateRecipeItem.sql
Normal file
1
scripts/recipes/sql/postUpdateRecipeItem.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
UPDATE %%site_name%%_recipe_items SET %%set_clause%% WHERE id=%s RETURNING *;
|
||||||
Loading…
x
Reference in New Issue
Block a user