refactor(comments): remove unused get_pending_comments server function
This commit is contained in:
parent
d826afbe15
commit
0545412cf3
@ -1,4 +1,4 @@
|
|||||||
//! 评论列表查询接口:后台管理用的待审核列表、全部评论列表与待审核计数。
|
//! 评论列表查询接口:后台管理用的全部评论列表与待审核计数。
|
||||||
//!
|
//!
|
||||||
//! 所有接口均需管理员身份,Dioxus server function 注册在 `/api` 路径下。
|
//! 所有接口均需管理员身份,Dioxus server function 注册在 `/api` 路径下。
|
||||||
//! 仅在 `feature = "server"` 启用的服务端构建中查询数据库。
|
//! 仅在 `feature = "server"` 启用的服务端构建中查询数据库。
|
||||||
@ -6,56 +6,6 @@
|
|||||||
use crate::api::comments::types::*;
|
use crate::api::comments::types::*;
|
||||||
use dioxus::prelude::*;
|
use dioxus::prelude::*;
|
||||||
|
|
||||||
/// 获取待审核评论分页列表。
|
|
||||||
///
|
|
||||||
/// 每页 20 条,按创建时间倒序排列,并返回总数用于分页。
|
|
||||||
#[server(GetPendingComments, "/api")]
|
|
||||||
pub async fn get_pending_comments(page: i32) -> Result<PendingCommentsResponse, ServerFnError> {
|
|
||||||
#[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!()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 获取待审核评论总数。
|
/// 获取待审核评论总数。
|
||||||
///
|
///
|
||||||
/// 优先从缓存读取,未命中时查询数据库并写入缓存。
|
/// 优先从缓存读取,未命中时查询数据库并写入缓存。
|
||||||
|
|||||||
@ -21,9 +21,6 @@ pub use create::create_comment;
|
|||||||
/// 获取全部评论分页列表。
|
/// 获取全部评论分页列表。
|
||||||
#[allow(unused_imports)]
|
#[allow(unused_imports)]
|
||||||
pub use list::get_all_comments;
|
pub use list::get_all_comments;
|
||||||
/// 获取待审核评论分页列表。
|
|
||||||
#[allow(unused_imports)]
|
|
||||||
pub use list::get_pending_comments;
|
|
||||||
/// 获取待审核评论总数。
|
/// 获取待审核评论总数。
|
||||||
#[allow(unused_imports)]
|
#[allow(unused_imports)]
|
||||||
pub use list::get_pending_count;
|
pub use list::get_pending_count;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user