| 100 | |
| 101 | |
| 102 | class Paginator(Generic[T]): |
| 103 | def __init__(self, items: Sequence[T], total: int, page: int, per_page: int): |
| 104 | self.items = items |
| 105 | self.total = total |
| 106 | self.page = page |
| 107 | self.per_page = per_page |
| 108 | |
| 109 | @property |
| 110 | def pages(self) -> int: |
| 111 | return (self.total + self.per_page - 1) // self.per_page |
| 112 | |
| 113 | |
| 114 | class BaseRepository(ABC, Generic[T]): |