From ad2a8c6ba4d18cc5ccbdac189a0e52e5bfe82cb5 Mon Sep 17 00:00:00 2001 From: slonkazoid Date: Thu, 2 May 2024 20:09:28 +0300 Subject: [PATCH] only apply tag to rss --- src/main.rs | 7 ++++++- src/post/mod.rs | 20 -------------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/src/main.rs b/src/main.rs index 2ebcda1..facdfd8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -112,7 +112,12 @@ async fn rss( let posts = state .posts - .get_max_n_posts_with_optional_tag_sorted(query.num_posts, query.tag.as_ref()) + .get_all_posts_filtered(|metadata, _| { + !query + .tag + .as_ref() + .is_some_and(|tag| !metadata.tags.contains(tag)) + }) .await?; let mut channel = ChannelBuilder::default(); diff --git a/src/post/mod.rs b/src/post/mod.rs index 89a02d4..f62bb1e 100644 --- a/src/post/mod.rs +++ b/src/post/mod.rs @@ -250,26 +250,6 @@ impl PostManager { Ok(posts) } - pub async fn get_max_n_posts_with_optional_tag_sorted( - &self, - n: Option, - tag: Option<&String>, - ) -> Result, PostError> { - let mut posts = self - .get_all_posts_filtered(|metadata, _| { - !tag.is_some_and(|tag| !metadata.tags.contains(tag)) - }) - .await?; - posts.sort_unstable_by_key(|(metadata, ..)| metadata.modified_at.unwrap_or_default()); - posts.sort_by_key(|(metadata, ..)| metadata.created_at.unwrap_or_default()); - posts.reverse(); - if let Some(n) = n { - posts.truncate(n); - } - - Ok(posts) - } - pub async fn get_post( &self, name: &str,