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 {
"id": obj["id"],
"name": item_data.get("name", ""),
"description": item_data.get("description", ""),
"category_id": item_data.get("category_id"),
"variations": item_data.get("variations", []),
"item_data": item_data, # Return the entire item_data object
"updated_at": obj.get("updated_at"),
"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:
variation_obj["version"] = variation_version
# Build item object - omit location fields to preserve existing settings
# Square will keep the current location configuration if we don't specify it
# Get the full existing item_data and modify only what we need
# 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 = {
"type": "ITEM",
"id": item_id,
"version": current_version,
"item_data": {
"name": pw_name,
"description": f"{set_name} - {set_theme}",
"category_id": category_id,
"variations": [variation_obj],
},
"item_data": existing_item_data,
}
upsert_body = {