-#[async_trait::async_trait]
-impl SendActivity for DeletePost {
- type Response = PostResponse;
-
- async fn send_activity(
- request: &Self,
- response: &Self::Response,
- context: &Data<LemmyContext>,
- ) -> Result<(), LemmyError> {
- 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,
- community,
- deletable,
- None,
- request.deleted,
- context,
- )
- .await
- }
-}
-
-#[async_trait::async_trait]
-impl SendActivity for RemovePost {
- type Response = PostResponse;
-
- async fn send_activity(
- request: &Self,
- response: &Self::Response,
- context: &Data<LemmyContext>,
- ) -> Result<(), LemmyError> {
- 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,
- community,
- deletable,
- request.reason.clone().or_else(|| Some(String::new())),
- request.removed,
- context,
- )
- .await
- }
-}
-
-#[async_trait::async_trait]
-impl SendActivity for DeletePrivateMessage {
- type Response = PrivateMessageResponse;
-
- async fn send_activity(
- request: &Self,
- response: &Self::Response,
- context: &Data<LemmyContext>,
- ) -> Result<(), LemmyError> {
- 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(),
- request.deleted,
- context,
- )
- .await
- }
-}
-
-#[async_trait::async_trait]
-impl SendActivity for DeleteCommunity {
- type Response = CommunityResponse;
-
- async fn send_activity(
- request: &Self,
- _response: &Self::Response,
- context: &Data<LemmyContext>,
- ) -> Result<(), LemmyError> {
- 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,
- community,
- deletable,
- None,
- request.deleted,
- context,
- )
- .await
- }
-}
-
-#[async_trait::async_trait]
-impl SendActivity for RemoveCommunity {
- type Response = CommunityResponse;
-
- async fn send_activity(
- request: &Self,
- _response: &Self::Response,
- context: &Data<LemmyContext>,
- ) -> Result<(), LemmyError> {
- 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,
- community,
- deletable,
- request.reason.clone().or_else(|| Some(String::new())),
- request.removed,
- context,
- )
- .await
- }
-}
-