Broadcast activities to all known instances

We consider everything posted with Plume public (for the moment at least)
This commit is contained in:
Bat
2018-09-09 12:19:11 +01:00
parent b4391b55f2
commit 08cb337df6
6 changed files with 23 additions and 17 deletions
+6 -6
View File
@@ -196,8 +196,8 @@ fn update(blog: String, slug: String, user: User, conn: DbConn, data: LenientFor
}
let act = post.update_activity(&*conn);
let followers = user.get_followers(&*conn);
worker.execute(Thunk::of(move || broadcast(&user, act, followers)));
let dest = User::one_by_instance(&*conn);
worker.execute(Thunk::of(move || broadcast(&user, act, dest)));
Ok(Redirect::to(uri!(details: blog = blog, slug = new_slug)))
}
@@ -294,8 +294,8 @@ fn create(blog_name: String, data: LenientForm<NewPostForm>, user: User, conn: D
}
let act = post.create_activity(&*conn);
let followers = user.get_followers(&*conn);
worker.execute(Thunk::of(move || broadcast(&user, act, followers)));
let dest = User::one_by_instance(&*conn);
worker.execute(Thunk::of(move || broadcast(&user, act, dest)));
Ok(Redirect::to(uri!(details: blog = blog_name, slug = slug)))
}
@@ -320,9 +320,9 @@ fn delete(blog_name: String, slug: String, conn: DbConn, user: User, worker: Sta
if !post.get_authors(&*conn).into_iter().any(|a| a.id == user.id) {
Redirect::to(uri!(details: blog = blog_name.clone(), slug = slug.clone()))
} else {
let audience = user.get_followers(&*conn);
let dest = User::one_by_instance(&*conn);
let delete_activity = post.delete(&*conn);
worker.execute(Thunk::of(move || broadcast(&user, delete_activity, audience)));
worker.execute(Thunk::of(move || broadcast(&user, delete_activity, dest)));
Redirect::to(uri!(super::blogs::details: name = blog_name))
}