|
|
@ -63,9 +63,9 @@ impl SendActivity for DeletePost {
|
|
|
|
response: &Self::Response,
|
|
|
|
response: &Self::Response,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let community = Community::read(&mut conn, response.post_view.community.id).await?;
|
|
|
|
let community =
|
|
|
|
|
|
|
|
Community::read(&mut *context.conn().await?, response.post_view.community.id).await?;
|
|
|
|
let deletable = DeletableObjects::Post(response.post_view.post.clone().into());
|
|
|
|
let deletable = DeletableObjects::Post(response.post_view.post.clone().into());
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
local_user_view.person,
|
|
|
|
local_user_view.person,
|
|
|
@ -88,9 +88,9 @@ impl SendActivity for RemovePost {
|
|
|
|
response: &Self::Response,
|
|
|
|
response: &Self::Response,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let community = Community::read(&mut conn, response.post_view.community.id).await?;
|
|
|
|
let community =
|
|
|
|
|
|
|
|
Community::read(&mut *context.conn().await?, response.post_view.community.id).await?;
|
|
|
|
let deletable = DeletableObjects::Post(response.post_view.post.clone().into());
|
|
|
|
let deletable = DeletableObjects::Post(response.post_view.post.clone().into());
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
local_user_view.person,
|
|
|
|
local_user_view.person,
|
|
|
@ -113,10 +113,13 @@ impl SendActivity for DeleteComment {
|
|
|
|
response: &Self::Response,
|
|
|
|
response: &Self::Response,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
let community_id = response.comment_view.community.id;
|
|
|
|
let community_id = response.comment_view.community.id;
|
|
|
|
let community = Community::read(&mut conn, community_id).await?;
|
|
|
|
let community = Community::read(&mut *context.conn().await?, community_id).await?;
|
|
|
|
let person = Person::read(&mut conn, response.comment_view.creator.id).await?;
|
|
|
|
let person = Person::read(
|
|
|
|
|
|
|
|
&mut *context.conn().await?,
|
|
|
|
|
|
|
|
response.comment_view.creator.id,
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
.await?;
|
|
|
|
let deletable = DeletableObjects::Comment(response.comment_view.comment.clone().into());
|
|
|
|
let deletable = DeletableObjects::Comment(response.comment_view.comment.clone().into());
|
|
|
|
send_apub_delete_in_community(person, community, deletable, None, request.deleted, context)
|
|
|
|
send_apub_delete_in_community(person, community, deletable, None, request.deleted, context)
|
|
|
|
.await
|
|
|
|
.await
|
|
|
@ -132,10 +135,13 @@ impl SendActivity for RemoveComment {
|
|
|
|
response: &Self::Response,
|
|
|
|
response: &Self::Response,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let comment = Comment::read(&mut conn, request.comment_id).await?;
|
|
|
|
let comment = Comment::read(&mut *context.conn().await?, request.comment_id).await?;
|
|
|
|
let community = Community::read(&mut conn, response.comment_view.community.id).await?;
|
|
|
|
let community = Community::read(
|
|
|
|
|
|
|
|
&mut *context.conn().await?,
|
|
|
|
|
|
|
|
response.comment_view.community.id,
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
.await?;
|
|
|
|
let deletable = DeletableObjects::Comment(comment.into());
|
|
|
|
let deletable = DeletableObjects::Comment(comment.into());
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
local_user_view.person,
|
|
|
|
local_user_view.person,
|
|
|
@ -178,9 +184,8 @@ impl SendActivity for DeleteCommunity {
|
|
|
|
_response: &Self::Response,
|
|
|
|
_response: &Self::Response,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let community = Community::read(&mut conn, request.community_id).await?;
|
|
|
|
let community = Community::read(&mut *context.conn().await?, request.community_id).await?;
|
|
|
|
let deletable = DeletableObjects::Community(community.clone().into());
|
|
|
|
let deletable = DeletableObjects::Community(community.clone().into());
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
local_user_view.person,
|
|
|
|
local_user_view.person,
|
|
|
@ -203,9 +208,8 @@ impl SendActivity for RemoveCommunity {
|
|
|
|
_response: &Self::Response,
|
|
|
|
_response: &Self::Response,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
|
|
|
|
let community = Community::read(&mut conn, request.community_id).await?;
|
|
|
|
let community = Community::read(&mut *context.conn().await?, request.community_id).await?;
|
|
|
|
let deletable = DeletableObjects::Community(community.clone().into());
|
|
|
|
let deletable = DeletableObjects::Community(community.clone().into());
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
send_apub_delete_in_community(
|
|
|
|
local_user_view.person,
|
|
|
|
local_user_view.person,
|
|
|
@ -257,9 +261,10 @@ async fn send_apub_delete_private_message(
|
|
|
|
deleted: bool,
|
|
|
|
deleted: bool,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
let recipient_id = pm.recipient_id;
|
|
|
|
let recipient_id = pm.recipient_id;
|
|
|
|
let recipient: ApubPerson = Person::read(&mut conn, recipient_id).await?.into();
|
|
|
|
let recipient: ApubPerson = Person::read(&mut *context.conn().await?, recipient_id)
|
|
|
|
|
|
|
|
.await?
|
|
|
|
|
|
|
|
.into();
|
|
|
|
|
|
|
|
|
|
|
|
let deletable = DeletableObjects::PrivateMessage(pm.into());
|
|
|
|
let deletable = DeletableObjects::PrivateMessage(pm.into());
|
|
|
|
let inbox = vec![recipient.shared_inbox_or_inbox()];
|
|
|
|
let inbox = vec![recipient.shared_inbox_or_inbox()];
|
|
|
@ -385,7 +390,6 @@ async fn receive_delete_action(
|
|
|
|
deleted: bool,
|
|
|
|
deleted: bool,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
context: &Data<LemmyContext>,
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
) -> Result<(), LemmyError> {
|
|
|
|
let mut conn = context.conn().await?;
|
|
|
|
|
|
|
|
match DeletableObjects::read_from_db(object, context).await? {
|
|
|
|
match DeletableObjects::read_from_db(object, context).await? {
|
|
|
|
DeletableObjects::Community(community) => {
|
|
|
|
DeletableObjects::Community(community) => {
|
|
|
|
if community.local {
|
|
|
|
if community.local {
|
|
|
@ -396,7 +400,7 @@ async fn receive_delete_action(
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Community::update(
|
|
|
|
Community::update(
|
|
|
|
&mut conn,
|
|
|
|
&mut *context.conn().await?,
|
|
|
|
community.id,
|
|
|
|
community.id,
|
|
|
|
&CommunityUpdateForm::builder()
|
|
|
|
&CommunityUpdateForm::builder()
|
|
|
|
.deleted(Some(deleted))
|
|
|
|
.deleted(Some(deleted))
|
|
|
@ -407,7 +411,7 @@ async fn receive_delete_action(
|
|
|
|
DeletableObjects::Post(post) => {
|
|
|
|
DeletableObjects::Post(post) => {
|
|
|
|
if deleted != post.deleted {
|
|
|
|
if deleted != post.deleted {
|
|
|
|
Post::update(
|
|
|
|
Post::update(
|
|
|
|
&mut conn,
|
|
|
|
&mut *context.conn().await?,
|
|
|
|
post.id,
|
|
|
|
post.id,
|
|
|
|
&PostUpdateForm::builder().deleted(Some(deleted)).build(),
|
|
|
|
&PostUpdateForm::builder().deleted(Some(deleted)).build(),
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -417,7 +421,7 @@ async fn receive_delete_action(
|
|
|
|
DeletableObjects::Comment(comment) => {
|
|
|
|
DeletableObjects::Comment(comment) => {
|
|
|
|
if deleted != comment.deleted {
|
|
|
|
if deleted != comment.deleted {
|
|
|
|
Comment::update(
|
|
|
|
Comment::update(
|
|
|
|
&mut conn,
|
|
|
|
&mut *context.conn().await?,
|
|
|
|
comment.id,
|
|
|
|
comment.id,
|
|
|
|
&CommentUpdateForm::builder().deleted(Some(deleted)).build(),
|
|
|
|
&CommentUpdateForm::builder().deleted(Some(deleted)).build(),
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -426,7 +430,7 @@ async fn receive_delete_action(
|
|
|
|
}
|
|
|
|
}
|
|
|
|
DeletableObjects::PrivateMessage(pm) => {
|
|
|
|
DeletableObjects::PrivateMessage(pm) => {
|
|
|
|
PrivateMessage::update(
|
|
|
|
PrivateMessage::update(
|
|
|
|
&mut conn,
|
|
|
|
&mut *context.conn().await?,
|
|
|
|
pm.id,
|
|
|
|
pm.id,
|
|
|
|
&PrivateMessageUpdateForm::builder()
|
|
|
|
&PrivateMessageUpdateForm::builder()
|
|
|
|
.deleted(Some(deleted))
|
|
|
|
.deleted(Some(deleted))
|
|
|
|