from collections.abc import Sequence import sqlalchemy as sa from ows_text_campaigns.adapters.db import Repository from ows_text_campaigns.campaigns.models import UrlDomain class UrlDomainRepository(Repository[UrlDomain]): def find_by_brand(self, brand: str) -> Sequence[UrlDomain]: query = sa.select(UrlDomain).where(UrlDomain.brand == brand) return self.db.session.execute(query).scalars().all() def get_by_id(self, id: str) -> UrlDomain | None: query = sa.select(UrlDomain).where(UrlDomain.id == id) return self.db.session.execute(query).scalar_one_or_none()