Dont serve apub json for removed objects (ref #2522) (#2538)

This commit is contained in:
Nutomic 2022-11-05 00:57:28 +00:00 committed by GitHub
parent 50a2233b52
commit a0a84d91ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 3 deletions

View file

@ -30,7 +30,7 @@ pub(crate) async fn get_apub_comment(
return Err(NotFound.into());
}
if !comment.deleted {
if !comment.deleted && !comment.removed {
Ok(create_apub_response(&comment.into_apub(&**context).await?))
} else {
Ok(create_apub_tombstone_response(comment.ap_id.clone()))

View file

@ -40,7 +40,7 @@ pub(crate) async fn get_apub_community_http(
.await??
.into();
if !community.deleted {
if !community.deleted && !community.removed {
let apub = community.into_apub(&**context).await?;
Ok(create_apub_response(&apub))
@ -83,6 +83,10 @@ pub(crate) async fn get_apub_community_outbox(
Community::read_from_name(conn, &info.community_name, false)
})
.await??;
if community.deleted || community.removed {
return Err(LemmyError::from_message("deleted"));
}
let id = ObjectId::new(generate_outbox_url(&community.actor_id)?);
let outbox_data = CommunityContext(community.into(), context.get_ref().clone());
let outbox: ApubCommunityOutbox = id
@ -101,6 +105,10 @@ pub(crate) async fn get_apub_community_moderators(
})
.await??
.into();
if community.deleted || community.removed {
return Err(LemmyError::from_message("deleted"));
}
let id = ObjectId::new(generate_outbox_url(&community.actor_id)?);
let outbox_data = CommunityContext(community, context.get_ref().clone());
let moderators: ApubCommunityModerators = id

View file

@ -30,7 +30,7 @@ pub(crate) async fn get_apub_post(
return Err(NotFound.into());
}
if !post.deleted {
if !post.deleted && !post.removed {
Ok(create_apub_response(&post.into_apub(&context).await?))
} else {
Ok(create_apub_tombstone_response(post.ap_id.clone()))