summaryrefslogtreecommitdiff
path: root/src/event/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/mod.rs')
-rw-r--r--src/event/mod.rs13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/event/mod.rs b/src/event/mod.rs
index 698e55a..69c7a10 100644
--- a/src/event/mod.rs
+++ b/src/event/mod.rs
@@ -1,13 +1,14 @@
-use crate::{channel, message};
+use crate::{channel, login, message};
pub mod app;
-pub mod broadcaster;
+mod broadcaster;
mod extract;
pub mod repo;
mod routes;
mod sequence;
pub use self::{
+ broadcaster::Broadcaster,
routes::router,
sequence::{Instant, Sequence, Sequenced},
};
@@ -17,6 +18,7 @@ pub type ResumePoint = Option<Sequence>;
#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum Event {
+ Login(login::Event),
Channel(channel::Event),
Message(message::Event),
}
@@ -24,12 +26,19 @@ pub enum Event {
impl Sequenced for Event {
fn instant(&self) -> Instant {
match self {
+ Self::Login(event) => event.instant(),
Self::Channel(event) => event.instant(),
Self::Message(event) => event.instant(),
}
}
}
+impl From<login::Event> for Event {
+ fn from(event: login::Event) -> Self {
+ Self::Login(event)
+ }
+}
+
impl From<channel::Event> for Event {
fn from(event: channel::Event) -> Self {
Self::Channel(event)