From 5e8efacdb8c8b5f3cb0c837cd60e5910e6a94974 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Fri, 18 Oct 2024 11:33:59 -0700 Subject: [PATCH] fix first paginate method --- app/dao/inbound_sms_dao.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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