2024-10-25 01:16:01 +00:00
|
|
|
use std::sync::Arc;
|
|
|
|
|
2024-10-27 20:53:22 +00:00
|
|
|
pub use ruma::state_res::Event;
|
|
|
|
use ruma::{events::TimelineEventType, EventId, MilliSecondsSinceUnixEpoch, RoomId, UserId};
|
2024-10-25 01:16:01 +00:00
|
|
|
use serde_json::value::RawValue as RawJsonValue;
|
|
|
|
|
2024-11-07 03:30:47 +00:00
|
|
|
use super::Pdu;
|
2024-10-25 01:16:01 +00:00
|
|
|
|
2024-11-07 03:30:47 +00:00
|
|
|
impl Event for Pdu {
|
2024-10-25 01:16:01 +00:00
|
|
|
type Id = Arc<EventId>;
|
|
|
|
|
|
|
|
fn event_id(&self) -> &Self::Id { &self.event_id }
|
|
|
|
|
|
|
|
fn room_id(&self) -> &RoomId { &self.room_id }
|
|
|
|
|
|
|
|
fn sender(&self) -> &UserId { &self.sender }
|
|
|
|
|
|
|
|
fn event_type(&self) -> &TimelineEventType { &self.kind }
|
|
|
|
|
|
|
|
fn content(&self) -> &RawJsonValue { &self.content }
|
|
|
|
|
|
|
|
fn origin_server_ts(&self) -> MilliSecondsSinceUnixEpoch { MilliSecondsSinceUnixEpoch(self.origin_server_ts) }
|
|
|
|
|
|
|
|
fn state_key(&self) -> Option<&str> { self.state_key.as_deref() }
|
|
|
|
|
|
|
|
fn prev_events(&self) -> impl DoubleEndedIterator<Item = &Self::Id> + Send + '_ { self.prev_events.iter() }
|
|
|
|
|
|
|
|
fn auth_events(&self) -> impl DoubleEndedIterator<Item = &Self::Id> + Send + '_ { self.auth_events.iter() }
|
|
|
|
|
|
|
|
fn redacts(&self) -> Option<&Self::Id> { self.redacts.as_ref() }
|
|
|
|
}
|