feat(sdk): Add support for AnySyncTimelineEvent in event handlers

This commit is contained in:
Jonas Platte
2022-09-01 15:01:29 +02:00
committed by Jonas Platte
parent d4ac1bffd0
commit 245ecea263
2 changed files with 15 additions and 4 deletions

View File

@@ -111,6 +111,7 @@ pub enum HandlerKind {
GlobalAccountData,
RoomAccountData,
EphemeralRoomData,
Timeline,
MessageLike,
OriginalMessageLike,
RedactedMessageLike,
@@ -397,6 +398,10 @@ impl Client {
// Event handlers specifically for redacted OR unredacted timeline events
self.call_event_handlers(room, raw_event, handler_kind_r, &event_type, encryption_info)
.await;
// Event handlers for `AnySyncTimelineEvent`
let kind = HandlerKind::Timeline;
self.call_event_handlers(room, raw_event, kind, &event_type, encryption_info).await;
}
Ok(())

View File

@@ -19,10 +19,11 @@ use ruma::{
self,
presence::{PresenceEvent, PresenceEventContent},
AnyGlobalAccountDataEvent, AnyRoomAccountDataEvent, AnyStrippedStateEvent,
AnySyncEphemeralRoomEvent, AnySyncMessageLikeEvent, AnySyncStateEvent, AnyToDeviceEvent,
EphemeralRoomEventContent, GlobalAccountDataEventContent, MessageLikeEventContent,
RedactContent, RedactedEventContent, RoomAccountDataEventContent, StateEventContent,
StaticEventContent, ToDeviceEventContent,
AnySyncEphemeralRoomEvent, AnySyncMessageLikeEvent, AnySyncStateEvent,
AnySyncTimelineEvent, AnyToDeviceEvent, EphemeralRoomEventContent,
GlobalAccountDataEventContent, MessageLikeEventContent, RedactContent,
RedactedEventContent, RoomAccountDataEventContent, StateEventContent, StaticEventContent,
ToDeviceEventContent,
},
serde::Raw,
};
@@ -157,6 +158,11 @@ impl SyncEvent for AnySyncEphemeralRoomEvent {
const TYPE: Option<&'static str> = None;
}
impl SyncEvent for AnySyncTimelineEvent {
const KIND: HandlerKind = HandlerKind::Timeline;
const TYPE: Option<&'static str> = None;
}
impl SyncEvent for AnySyncMessageLikeEvent {
const KIND: HandlerKind = HandlerKind::MessageLike;
const TYPE: Option<&'static str> = None;