from collections.abc import Sequence import sqlalchemy as sa from email_campaigns.adapters.db import Repository from email_campaigns.campaigns.models import DeliveryQuota class DeliveryQuotaRepository(Repository[DeliveryQuota]): def find_by_domain(self, domain_id: str) -> Sequence[DeliveryQuota]: query = sa.select(DeliveryQuota).where(DeliveryQuota.domain_id == domain_id) return self.db.session.execute(query).scalars().all() def find_by_domains(self, domain_ids: list[str]) -> Sequence[DeliveryQuota]: if not domain_ids: return [] query = sa.select(DeliveryQuota).where(DeliveryQuota.domain_id.in_(domain_ids)) return self.db.session.execute(query).scalars().all()