diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-08 22:43:22 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-09 11:45:31 -0400 |
| commit | 9e171096a72d3e63626df7b09970476aba28eb06 (patch) | |
| tree | 7272c065fdb85148dc5c90d937fc7d13fc716ccf /src/channel/snapshot.rs | |
| parent | 653e2de752a97e377fc9963ba60d9408e7089528 (diff) | |
Use a two-tier hierarchy for events.
This will make it much easier to slot in new event types (login events!).
Diffstat (limited to 'src/channel/snapshot.rs')
| -rw-r--r-- | src/channel/snapshot.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/channel/snapshot.rs b/src/channel/snapshot.rs index afef2fb..d4d1d27 100644 --- a/src/channel/snapshot.rs +++ b/src/channel/snapshot.rs @@ -1,5 +1,5 @@ use super::{ - event::{Created, Event, Kind}, + event::{Created, Event}, Id, }; @@ -11,9 +11,9 @@ pub struct Channel { impl Channel { fn apply(state: Option<Self>, event: Event) -> Option<Self> { - match (state, event.kind) { - (None, Kind::Created(event)) => Some(event.into()), - (Some(channel), Kind::Deleted(event)) if channel.id == event.id => None, + match (state, event) { + (None, Event::Created(event)) => Some(event.into()), + (Some(channel), Event::Deleted(event)) if channel.id == event.id => None, (state, event) => panic!("invalid channel event {event:#?} for state {state:#?}"), } } |
