X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fapi%2Fsrc%2Fcomment_report%2Flist.rs;h=3f6f160c84ec72d5f9060dc459d14f13d6f04d1c;hb=c8063f3267cf2b3622f1fdc69128c6b55feefbbc;hp=d8a4221dbd1f1fa0f6937041403695e2c7908b31;hpb=3565ad984a0270c7dd29051a9ff6d15fc5a8ed47;p=lemmy.git diff --git a/crates/api/src/comment_report/list.rs b/crates/api/src/comment_report/list.rs index d8a4221d..3f6f160c 100644 --- a/crates/api/src/comment_report/list.rs +++ b/crates/api/src/comment_report/list.rs @@ -1,5 +1,4 @@ -use crate::Perform; -use actix_web::web::Data; +use actix_web::web::{Data, Json, Query}; use lemmy_api_common::{ comment::{ListCommentReports, ListCommentReportsResponse}, context::LemmyContext, @@ -10,37 +9,26 @@ use lemmy_utils::error::LemmyError; /// Lists comment reports for a community if an id is supplied /// or returns all comment reports for communities a user moderates -#[async_trait::async_trait(?Send)] -impl Perform for ListCommentReports { - type Response = ListCommentReportsResponse; +#[tracing::instrument(skip(context))] +pub async fn list_comment_reports( + data: Query, + context: Data, +) -> Result, LemmyError> { + let local_user_view = local_user_view_from_jwt(&data.auth, &context).await?; - #[tracing::instrument(skip(context))] - async fn perform( - &self, - context: &Data, - ) -> Result { - let data: &ListCommentReports = self; - let local_user_view = local_user_view_from_jwt(&data.auth, context).await?; + let community_id = data.community_id; + let unresolved_only = data.unresolved_only.unwrap_or_default(); - let person_id = local_user_view.person.id; - let admin = local_user_view.person.admin; - let community_id = data.community_id; - let unresolved_only = data.unresolved_only; - - let page = data.page; - let limit = data.limit; - let comment_reports = CommentReportQuery::builder() - .pool(context.pool()) - .my_person_id(person_id) - .admin(admin) - .community_id(community_id) - .unresolved_only(unresolved_only) - .page(page) - .limit(limit) - .build() - .list() - .await?; - - Ok(ListCommentReportsResponse { comment_reports }) + let page = data.page; + let limit = data.limit; + let comment_reports = CommentReportQuery { + community_id, + unresolved_only, + page, + limit, } + .list(&mut context.pool(), &local_user_view.person) + .await?; + + Ok(Json(ListCommentReportsResponse { comment_reports })) }