delete item, remove from list fix + restore history

This commit is contained in:
Sam Hadow 2024-03-03 14:25:53 +01:00
parent 960fbf80fb
commit b363c5d752
2 changed files with 31 additions and 5 deletions

View File

@ -212,6 +212,11 @@ def delete_item(uuid):
""", (uuid,))
cursor.execute("""
DELETE
FROM listcontent
WHERE item_uuid = %s
""", (uuid,))
cursor.execute("""
DELETE
FROM item
WHERE uuid = %s
""", (uuid,))
@ -387,6 +392,12 @@ def fetch_all():
converted_row = (row[0], row[1], str(row[2]), row[3], row[4], row[5], row[6])
converted_rows.append(converted_row)
results[0] = converted_rows
# timestamp fix in table history
converted_rows = []
for row in results[3]:
converted_row = (row[0], row[1], row[2], row[3], row[4], f'{row[5]}')
converted_rows.append(converted_row)
results[3] = converted_rows
return results
def restore_db(data):
@ -394,18 +405,34 @@ def restore_db(data):
tables = ["item", "itemlist", "listcontent", "history"]
connection = connect_db()
cursor = connection.cursor()
item_uuid = {}
for elem in data["item"]:
# check if item already exists
query = f'SELECT * FROM item WHERE itemid={str(elem["itemid"])} and skuid={str(elem["skuid"])}'
cursor.execute(query)
result = cursor.rowcount
# complete item uuid dict
item_uuid[elem["uuid"]] = (elem["itemid"], elem["skuid"])
if result == 0:
# if item doesn't already exist, insert it in database
attributes = str(elem["attributes"]).split(',') if len(str(elem["attributes"]))>0 else "[]::text[]"
query = f'INSERT INTO item (uuid, itemid, skuid, choice, attributes, image, show) VALUES (nextval(\'uuid_sequence\'), {str(elem["itemid"])}, {str(elem["skuid"])}, {str(elem["choice"])}, ARRAY{attributes}, \'{str(elem["image"])}\', {str(elem["show"])})'
cursor.execute(query)
for table in tables:
for elem in data[table]:
print(elem)
for elem in data["history"]:
# check if history entry already exists
query = f'SELECT * FROM history WHERE h_timestamp=\'{elem["h_timestamp"]}\''
cursor.execute(query)
result = cursor.rowcount
if result == 0:
# find related item
(rel_itemid, rel_skuid) = item_uuid[elem["uuid"]]
query = f'SELECT uuid FROM item WHERE itemid={rel_itemid} and skuid={rel_skuid}'
cursor.execute(query)
uuid = cursor.fetchall()[0][0]
# insert history entry
query = f'INSERT INTO history (uuid, price, currency, quantity, discount_percentage, h_timestamp) VALUES ({uuid}, \'{elem["price"]}\', \'{elem["currency"]}\', {elem["quantity"]}, {elem["discount_percentage"]}, \'{elem["h_timestamp"]}\')'
cursor.execute(query)
cursor.close()
connection.commit()
connection.close()

View File

@ -1,4 +1,4 @@
function handleFileUpload(event) {
function handleFileUpload() {
const file = document.getElementById('inputGroupFile01').files[0];
const reader = new FileReader();
@ -6,7 +6,6 @@ function handleFileUpload(event) {
const rawData = e.target.result;
var blocks = rawData.split('#####');
blocks.shift() // 1st element is empty
console.log(blocks);
var data = {};
blocks.forEach(function (block) {
const split = block.indexOf('\n');