diff --git a/src/api/comments/list.rs b/src/api/comments/list.rs index fb5f354..e2d47cc 100644 --- a/src/api/comments/list.rs +++ b/src/api/comments/list.rs @@ -1,4 +1,4 @@ -//! 评论列表查询接口:后台管理用的待审核列表、全部评论列表与待审核计数。 +//! 评论列表查询接口:后台管理用的全部评论列表与待审核计数。 //! //! 所有接口均需管理员身份,Dioxus server function 注册在 `/api` 路径下。 //! 仅在 `feature = "server"` 启用的服务端构建中查询数据库。 @@ -6,56 +6,6 @@ use crate::api::comments::types::*; use dioxus::prelude::*; -/// 获取待审核评论分页列表。 -/// -/// 每页 20 条,按创建时间倒序排列,并返回总数用于分页。 -#[server(GetPendingComments, "/api")] -pub async fn get_pending_comments(page: i32) -> Result { - #[cfg(feature = "server")] - { - use crate::api::auth::get_current_admin_user; - use crate::api::comments::helpers::row_to_admin_comment; - use crate::api::error::AppError; - use crate::db::pool::get_conn; - - let _admin = get_current_admin_user().await?; - - let page = page.max(1); - let per_page: i64 = 20; - let offset: i64 = (page as i64 - 1) * per_page; - - let client = get_conn().await.map_err(AppError::db_conn)?; - - let total: i64 = client - .query_one( - "SELECT COUNT(*) FROM comments WHERE status = 'pending' AND deleted_at IS NULL", - &[], - ) - .await - .map_err(AppError::query)? - .get(0); - - let rows = client - .query( - "SELECT c.id, c.post_id, c.parent_id, c.depth, c.author_name, c.author_email, \ - c.author_url, c.content_md, c.status, c.created_at, \ - p.title as post_title, p.slug as post_slug \ - FROM comments c JOIN posts p ON c.post_id = p.id \ - WHERE c.status = 'pending' AND c.deleted_at IS NULL \ - ORDER BY c.created_at DESC LIMIT $1 OFFSET $2", - &[&per_page, &offset], - ) - .await - .map_err(AppError::query)?; - - let comments = rows.iter().map(row_to_admin_comment).collect(); - - Ok(PendingCommentsResponse { comments, total }) - } - #[cfg(not(feature = "server"))] - unreachable!() -} - /// 获取待审核评论总数。 /// /// 优先从缓存读取,未命中时查询数据库并写入缓存。 diff --git a/src/api/comments/mod.rs b/src/api/comments/mod.rs index 09bc7ad..d798247 100644 --- a/src/api/comments/mod.rs +++ b/src/api/comments/mod.rs @@ -21,9 +21,6 @@ pub use create::create_comment; /// 获取全部评论分页列表。 #[allow(unused_imports)] pub use list::get_all_comments; -/// 获取待审核评论分页列表。 -#[allow(unused_imports)] -pub use list::get_pending_comments; /// 获取待审核评论总数。 #[allow(unused_imports)] pub use list::get_pending_count;