diff options
Diffstat (limited to 'src/service/rooms/pdu_metadata/data.rs')
-rw-r--r-- | src/service/rooms/pdu_metadata/data.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/service/rooms/pdu_metadata/data.rs b/src/service/rooms/pdu_metadata/data.rs index b157938..6c4cb3c 100644 --- a/src/service/rooms/pdu_metadata/data.rs +++ b/src/service/rooms/pdu_metadata/data.rs @@ -1,9 +1,17 @@ use std::sync::Arc; -use crate::Result; -use ruma::{EventId, RoomId}; +use crate::{service::rooms::timeline::PduCount, PduEvent, Result}; +use ruma::{EventId, RoomId, UserId}; pub trait Data: Send + Sync { + fn add_relation(&self, from: u64, to: u64) -> Result<()>; + fn relations_until<'a>( + &'a self, + user_id: &'a UserId, + room_id: u64, + target: u64, + until: PduCount, + ) -> Result<Box<dyn Iterator<Item = Result<(PduCount, PduEvent)>> + 'a>>; fn mark_as_referenced(&self, room_id: &RoomId, event_ids: &[Arc<EventId>]) -> Result<()>; fn is_event_referenced(&self, room_id: &RoomId, event_id: &EventId) -> Result<bool>; fn mark_event_soft_failed(&self, event_id: &EventId) -> Result<()>; |