Add ConnectorManager component which allows for Connectors to listen to triggers and do actions on them. Also add HomeAssistantConfig which stores the configuration for the HomeAssistantConnector

This commit is contained in:
Mikhail Epifanov
2024-01-11 22:05:34 +01:00
parent d493ba72a1
commit e5f0c19cdc
18 changed files with 566 additions and 70 deletions

View File

@@ -0,0 +1,41 @@
from abc import ABC, abstractmethod
from cookbook.models import ShoppingListEntry, Space
class Connector(ABC):
@abstractmethod
async def on_shopping_list_entry_created(self, space: Space, instance: ShoppingListEntry) -> None:
pass
@abstractmethod
async def on_shopping_list_entry_updated(self, space: Space, instance: ShoppingListEntry) -> None:
pass
@abstractmethod
async def on_shopping_list_entry_deleted(self, space: Space, instance: ShoppingListEntry) -> None:
pass
# @abstractmethod
# def on_recipe_created(self, instance: Recipe, **kwargs) -> None:
# pass
#
# @abstractmethod
# def on_recipe_updated(self, instance: Recipe, **kwargs) -> None:
# pass
#
# @abstractmethod
# def on_recipe_deleted(self, instance: Recipe, **kwargs) -> None:
# pass
#
# @abstractmethod
# def on_meal_plan_created(self, instance: MealPlan, **kwargs) -> None:
# pass
#
# @abstractmethod
# def on_meal_plan_updated(self, instance: MealPlan, **kwargs) -> None:
# pass
#
# @abstractmethod
# def on_meal_plan_deleted(self, instance: MealPlan, **kwargs) -> None:
# pass