14 lines
408 B
Python
14 lines
408 B
Python
from sqlalchemy import Select
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
|
|
class BaseRepository:
|
|
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
|