recipes_api.get_image updated to new schema

This commit is contained in:
Jadowyne Ulve 2025-04-26 20:07:39 -05:00
parent f82168c712
commit c753321eb6
4 changed files with 24 additions and 8 deletions

View File

@ -82,6 +82,14 @@ def getRecipe(site, payload:tuple, convert=True):
except (Exception, psycopg2.DatabaseError) as error: except (Exception, psycopg2.DatabaseError) as error:
raise postsqldb.DatabaseError(error, payload, sql) raise postsqldb.DatabaseError(error, payload, sql)
def getPicturePath(site:str, payload:tuple, convert:bool=True):
database_config = config.config()
with psycopg2.connect(**database_config) as conn:
with conn.cursor() as cur:
cur.execute(f"SELECT picture_path FROM {site}_recipes WHERE id=%s;", payload)
rows = cur.fetchone()[0]
return rows
def postRecipe(site:str, payload:tuple, convert=True): def postRecipe(site:str, payload:tuple, convert=True):
database_config = config.config() database_config = config.config()
record = () record = ()

View File

@ -5,7 +5,6 @@ from main import unfoldCostLayers
from user_api import login_required from user_api import login_required
import os import os
import postsqldb, webpush import postsqldb, webpush
from flasgger import swag_from
from scripts.recipes import database_recipes from scripts.recipes import database_recipes
from scripts import postsqldb as db from scripts import postsqldb as db
from flask_restx import Api, fields from flask_restx import Api, fields
@ -249,14 +248,23 @@ def uploadImage(recipe_id):
return jsonify({'error': False, 'message': 'Recipe was updated successfully!'}) return jsonify({'error': False, 'message': 'Recipe was updated successfully!'})
@recipes_api.route('/recipe/getImage/<recipe_id>') @recipes_api.route('/recipe/getImage/<recipe_id>')
@login_required
def get_image(recipe_id): def get_image(recipe_id):
database_config = config() """ get the picture path for a recipe by passing teh recipe id in the path
---
parameters:
- name: recipe_id
in: path
required: true
schema:
type: integer
responses:
200:
description: image fetched succesfully!
"""
site_name = session['selected_site'] site_name = session['selected_site']
with psycopg2.connect(**database_config) as conn: picture_path = database_recipes.getPicturePath(site_name, (recipe_id,))
with conn.cursor() as cur: return send_from_directory('static/pictures/recipes', picture_path)
cur.execute(f"SELECT picture_path FROM {site_name}_recipes WHERE id=%s;", (recipe_id,))
rows = cur.fetchone()[0]
return send_from_directory('static/pictures/recipes', rows)
@recipes_api.route('/recipe/deleteRecipeItem', methods=["POST"]) @recipes_api.route('/recipe/deleteRecipeItem', methods=["POST"])
def deleteRecipeItem(): def deleteRecipeItem():