@@ -51,8 +51,9 @@ use ruma::{
51
51
topic:: RoomTopicEventContent ,
52
52
} ,
53
53
typing:: TypingEventContent ,
54
- AnySyncTimelineEvent , AnyTimelineEvent , BundledMessageLikeRelations , EventContent ,
55
- RedactedMessageLikeEventContent , RedactedStateEventContent ,
54
+ AnyStateEvent , AnySyncStateEvent , AnySyncTimelineEvent , AnyTimelineEvent ,
55
+ BundledMessageLikeRelations , EventContent , RedactedMessageLikeEventContent ,
56
+ RedactedStateEventContent , StateEventContent ,
56
57
} ,
57
58
serde:: Raw ,
58
59
server_name, EventId , MilliSecondsSinceUnixEpoch , MxcUri , OwnedEventId , OwnedMxcUri ,
@@ -382,6 +383,24 @@ where
382
383
}
383
384
}
384
385
386
+ impl < E : StateEventContent > From < EventBuilder < E > > for Raw < AnySyncStateEvent >
387
+ where
388
+ E :: EventType : Serialize ,
389
+ {
390
+ fn from ( val : EventBuilder < E > ) -> Self {
391
+ Raw :: new ( & val. construct_json ( false ) ) . unwrap ( ) . cast ( )
392
+ }
393
+ }
394
+
395
+ impl < E : StateEventContent > From < EventBuilder < E > > for Raw < AnyStateEvent >
396
+ where
397
+ E :: EventType : Serialize ,
398
+ {
399
+ fn from ( val : EventBuilder < E > ) -> Self {
400
+ Raw :: new ( & val. construct_json ( true ) ) . unwrap ( ) . cast ( )
401
+ }
402
+ }
403
+
385
404
#[ derive( Debug , Default ) ]
386
405
pub struct EventFactory {
387
406
next_ts : AtomicU64 ,
0 commit comments