diff --git a/monkey/monkey_island/cc/setup/__init__.py b/monkey/monkey_island/cc/setup/__init__.py index 3642bf9b2..97a7ccfc2 100644 --- a/monkey/monkey_island/cc/setup/__init__.py +++ b/monkey/monkey_island/cc/setup/__init__.py @@ -1,2 +1,3 @@ from .pywsgi_logging_filter import PyWSGILoggingFilter from .island_event_handlers import setup_island_event_handlers +from .agent_event_handlers import setup_agent_event_handlers diff --git a/monkey/monkey_island/cc/setup/agent_event_handlers.py b/monkey/monkey_island/cc/setup/agent_event_handlers.py new file mode 100644 index 000000000..9fd0a2ea7 --- /dev/null +++ b/monkey/monkey_island/cc/setup/agent_event_handlers.py @@ -0,0 +1,16 @@ +from common import DIContainer +from common.event_queue import IAgentEventQueue +from monkey_island.cc.agent_event_subscribers import save_event_to_event_repository +from monkey_island.cc.repository import IEventRepository + + +def setup_agent_event_handlers(container: DIContainer): + _subscribe_and_store_to_event_repository(container) + + +def _subscribe_and_store_to_event_repository(container: DIContainer): + agent_event_queue = container.resolve(IAgentEventQueue) + + event_repository = container.resolve(IEventRepository) + save_event_subscriber = save_event_to_event_repository(event_repository) + agent_event_queue.subscribe_all_events(save_event_subscriber)