import facet from .notifications import NotificationsService from .repositories import RepositoriesContainer from .telegram_bot import get_telegram_bot_service from .settings import Settings class BirthdayPoolBotService(facet.AsyncioServiceMixin): def __init__(self, settings: Settings): self._repositories_container = RepositoriesContainer(settings=settings.repository) self._telegram_bot = get_telegram_bot_service( settings=settings.telegram_bot, repositories_container=self._repositories_container, ) self._notifications_service = NotificationsService( settings=settings.notifications, repositories_container=self._repositories_container, ) @property def dependencies(self) -> list[facet.AsyncioServiceMixin]: return [ self._telegram_bot, self._notifications_service, ]