items_API.refreshSearch... migrated to new schema
This commit is contained in:
parent
d01a92e17a
commit
be10411941
@ -907,7 +907,7 @@ def updateItemInfoTuple(site:str, payload: dict, convert=True, conn=None):
|
||||
except Exception as error:
|
||||
raise postsqldb.DatabaseError(error, payload, sql)
|
||||
|
||||
def postUpdateItemLocation(site, payload, conn=None):
|
||||
def postUpdateItemLocation(site: str, payload: tuple, conn=None):
|
||||
|
||||
item_location = ()
|
||||
self_conn = False
|
||||
@ -934,6 +934,7 @@ def postUpdateItemLocation(site, payload, conn=None):
|
||||
except Exception as error:
|
||||
return error
|
||||
|
||||
# TODO: This should be in the item's process module
|
||||
def postUpdateItem(site:str, payload:dict):
|
||||
""" POST and update to an item
|
||||
|
||||
|
||||
@ -852,23 +852,27 @@ def deletePrefix():
|
||||
|
||||
@items_api.route('/refreshSearchString', methods=['POST'])
|
||||
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":
|
||||
item_id = request.get_json()['item_id']
|
||||
|
||||
database_config = config()
|
||||
site_name = session['selected_site']
|
||||
with psycopg2.connect(**database_config) as conn:
|
||||
item = db.ItemTable.getItemAllByID(conn, site_name, (item_id,))
|
||||
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)
|
||||
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")
|
||||
item = database_items.getItemAllByID(site_name, (item_id,))
|
||||
search_string = items_processes.createSearchStringFromItem(item)
|
||||
database_items.postUpdateItemByID(site_name, {'id': item_id, 'update':{'search_string': search_string}})
|
||||
return jsonify(error=False, message="Search String was updated successfully")
|
||||
return jsonify(error=True, message="Unable to update this search string, ERROR!")
|
||||
|
||||
@items_api.route('/postNewItemLocation', methods=['POST'])
|
||||
|
||||
@ -268,4 +268,14 @@ def postAdjustment(site_name, user_id, data: dict, conn=None):
|
||||
conn.close()
|
||||
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
|
||||
Loading…
x
Reference in New Issue
Block a user