From 9d2c3382c3ad07c6b51070f6765b09be3204e947 Mon Sep 17 00:00:00 2001 From: Kitaiti Makoto Date: Sun, 9 Jan 2022 08:29:02 +0900 Subject: [PATCH] Extract Follow::build_accept --- plume-models/src/follows.rs | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/plume-models/src/follows.rs b/plume-models/src/follows.rs index 27a50bbb..c7eeff44 100644 --- a/plume-models/src/follows.rs +++ b/plume-models/src/follows.rs @@ -99,11 +99,27 @@ impl Follow { )?; res.notify(conn)?; + let accept = res.build_accept(from, target, follow)?; + broadcast( + &*target, + accept, + vec![from.clone()], + CONFIG.proxy().cloned(), + ); + Ok(res) + } + + pub fn build_accept + IntoId, T>( + &self, + from: &B, + target: &A, + follow: FollowAct, + ) -> Result { let mut accept = Accept::default(); let accept_id = ap_url(&format!( "{}/follow/{}/accept", CONFIG.base_url.as_str(), - &res.id + self.id )); accept.object_props.set_id_string(accept_id)?; accept @@ -116,13 +132,8 @@ impl Follow { .accept_props .set_actor_link::(target.clone().into_id())?; accept.accept_props.set_object_object(follow)?; - broadcast( - &*target, - accept, - vec![from.clone()], - CONFIG.proxy().cloned(), - ); - Ok(res) + + Ok(accept) } pub fn build_undo(&self, conn: &Connection) -> Result {