we messed up lole
This commit is contained in:
1 parent
b40526c494
commit
a11aba2564
1 file changed
+35
-19
+35
-19
@@ -286,26 +286,42 @@ async def update_itm(item_id: str, lego_set: dict, item_data: dict = None):
|
|||||||
print(f"[@DEBUG] Fresh variation version: {variation_version}")
|
print(f"[@DEBUG] Fresh variation version: {variation_version}")
|
||||||
print(f"[@DEBUG] Final category_id for upsert: {category_id}")
|
print(f"[@DEBUG] Final category_id for upsert: {category_id}")
|
||||||
|
|
||||||
# Build upsert body
|
# Preserve existing variation and update only what we need
|
||||||
variation_obj = {
|
if variations:
|
||||||
"type": "ITEM_VARIATION",
|
# Start with existing variation to preserve all fields
|
||||||
"id": variation_id if variation_id else "#TEMP_VARIATION_ID",
|
variation_obj = variations[0].copy()
|
||||||
"item_variation_data": {
|
variation_data = variation_obj.get("item_variation_data", {}).copy()
|
||||||
"item_id": item_id,
|
|
||||||
"name": "Regular",
|
|
||||||
"pricing_type": "FIXED_PRICING",
|
|
||||||
"price_money": {
|
|
||||||
"amount": price_in_cents,
|
|
||||||
"currency": "USD",
|
|
||||||
},
|
|
||||||
"sku": set_number, # LEGO set number (e.g., "10338")
|
|
||||||
"upc": set_upc if set_upc else None, # Barcode/GTIN
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
# Include variation version if it exists (required for updates)
|
# Update only the fields we want to change
|
||||||
if variation_version is not None:
|
variation_data["price_money"] = {
|
||||||
variation_obj["version"] = variation_version
|
"amount": price_in_cents,
|
||||||
|
"currency": "USD",
|
||||||
|
}
|
||||||
|
variation_data["sku"] = set_number # LEGO set number
|
||||||
|
variation_data["upc"] = set_upc if set_upc else None # Barcode/GTIN
|
||||||
|
|
||||||
|
variation_obj["item_variation_data"] = variation_data
|
||||||
|
|
||||||
|
# Update version if exists (required for updates)
|
||||||
|
if variation_version is not None:
|
||||||
|
variation_obj["version"] = variation_version
|
||||||
|
else:
|
||||||
|
# Create new variation if none exists
|
||||||
|
variation_obj = {
|
||||||
|
"type": "ITEM_VARIATION",
|
||||||
|
"id": "#TEMP_VARIATION_ID",
|
||||||
|
"item_variation_data": {
|
||||||
|
"item_id": item_id,
|
||||||
|
"name": "Regular",
|
||||||
|
"pricing_type": "FIXED_PRICING",
|
||||||
|
"price_money": {
|
||||||
|
"amount": price_in_cents,
|
||||||
|
"currency": "USD",
|
||||||
|
},
|
||||||
|
"sku": set_number,
|
||||||
|
"upc": set_upc if set_upc else None,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
# Get the full existing item_data and modify only what we need
|
# Get the full existing item_data and modify only what we need
|
||||||
# This preserves ALL existing fields (location settings, tax, etc)
|
# This preserves ALL existing fields (location settings, tax, etc)
|
||||||
|
|||||||
Reference in new issue
Block a user