from collections.abc import Sequence from anydi import singleton from fansifter_common.auth.requests import AuthAccountRequest from ows_text_campaigns.campaigns.models import UrlDomain from ows_text_campaigns.campaigns.services import UrlDomainService class GetUrlDomainsRequest(AuthAccountRequest): pass @singleton class GetUrlDomainsHandler: def __init__(self, url_domain_service: UrlDomainService) -> None: self.url_domain_service = url_domain_service def handle(self, request: GetUrlDomainsRequest) -> Sequence[UrlDomain]: return self.url_domain_service.get_allowed_domains( identity_id=request.identity_id, account=request.account )