From 78aab59d1589ff890a05cf02bcce5b967177c434 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Fri, 18 Oct 2024 08:45:31 -0700 Subject: [PATCH] fix first paginate method --- app/dao/inbound_sms_dao.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/dao/inbound_sms_dao.py b/app/dao/inbound_sms_dao.py index 7721cea2e..6f25816ca 100644 --- a/app/dao/inbound_sms_dao.py +++ b/app/dao/inbound_sms_dao.py @@ -52,11 +52,17 @@ def dao_get_paginated_inbound_sms_for_service_for_public_api( ) filters.append(InboundSms.created_at < older_than_created_at) - query = InboundSms.query.filter(*filters) - - return ( - query.order_by(desc(InboundSms.created_at)).paginate(per_page=page_size).items + # As part of the move to sqlalchemy 2.0, we do this manual pagination + # 1.4 had a paginate() method which assumed 'page' was 1 if it was not specified, + # so we set page to 1 here to mimic that. + page = 1 + query = db.session.query(InboundSms).filter(*filters) + paginated_items = ( + query.order_by(desc(InboundSms.created_at)) + .offset((page - 1) * page_size) + .limit(page_size) ) + return paginated_items def dao_count_inbound_sms_for_service(service_id, limit_days):