from anydi import singleton from fansifter_common.auth.services import AuthService from fansifter_common.auth.types import Permission from email_campaigns.adapters.db import Repository from email_campaigns.adapters.features import Features from email_campaigns.adapters.stripo import ( AutomatedStripoClient, AutomatedStripoClientV2, ) from email_campaigns.automated.models import AutomatedEmail from email_campaigns.emails.handlers import GetEmailStripoAuthTokenHandler @singleton class GetAutomatedEmailStripoAuthTokenHandler( GetEmailStripoAuthTokenHandler[AutomatedEmail] ): # TODO: ---> Permission("automated_email", "edit") permission = Permission("email_campaign", "edit") def __init__( self, auth_service: AuthService, stripo_client: AutomatedStripoClient, email_repository: Repository[AutomatedEmail], features: Features, stripo_client_v2: AutomatedStripoClientV2, ) -> None: super().__init__( auth_service=auth_service, stripo_client=stripo_client, email_repository=email_repository, features=features, stripo_client_v2=stripo_client_v2, )