X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fapub%2Fsrc%2Fprotocol%2Fobjects%2Fnote.rs;h=f93a41ef884a8ed5edb54bd1a90be9375afb1504;hb=62663a9f2e91e3e909d96c921c21bea598a57f91;hp=f561c313df9e624ad2ec692bbefad7237707aa50;hpb=8409e50f8c1aba177423d773d07f7b66b518f46b;p=lemmy.git diff --git a/crates/apub/src/protocol/objects/note.rs b/crates/apub/src/protocol/objects/note.rs index f561c313..f93a41ef 100644 --- a/crates/apub/src/protocol/objects/note.rs +++ b/crates/apub/src/protocol/objects/note.rs @@ -67,15 +67,11 @@ impl Note { .await?, ); match parent.deref() { - PostOrComment::Post(p) => { - let post = p.deref().clone(); - Ok((post, None)) - } + PostOrComment::Post(p) => Ok((p.clone(), None)), PostOrComment::Comment(c) => { let post_id = c.post_id; let post = Post::read(context.pool(), post_id).await?; - let comment = c.deref().clone(); - Ok((post.into(), Some(comment))) + Ok((post.into(), Some(c.clone()))) } } } @@ -89,15 +85,10 @@ impl InCommunity for Note { request_counter: &mut i32, ) -> Result { let (post, _) = self.get_parents(context, request_counter).await?; - let community_id = post.community_id; + let community = Community::read(context.pool(), post.community_id).await?; if let Some(audience) = &self.audience { - let audience = audience - .dereference(context, local_instance(context).await, request_counter) - .await?; - verify_community_matches(&audience, community_id)?; - Ok(audience) - } else { - Ok(Community::read(context.pool(), community_id).await?.into()) + verify_community_matches(audience, community.actor_id.clone())?; } + Ok(community.into()) } }