Abstract Pdu filter matching into trait Event.

Abstract Pdu unsigned accessors into trait Event.

Abstract Pdu relation related into trait Event.

Abstract PDU content into trait Event.

Move event_id utils from pdu to event.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-04-27 09:34:07 +00:00
parent 222e89f6fe
commit af7dfb31bc
56 changed files with 666 additions and 492 deletions

View File

@@ -13,7 +13,10 @@ use ruma::{
};
use tuwunel_core::{
Result, debug, err,
matrix::pdu::{PduCount, PduId, RawPduId},
matrix::{
Event,
pdu::{PduCount, PduId, RawPduId},
},
warn,
};
@@ -84,18 +87,17 @@ impl Service {
"Short room ID does not exist in database for {room_id}: {e}"
)))
});
let (pdu_count, shortroomid) = try_join!(pdu_count, shortroomid)?;
let (pdu_count, shortroomid) = try_join!(pdu_count, shortroomid)?;
let shorteventid = PduCount::Normal(pdu_count);
let pdu_id: RawPduId = PduId { shortroomid, shorteventid }.into();
let pdu = self
.services
.timeline
.get_pdu_from_id(&pdu_id)
.await?;
let event_id: OwnedEventId = pdu.event_id;
let event_id: OwnedEventId = pdu.event_id().to_owned();
let user_id: OwnedUserId = user_id.to_owned();
let content: BTreeMap<OwnedEventId, Receipts> = BTreeMap::from_iter([(
event_id,