summaryrefslogtreecommitdiff
path: root/src/event/types.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/types.rs')
-rw-r--r--src/event/types.rs22
1 files changed, 5 insertions, 17 deletions
diff --git a/src/event/types.rs b/src/event/types.rs
index cd7dea6..2324dc1 100644
--- a/src/event/types.rs
+++ b/src/event/types.rs
@@ -1,16 +1,14 @@
use crate::{
channel::{self, Channel},
- clock::DateTime,
- event::Sequence,
+ event::{Instant, Sequence},
login::Login,
message::{self, Message},
};
#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)]
pub struct ChannelEvent {
- #[serde(skip)]
- pub sequence: Sequence,
- pub at: DateTime,
+ #[serde(flatten)]
+ pub instant: Instant,
#[serde(flatten)]
pub data: ChannelEventData,
}
@@ -18,25 +16,15 @@ pub struct ChannelEvent {
impl ChannelEvent {
pub fn created(channel: Channel) -> Self {
Self {
- at: channel.created_at,
- sequence: channel.created_sequence,
+ instant: channel.created,
data: CreatedEvent { channel }.into(),
}
}
-
- pub fn channel_id(&self) -> &channel::Id {
- match &self.data {
- ChannelEventData::Created(event) => &event.channel.id,
- ChannelEventData::Message(event) => &event.channel.id,
- ChannelEventData::MessageDeleted(event) => &event.channel.id,
- ChannelEventData::Deleted(event) => &event.channel,
- }
- }
}
impl<'c> From<&'c ChannelEvent> for Sequence {
fn from(event: &'c ChannelEvent) -> Self {
- event.sequence
+ event.instant.sequence
}
}