From afcd0eabe2860f54b310aefa0a6cbd802503ccb8 Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Tue, 12 May 2026 14:32:41 -0400 Subject: [PATCH] Add pagination to WO web UI scan get_work_orders() only fetched the first 1MB page from DynamoDB. Loop on LastEvaluatedKey to match the PO web UI pattern. --- lambdas/wo/web_ui/handler.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lambdas/wo/web_ui/handler.py b/lambdas/wo/web_ui/handler.py index 59b6f9d..4168942 100644 --- a/lambdas/wo/web_ui/handler.py +++ b/lambdas/wo/web_ui/handler.py @@ -18,9 +18,12 @@ COMMENTS_TABLE = os.environ.get("COMMENTS_TABLE", "WorkOrderComments") def get_work_orders(): table = dynamodb.Table(WORK_ORDERS_TABLE) + items = [] response = table.scan() - items = response.get("Items", []) - # Sort by updated_at descending + items.extend(response.get("Items", [])) + while "LastEvaluatedKey" in response: + response = table.scan(ExclusiveStartKey=response["LastEvaluatedKey"]) + items.extend(response.get("Items", [])) items.sort(key=lambda x: x.get("updated_at", ""), reverse=True) return items