square is so fucking annoying dude

This commit is contained in:
C committed 2026-01-04 13:57:11 -08:00
1 parent fce743d580
commit 87ed932f95
1 file changed
+12 -12
+12 -12
View File
@@ -84,10 +84,7 @@ async def get_item_by_id(item_id: str) -> dict:
return { return {
"id": obj["id"], "id": obj["id"],
"name": item_data.get("name", ""), "item_data": item_data, # Return the entire item_data object
"description": item_data.get("description", ""),
"category_id": item_data.get("category_id"),
"variations": item_data.get("variations", []),
"updated_at": obj.get("updated_at"), "updated_at": obj.get("updated_at"),
"version": obj.get("version"), "version": obj.get("version"),
} }
@@ -309,18 +306,21 @@ async def update_itm(item_id: str, lego_set: dict, item_data: dict = None):
if variation_version is not None: if variation_version is not None:
variation_obj["version"] = variation_version variation_obj["version"] = variation_version
# Build item object - omit location fields to preserve existing settings # Get the full existing item_data and modify only what we need
# Square will keep the current location configuration if we don't specify it # This preserves ALL existing fields (location settings, tax, etc)
existing_item_data = fresh_item.get("item_data", {})
# Update only the fields we want to change
existing_item_data["name"] = pw_name
existing_item_data["description"] = f"{set_name} - {set_theme}"
existing_item_data["category_id"] = category_id
existing_item_data["variations"] = [variation_obj]
item_obj = { item_obj = {
"type": "ITEM", "type": "ITEM",
"id": item_id, "id": item_id,
"version": current_version, "version": current_version,
"item_data": { "item_data": existing_item_data,
"name": pw_name,
"description": f"{set_name} - {set_theme}",
"category_id": category_id,
"variations": [variation_obj],
},
} }
upsert_body = { upsert_body = {