from sqlalchemy import Select from sqlalchemy.ext.asyncio import AsyncSession class BaseRepository: session: AsyncSession def __init__(self, session: AsyncSession): self.session = session @staticmethod def _apply_pagination(query: Select, page: int, items_per_page: int) -> Select: offset = (page - 1) * items_per_page query = query.offset(offset).limit(items_per_page) return query