From 2914c0b6a074f1a18973eb4148bbb66f9abb3a7d Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Sat, 15 May 2021 02:27:03 +0200 Subject: [PATCH] events: Add AnySyncRoomEvent::into_full_event --- crates/ruma-events/src/enums.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/ruma-events/src/enums.rs b/crates/ruma-events/src/enums.rs index 2ab31f37..e2669d92 100644 --- a/crates/ruma-events/src/enums.rs +++ b/crates/ruma-events/src/enums.rs @@ -179,6 +179,16 @@ impl AnySyncRoomEvent { room_ev_accessor!(origin_server_ts: &MilliSecondsSinceUnixEpoch); room_ev_accessor!(event_id: &EventId); room_ev_accessor!(sender: &UserId); + + /// Converts `self` to an `AnyRoomEvent` by adding the given a room ID. + pub fn into_full_event(self, room_id: RoomId) -> AnyRoomEvent { + match self { + Self::Message(ev) => AnyRoomEvent::Message(ev.into_full_event(room_id)), + Self::State(ev) => AnyRoomEvent::State(ev.into_full_event(room_id)), + Self::RedactedMessage(ev) => AnyRoomEvent::RedactedMessage(ev.into_full_event(room_id)), + Self::RedactedState(ev) => AnyRoomEvent::RedactedState(ev.into_full_event(room_id)), + } + } } impl<'de> de::Deserialize<'de> for AnyRoomEvent {