items_API.refreshSearch... migrated to new schema

This commit is contained in:
Jadowyne Ulve 2025-06-01 09:51:57 -05:00
parent d01a92e17a
commit be10411941
3 changed files with 31 additions and 16 deletions

View File

@ -907,7 +907,7 @@ def updateItemInfoTuple(site:str, payload: dict, convert=True, conn=None):
except Exception as error: except Exception as error:
raise postsqldb.DatabaseError(error, payload, sql) raise postsqldb.DatabaseError(error, payload, sql)
def postUpdateItemLocation(site, payload, conn=None): def postUpdateItemLocation(site: str, payload: tuple, conn=None):
item_location = () item_location = ()
self_conn = False self_conn = False
@ -934,6 +934,7 @@ def postUpdateItemLocation(site, payload, conn=None):
except Exception as error: except Exception as error:
return error return error
# TODO: This should be in the item's process module
def postUpdateItem(site:str, payload:dict): def postUpdateItem(site:str, payload:dict):
""" POST and update to an item """ POST and update to an item

View File

@ -852,22 +852,26 @@ def deletePrefix():
@items_api.route('/refreshSearchString', methods=['POST']) @items_api.route('/refreshSearchString', methods=['POST'])
def refreshSearchString(): def refreshSearchString():
""" POST update search_string to the system given a item_id
---
parameters:
- in: header
name: item_info_id
schema:
type: integer
default: 1
required: true
description: item_id to be updated
responses:
200:
description: conversion updated successfully.
"""
if request.method == "POST": if request.method == "POST":
item_id = request.get_json()['item_id'] item_id = request.get_json()['item_id']
database_config = config()
site_name = session['selected_site'] site_name = session['selected_site']
with psycopg2.connect(**database_config) as conn: item = database_items.getItemAllByID(site_name, (item_id,))
item = db.ItemTable.getItemAllByID(conn, site_name, (item_id,)) search_string = items_processes.createSearchStringFromItem(item)
parameters = [f"id::{item['id']}", f"barcode::{item['barcode']}", f"name::{item['item_name']}", f"brand::{item['brand']['name']}", database_items.postUpdateItemByID(site_name, {'id': item_id, 'update':{'search_string': search_string}})
f"expires::{item['food_info']['expires']}", f"row_type::{item['row_type']}", f"item_type::{item['item_type']}"]
for prefix in item['item_info']['prefixes']:
parameters.append(f"prefix::{prefix['name']}")
search_string = "&&".join(parameters)
db.ItemTable.update_tuple(conn, site_name, {'id': item_id, 'update':{'search_string': search_string}})
return jsonify(error=False, message="Search String was updated successfully") return jsonify(error=False, message="Search String was updated successfully")
return jsonify(error=True, message="Unable to update this search string, ERROR!") return jsonify(error=True, message="Unable to update this search string, ERROR!")

View File

@ -269,3 +269,13 @@ def postAdjustment(site_name, user_id, data: dict, conn=None):
return False return False
return conn return conn
def createSearchStringFromItem(item: dict):
parameters = [f"id::{item['id']}", f"barcode::{item['barcode']}", f"name::{item['item_name']}", f"brand::{item['brand']['name']}",
f"expires::{item['food_info']['expires']}", f"row_type::{item['row_type']}", f"item_type::{item['item_type']}"]
for prefix in item['item_info']['prefixes']:
parameters.append(f"prefix::{prefix['name']}")
search_string = "&&".join(parameters)
return search_string