from collections.abc import Sequence import sqlalchemy as sa from dmp.ad_reporting.models import AdReportingCampaignBenchmarkByAccountCountryDbt from dmp.adapters.db import ReportingRepository class AdReportingCampaignBenchmarkByAccountCountryRepository( ReportingRepository[AdReportingCampaignBenchmarkByAccountCountryDbt] ): def find_by_account_id( self, vendor_id: int, subaccount_id: int ) -> Sequence[AdReportingCampaignBenchmarkByAccountCountryDbt]: query = sa.select(AdReportingCampaignBenchmarkByAccountCountryDbt).where( AdReportingCampaignBenchmarkByAccountCountryDbt.vendor_id == vendor_id, AdReportingCampaignBenchmarkByAccountCountryDbt.subaccount_id == subaccount_id, ) return self.db.session.execute(query).scalars().all()