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 ( CampaignStripoClient, CampaignStripoClientV2, ) from email_campaigns.campaigns.models import EmailCampaign from email_campaigns.emails.handlers import GetEmailStripoAuthTokenHandler @singleton class GetCampaignStripoAuthTokenHandler(GetEmailStripoAuthTokenHandler[EmailCampaign]): permission = Permission("email_campaign", "edit") def __init__( self, auth_service: AuthService, stripo_client: CampaignStripoClient, email_repository: Repository[EmailCampaign], features: Features, stripo_client_v2: CampaignStripoClientV2, ) -> None: super().__init__( auth_service=auth_service, stripo_client=stripo_client, email_repository=email_repository, features=features, stripo_client_v2=stripo_client_v2, )