diff --git a/custom_components/shopping_list_manager/models.py b/custom_components/shopping_list_manager/models.py index 13736ac..b4d0680 100644 --- a/custom_components/shopping_list_manager/models.py +++ b/custom_components/shopping_list_manager/models.py @@ -132,7 +132,8 @@ class ShoppingList: # Ownership: None = visible to all users; set = private to owner + allowed_users owner_id: Optional[str] = None allowed_users: List[str] = field(default_factory=list) - + ha_todo_entity_id: Optional[str] = None + def to_dict(self) -> Dict[str, Any]: """Convert to dictionary.""" return asdict(self) diff --git a/custom_components/shopping_list_manager/websocket/handlers.py b/custom_components/shopping_list_manager/websocket/handlers.py index a93eb00..5423a51 100644 --- a/custom_components/shopping_list_manager/websocket/handlers.py +++ b/custom_components/shopping_list_manager/websocket/handlers.py @@ -341,6 +341,7 @@ async def websocket_create_list( vol.Optional("name"): str, vol.Optional("icon"): str, vol.Optional("category_order"): [str], + vol.Optional("ha_todo_entity_id"): vol.Any(str, None), } ) @websocket_api.async_response @@ -364,7 +365,9 @@ async def websocket_update_list( update_data["icon"] = msg["icon"] if "category_order" in msg: update_data["category_order"] = msg["category_order"] - + if "ha_todo_entity_id" in msg: + update_data["ha_todo_entity_id"] = msg["ha_todo_entity_id"] + updated_list = await storage.update_list(list_id, **update_data) if updated_list is None: