mirror of https://github.com/kortix-ai/suna.git
36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
from typing import Tuple
|
|
from services.supabase import DBConnection
|
|
|
|
from .dependency_injection import TriggerContainer, get_trigger_container
|
|
from ..services.trigger_service import TriggerService
|
|
from ..services.execution_service import TriggerExecutionService
|
|
from ..services.provider_service import ProviderService
|
|
|
|
|
|
class TriggerModuleFactory:
|
|
@staticmethod
|
|
async def create_trigger_module(db_connection: DBConnection) -> Tuple[TriggerService, TriggerExecutionService, ProviderService]:
|
|
container = get_trigger_container(db_connection)
|
|
|
|
provider_service = container.get_provider_service()
|
|
await provider_service.initialize()
|
|
|
|
trigger_service = container.get_trigger_service()
|
|
execution_service = container.get_execution_service()
|
|
|
|
return trigger_service, execution_service, provider_service
|
|
|
|
@staticmethod
|
|
def get_trigger_service(db_connection: DBConnection) -> TriggerService:
|
|
container = get_trigger_container(db_connection)
|
|
return container.get_trigger_service()
|
|
|
|
@staticmethod
|
|
def get_execution_service(db_connection: DBConnection) -> TriggerExecutionService:
|
|
container = get_trigger_container(db_connection)
|
|
return container.get_execution_service()
|
|
|
|
@staticmethod
|
|
def get_provider_service(db_connection: DBConnection) -> ProviderService:
|
|
container = get_trigger_container(db_connection)
|
|
return container.get_provider_service() |