diff --git a/app/dao/inbound_sms_dao.py b/app/dao/inbound_sms_dao.py index 93bf02877..c9b4417e3 100644 --- a/app/dao/inbound_sms_dao.py +++ b/app/dao/inbound_sms_dao.py @@ -217,4 +217,23 @@ def dao_get_paginated_most_recent_inbound_sms_by_user_number_for_service( page_size = current_app.config["PAGE_SIZE"] offset = (page - 1) * page_size paginated_results = result[offset : offset + page_size] - return paginated_results + pagination = Pagination(paginated_results, page, page_size, len(result)) + return pagination + + +# TODO remove this when billing dao PR is merged. +class Pagination: + def __init__(self, items, page, per_page, total): + self.items = items + self.page = page + self.per_page = per_page + self.total = total + self.pages = (total + per_page - 1) // per_page + self.prev_num = page - 1 if page > 1 else None + self.next_num = page + 1 if page < self.pages else None + + def has_next(self): + return self.page < self.pages + + def has_prev(self): + return self.page > 1