flatten auth chain iterations

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2025-01-29 08:39:44 +00:00
parent eb7d893c86
commit 50acfe7832
8 changed files with 90 additions and 111 deletions

View file

@ -1,7 +1,7 @@
use std::{borrow::Borrow, iter::once};
use axum::extract::State;
use conduwuit::{Error, Result};
use conduwuit::{utils::stream::ReadyExt, Error, Result};
use futures::StreamExt;
use ruma::{
api::{client::error::ErrorKind, federation::authorization::get_event_authorization},
@ -48,7 +48,7 @@ pub(crate) async fn get_event_authorization_route(
.rooms
.auth_chain
.event_ids_iter(room_id, once(body.event_id.borrow()))
.await?
.ready_filter_map(Result::ok)
.filter_map(|id| async move { services.rooms.timeline.get_pdu_json(&id).await.ok() })
.then(|pdu| services.sending.convert_to_outgoing_federation_event(pdu))
.collect()