]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/activities/community/report.rs
Split activity table into sent and received parts (fixes #3103) (#3583)
[lemmy.git] / crates / apub / src / activities / community / report.rs
index aaa1e5108140bbe1a3df89d1a678bc9e14239241..67b84644e6b473078d7833823cdcb4780828178c 100644 (file)
@@ -1,6 +1,6 @@
 use crate::{
   activities::{generate_activity_id, send_lemmy_activity, verify_person_in_community},
-  insert_activity,
+  insert_received_activity,
   objects::{community::ApubCommunity, person::ApubPerson},
   protocol::{activities::community::report::Report, InCommunity},
   PostOrComment,
@@ -17,7 +17,6 @@ use lemmy_api_common::{
   context::LemmyContext,
   post::{CreatePostReport, PostReportResponse},
   utils::local_user_view_from_jwt,
-  websocket::UserOperation,
 };
 use lemmy_db_schema::{
   source::{
@@ -26,7 +25,6 @@ use lemmy_db_schema::{
   },
   traits::Reportable,
 };
-use lemmy_db_views::structs::{CommentReportView, PostReportView};
 use lemmy_utils::error::LemmyError;
 use url::Url;
 
@@ -117,6 +115,7 @@ impl ActivityHandler for Report {
 
   #[tracing::instrument(skip_all)]
   async fn verify(&self, context: &Data<Self::DataType>) -> Result<(), LemmyError> {
+    insert_received_activity(&self.id, context).await?;
     let community = self.community(context).await?;
     verify_person_in_community(&self.actor, &community, context).await?;
     Ok(())
@@ -124,7 +123,6 @@ impl ActivityHandler for Report {
 
   #[tracing::instrument(skip_all)]
   async fn receive(self, context: &Data<Self::DataType>) -> Result<(), LemmyError> {
-    insert_activity(&self.id, &self, false, true, context).await?;
     let actor = self.actor.dereference(context).await?;
     match self.object.dereference(context).await? {
       PostOrComment::Post(post) => {
@@ -136,17 +134,7 @@ impl ActivityHandler for Report {
           reason: self.summary,
           original_post_body: post.body.clone(),
         };
-
-        let report = PostReport::report(context.pool(), &report_form).await?;
-
-        let post_report_view = PostReportView::read(context.pool(), report.id, actor.id).await?;
-
-        context.send_mod_ws_message(
-          &UserOperation::CreateCommentReport,
-          &PostReportResponse { post_report_view },
-          post.community_id,
-          None,
-        )?;
+        PostReport::report(&mut context.pool(), &report_form).await?;
       }
       PostOrComment::Comment(comment) => {
         let report_form = CommentReportForm {
@@ -155,21 +143,7 @@ impl ActivityHandler for Report {
           original_comment_text: comment.content.clone(),
           reason: self.summary,
         };
-
-        let report = CommentReport::report(context.pool(), &report_form).await?;
-
-        let comment_report_view =
-          CommentReportView::read(context.pool(), report.id, actor.id).await?;
-        let community_id = comment_report_view.community.id;
-
-        context.send_mod_ws_message(
-          &UserOperation::CreateCommentReport,
-          &CommentReportResponse {
-            comment_report_view,
-          },
-          community_id,
-          None,
-        )?;
+        CommentReport::report(&mut context.pool(), &report_form).await?;
       }
     };
     Ok(())