From 796ae2f96ace2b6bec5ba5b10a2296f2c9f50cc1 Mon Sep 17 00:00:00 2001 From: Sebastian Martinez Date: Tue, 28 Feb 2023 16:21:35 +0100 Subject: [PATCH] httpd: Sort issues and patches by creation date Signed-off-by: Sebastian Martinez --- radicle-httpd/src/api/v1/projects.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/radicle-httpd/src/api/v1/projects.rs b/radicle-httpd/src/api/v1/projects.rs index 565c18ac..6986f76f 100644 --- a/radicle-httpd/src/api/v1/projects.rs +++ b/radicle-httpd/src/api/v1/projects.rs @@ -394,10 +394,10 @@ async fn issues_handler( let storage = &ctx.profile.storage; let repo = storage.repository(project)?; let issues = Issues::open(ctx.profile.public_key, &repo)?; + let mut issues: Vec<_> = issues.all()?.filter_map(|r| r.ok()).collect::>(); + issues.sort_by(|(_, a, _), (_, b, _)| b.timestamp().cmp(&a.timestamp())); let issues = issues - .all()? .into_iter() - .filter_map(|r| r.ok()) .map(|(id, issue, _)| api::json::issue(id, issue)) .skip(page * per_page) .take(per_page) @@ -532,10 +532,10 @@ async fn patches_handler( let storage = &ctx.profile.storage; let repo = storage.repository(project)?; let patches = Patches::open(ctx.profile.public_key, &repo)?; + let mut patches = patches.all()?.filter_map(|r| r.ok()).collect::>(); + patches.sort_by(|(_, a, _), (_, b, _)| b.timestamp().cmp(&a.timestamp())); let patches = patches - .all()? .into_iter() - .filter_map(|r| r.ok()) .map(|(id, patch, _)| api::json::patch(id, patch)) .skip(page * per_page) .take(per_page)