mirror of
https://git.asonix.dog/asonix/relay.git
synced 2024-11-22 01:21:06 +00:00
Save listeners in db
This commit is contained in:
parent
4c373e562b
commit
4fba2f317d
1 changed files with 11 additions and 9 deletions
20
src/inbox.rs
20
src/inbox.rs
|
@ -165,18 +165,20 @@ async fn handle_follow(
|
|||
return Err(MyError::WrongActor(input.object.id().to_string()));
|
||||
}
|
||||
|
||||
if !is_listener && input.object.is(&my_id) {
|
||||
let follow = generate_follow(state, &actor.id, &my_id)?;
|
||||
|
||||
if !is_listener {
|
||||
let inbox = actor.inbox().to_owned();
|
||||
db.add_listener(inbox).await?;
|
||||
|
||||
let client2 = client.clone();
|
||||
let inbox = actor.inbox().clone();
|
||||
let follow2 = follow.clone();
|
||||
actix::Arbiter::spawn(async move {
|
||||
let _ = client2.deliver(inbox, &follow2).await;
|
||||
});
|
||||
// if following relay directly, not just following 'public', followback
|
||||
if input.object.is(&my_id) {
|
||||
let follow = generate_follow(state, &actor.id, &my_id)?;
|
||||
let client2 = client.clone();
|
||||
let inbox = actor.inbox().clone();
|
||||
let follow2 = follow.clone();
|
||||
actix::Arbiter::spawn(async move {
|
||||
let _ = client2.deliver(inbox, &follow2).await;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
let accept = generate_accept_follow(state, &actor.id, &input.id, &my_id)?;
|
||||
|
|
Loading…
Reference in a new issue