From b133ac7a8abb70944771eb84a2e11650533d3c05 Mon Sep 17 00:00:00 2001 From: James Date: Sun, 1 Feb 2026 05:00:12 +0000 Subject: [PATCH] feat: add sort param to messages endpoint, default desc (newest first) --- src/api/messages.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/api/messages.py b/src/api/messages.py index 2a628b6..0042683 100644 --- a/src/api/messages.py +++ b/src/api/messages.py @@ -17,8 +17,13 @@ async def list_messages( from_addr: Optional[str] = Query(default=None, alias="from"), limit: int = Query(default=50, le=200), offset: int = Query(default=0), + sort: str = Query(default="desc", regex="^(asc|desc)$"), ) -> list[Message]: - """List messages in a folder.""" + """List messages in a folder. + + Args: + sort: Sort order by date. "desc" (default) = newest first, "asc" = oldest first + """ config = get_config() if account_id not in config.accounts: @@ -36,6 +41,10 @@ async def list_messages( from_addr=from_addr, ) + # Sort by UID (higher UID = newer message) + if sort == "desc": + uids = list(reversed(uids)) + # Apply pagination total = len(uids) uids = uids[offset:offset + limit]