def update_cuisine_recipe(cuisine_name): user = User.get_by_id(get_jwt_identity()) if user.is_admin: cuisine = Cuisine.get_or_none(name=cuisine_name) if cuisine: update_field = request.form.get("update_field") if update_field == "name": name = request.form.get("recipe_name") recipe = Recipe.get(name=name) update_content = request.form.get("update_content") update = Recipe.update(name=update_content).where( Recipe.id == recipe.id) update.execute() return jsonify( {"message": "Name has been successfully updated"}) elif update_field == "difficulty": name = request.form.get("recipe_name") recipe = Recipe.get(name=name) update_content = request.form.get("update_content") update = Recipe.update(difficulty=update_content).where( Recipe.id == recipe.id) update.execute() return jsonify( {"message": "Difficulty has been successfully updated"}) elif update_field == "image": name = request.form.get("recipe_name") recipe = Recipe.get(name=name) file = request.files.get("image") bucket_name = os.getenv('AWS_S3_BUCKET') s3.upload_fileobj(file, bucket_name, file.filename, ExtraArgs={ "ACL": "public-read", "ContentType": file.content_type }) update = Recipe.update( image= f'https://kevinchan950-nextagram-flask.s3-ap-southeast-1.amazonaws.com/{file.filename}' ).where(Recipe.id == recipe.id) update.execute() return jsonify( {"message": "Image has been successfully updated"}) else: return error else: return jsonify({"errors": cuisine_name + " cuisine is not exist"}) else: return jsonify( {"errors": "Non-admin user deteced. Request cannot be done."})
def delete_cuisine_recipe(cuisine_name): user = User.get_by_id(get_jwt_identity()) if user.is_admin: cuisine = Cuisine.get_or_none(name=cuisine_name) if cuisine: name = request.json.get("recipe_name") recipe = Recipe.get(name=name) if recipe.cuisine_id == cuisine.id: recipe.delete_instance() return jsonify({ "message": recipe.name + " has been successfully deleted from " + cuisine_name + " cuisine." }) else: return jsonify({ "errors": recipe.name + " is not found in " + cuisine_name + " cuisine." }) else: return jsonify({"errors": cuisine_name + " cuisine is not exist"}) else: return jsonify( {"errors": "Non-admin user deteced. Request cannot be done."})