From 59f5ef1c18879bb87e53a2f420584c3b34156df6 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Thu, 14 Oct 2021 10:59:22 -0400 Subject: [PATCH] Adding a post not deleted or removed check to creatorupdatecomment. --- crates/apub/src/activities/comment/create_or_update.rs | 5 ++++- crates/apub/src/objects/comment.rs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/apub/src/activities/comment/create_or_update.rs b/crates/apub/src/activities/comment/create_or_update.rs index 2ed1359f2..b22c240e6 100644 --- a/crates/apub/src/activities/comment/create_or_update.rs +++ b/crates/apub/src/activities/comment/create_or_update.rs @@ -14,7 +14,7 @@ use crate::{ objects::{comment::Note, FromApub, ToApub}, }; use activitystreams::{base::AnyBase, link::Mention, primitives::OneOrMany, unparsed::Unparsed}; -use lemmy_api_common::blocking; +use lemmy_api_common::{blocking, check_post_deleted_or_removed}; use lemmy_apub_lib::{ data::Data, traits::{ActivityFields, ActivityHandler, ActorType}, @@ -95,11 +95,14 @@ impl ActivityHandler for CreateOrUpdateComment { ) -> Result<(), LemmyError> { let community = extract_community(&self.cc, context, request_counter).await?; let community_id = ObjectId::new(community.actor_id()); + let post = self.object.get_parents(context, request_counter).await?.0; verify_activity(self, &context.settings())?; verify_person_in_community(&self.actor, &community_id, context, request_counter).await?; verify_domains_match(self.actor.inner(), self.object.id_unchecked())?; check_community_deleted_or_removed(&community)?; + check_post_deleted_or_removed(&post)?; + // TODO: should add a check that the correct community is in cc (probably needs changes to // comment deserialization) self.object.verify(context, request_counter).await?; diff --git a/crates/apub/src/objects/comment.rs b/crates/apub/src/objects/comment.rs index 1e01b3f56..140340f5f 100644 --- a/crates/apub/src/objects/comment.rs +++ b/crates/apub/src/objects/comment.rs @@ -73,7 +73,7 @@ impl Note { Ok(&self.id) } - async fn get_parents( + pub async fn get_parents( &self, context: &LemmyContext, request_counter: &mut i32,