fix(posts): check cache before auth, skip caching None slugs

This commit is contained in:
xfy 2026-06-09 17:06:53 +08:00
parent 4c44b62e3d
commit 887aacb5f1

View File

@ -601,7 +601,9 @@ pub async fn get_post_by_slug(slug: String) -> Result<SinglePostResponse, Server
None => None, None => None,
}; };
if post.is_some() {
cache::set_post_by_slug(&slug, post.clone()).await; cache::set_post_by_slug(&slug, post.clone()).await;
}
Ok(SinglePostResponse { post }) Ok(SinglePostResponse { post })
} }
@ -783,12 +785,12 @@ pub async fn get_posts_by_tag(tag_name: String) -> Result<PostListResponse, Serv
#[server(GetPostStats, "/api")] #[server(GetPostStats, "/api")]
pub async fn get_post_stats() -> Result<PostStatsResponse, ServerFnError> { pub async fn get_post_stats() -> Result<PostStatsResponse, ServerFnError> {
let _user = get_current_admin_user().await?;
if let Some(cached) = cache::get_post_stats().await { if let Some(cached) = cache::get_post_stats().await {
return Ok(PostStatsResponse { stats: cached }); return Ok(PostStatsResponse { stats: cached });
} }
let _user = get_current_admin_user().await?;
let client = get_conn().await.map_err(db_conn_error)?; let client = get_conn().await.map_err(db_conn_error)?;
let total: i64 = client let total: i64 = client