Files
Crm-Backend/repositories/base.py

16 lines
435 B
Python

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