1 use actix_web::web::{Data, Json, Query};
2 use lemmy_api_common::{
3 comment::{ListCommentReports, ListCommentReportsResponse},
5 utils::local_user_view_from_jwt,
7 use lemmy_db_views::comment_report_view::CommentReportQuery;
8 use lemmy_utils::error::LemmyError;
10 /// Lists comment reports for a community if an id is supplied
11 /// or returns all comment reports for communities a user moderates
12 #[tracing::instrument(skip(context))]
13 pub async fn list_comment_reports(
14 data: Query<ListCommentReports>,
15 context: Data<LemmyContext>,
16 ) -> Result<Json<ListCommentReportsResponse>, LemmyError> {
17 let local_user_view = local_user_view_from_jwt(&data.auth, &context).await?;
19 let community_id = data.community_id;
20 let unresolved_only = data.unresolved_only;
23 let limit = data.limit;
24 let comment_reports = CommentReportQuery {
30 .list(&mut context.pool(), &local_user_view.person)
33 Ok(Json(ListCommentReportsResponse { comment_reports }))