]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/activities/deletion/mod.rs
Make functions work with both connection and pool (#3420)
[lemmy.git] / crates / apub / src / activities / deletion / mod.rs
index 690b1d3a36422c22aeb9468722de68f6a44cb66e..3b8c8b537bf7516607ebb2f1599a99532c93ee5e 100644 (file)
@@ -34,8 +34,7 @@ use lemmy_api_common::{
   context::LemmyContext,
   post::{DeletePost, PostResponse, RemovePost},
   private_message::{DeletePrivateMessage, PrivateMessageResponse},
-  utils::get_local_user_view_from_jwt,
-  websocket::UserOperationCrud,
+  utils::local_user_view_from_jwt,
 };
 use lemmy_db_schema::{
   source::{
@@ -64,9 +63,8 @@ impl SendActivity for DeletePost {
     response: &Self::Response,
     context: &Data<LemmyContext>,
   ) -> Result<(), LemmyError> {
-    let local_user_view =
-      get_local_user_view_from_jwt(&request.auth, context.pool(), context.secret()).await?;
-    let community = Community::read(context.pool(), response.post_view.community.id).await?;
+    let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
+    let community = Community::read(&mut context.pool(), response.post_view.community.id).await?;
     let deletable = DeletableObjects::Post(response.post_view.post.clone().into());
     send_apub_delete_in_community(
       local_user_view.person,
@@ -89,9 +87,8 @@ impl SendActivity for RemovePost {
     response: &Self::Response,
     context: &Data<LemmyContext>,
   ) -> Result<(), LemmyError> {
-    let local_user_view =
-      get_local_user_view_from_jwt(&request.auth, context.pool(), context.secret()).await?;
-    let community = Community::read(context.pool(), response.post_view.community.id).await?;
+    let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
+    let community = Community::read(&mut context.pool(), response.post_view.community.id).await?;
     let deletable = DeletableObjects::Post(response.post_view.post.clone().into());
     send_apub_delete_in_community(
       local_user_view.person,
@@ -115,8 +112,8 @@ impl SendActivity for DeleteComment {
     context: &Data<LemmyContext>,
   ) -> Result<(), LemmyError> {
     let community_id = response.comment_view.community.id;
-    let community = Community::read(context.pool(), community_id).await?;
-    let person = Person::read(context.pool(), response.comment_view.creator.id).await?;
+    let community = Community::read(&mut context.pool(), community_id).await?;
+    let person = Person::read(&mut context.pool(), response.comment_view.creator.id).await?;
     let deletable = DeletableObjects::Comment(response.comment_view.comment.clone().into());
     send_apub_delete_in_community(person, community, deletable, None, request.deleted, context)
       .await
@@ -132,10 +129,10 @@ impl SendActivity for RemoveComment {
     response: &Self::Response,
     context: &Data<LemmyContext>,
   ) -> Result<(), LemmyError> {
-    let local_user_view =
-      get_local_user_view_from_jwt(&request.auth, context.pool(), context.secret()).await?;
-    let comment = Comment::read(context.pool(), request.comment_id).await?;
-    let community = Community::read(context.pool(), response.comment_view.community.id).await?;
+    let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
+    let comment = Comment::read(&mut context.pool(), request.comment_id).await?;
+    let community =
+      Community::read(&mut context.pool(), response.comment_view.community.id).await?;
     let deletable = DeletableObjects::Comment(comment.into());
     send_apub_delete_in_community(
       local_user_view.person,
@@ -158,8 +155,7 @@ impl SendActivity for DeletePrivateMessage {
     response: &Self::Response,
     context: &Data<LemmyContext>,
   ) -> Result<(), LemmyError> {
-    let local_user_view =
-      get_local_user_view_from_jwt(&request.auth, context.pool(), context.secret()).await?;
+    let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
     send_apub_delete_private_message(
       &local_user_view.person.into(),
       response.private_message_view.private_message.clone(),
@@ -179,9 +175,8 @@ impl SendActivity for DeleteCommunity {
     _response: &Self::Response,
     context: &Data<LemmyContext>,
   ) -> Result<(), LemmyError> {
-    let local_user_view =
-      get_local_user_view_from_jwt(&request.auth, context.pool(), context.secret()).await?;
-    let community = Community::read(context.pool(), request.community_id).await?;
+    let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
+    let community = Community::read(&mut context.pool(), request.community_id).await?;
     let deletable = DeletableObjects::Community(community.clone().into());
     send_apub_delete_in_community(
       local_user_view.person,
@@ -204,9 +199,8 @@ impl SendActivity for RemoveCommunity {
     _response: &Self::Response,
     context: &Data<LemmyContext>,
   ) -> Result<(), LemmyError> {
-    let local_user_view =
-      get_local_user_view_from_jwt(&request.auth, context.pool(), context.secret()).await?;
-    let community = Community::read(context.pool(), request.community_id).await?;
+    let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
+    let community = Community::read(&mut context.pool(), request.community_id).await?;
     let deletable = DeletableObjects::Community(community.clone().into());
     send_apub_delete_in_community(
       local_user_view.person,
@@ -259,7 +253,9 @@ async fn send_apub_delete_private_message(
   context: &Data<LemmyContext>,
 ) -> Result<(), LemmyError> {
   let recipient_id = pm.recipient_id;
-  let recipient: ApubPerson = Person::read(context.pool(), recipient_id).await?.into();
+  let recipient: ApubPerson = Person::read(&mut context.pool(), recipient_id)
+    .await?
+    .into();
 
   let deletable = DeletableObjects::PrivateMessage(pm.into());
   let inbox = vec![recipient.shared_inbox_or_inbox()];
@@ -394,66 +390,44 @@ async fn receive_delete_action(
         send_apub_delete_in_community(mod_, c, object, None, true, context).await?;
       }
 
-      let community = Community::update(
-        context.pool(),
+      Community::update(
+        &mut context.pool(),
         community.id,
         &CommunityUpdateForm::builder()
           .deleted(Some(deleted))
           .build(),
       )
       .await?;
-      context
-        .send_community_ws_message(
-          &UserOperationCrud::DeleteCommunity,
-          community.id,
-          None,
-          None,
-        )
-        .await?;
     }
     DeletableObjects::Post(post) => {
       if deleted != post.deleted {
-        let deleted_post = Post::update(
-          context.pool(),
+        Post::update(
+          &mut context.pool(),
           post.id,
           &PostUpdateForm::builder().deleted(Some(deleted)).build(),
         )
         .await?;
-        context
-          .send_post_ws_message(&UserOperationCrud::DeletePost, deleted_post.id, None, None)
-          .await?;
       }
     }
     DeletableObjects::Comment(comment) => {
       if deleted != comment.deleted {
-        let deleted_comment = Comment::update(
-          context.pool(),
+        Comment::update(
+          &mut context.pool(),
           comment.id,
           &CommentUpdateForm::builder().deleted(Some(deleted)).build(),
         )
         .await?;
-        context
-          .send_comment_ws_message_simple(&UserOperationCrud::DeleteComment, deleted_comment.id)
-          .await?;
       }
     }
     DeletableObjects::PrivateMessage(pm) => {
-      let deleted_private_message = PrivateMessage::update(
-        context.pool(),
+      PrivateMessage::update(
+        &mut context.pool(),
         pm.id,
         &PrivateMessageUpdateForm::builder()
           .deleted(Some(deleted))
           .build(),
       )
       .await?;
-
-      context
-        .send_pm_ws_message(
-          &UserOperationCrud::DeletePrivateMessage,
-          deleted_private_message.id,
-          None,
-        )
-        .await?;
     }
   }
   Ok(())