diff --git a/crates/ruma-common/src/events/kinds.rs b/crates/ruma-common/src/events/kinds.rs index af172da6..1ce56dfc 100644 --- a/crates/ruma-common/src/events/kinds.rs +++ b/crates/ruma-common/src/events/kinds.rs @@ -6,10 +6,10 @@ use serde_json::value::RawValue as RawJsonValue; use super::{ EphemeralRoomEventContent, EventContent, EventContentFromType, GlobalAccountDataEventContent, - MessageLikeEventContent, MessageLikeEventType, MessageLikeUnsigned, RedactContent, - RedactedMessageLikeEventContent, RedactedStateEventContent, RedactedUnsigned, - RedactionDeHelper, RoomAccountDataEventContent, StateEventType, StaticStateEventContent, - ToDeviceEventContent, + MessageLikeEventContent, MessageLikeEventType, MessageLikeUnsigned, + PossiblyRedactedStateEventContent, RedactContent, RedactedMessageLikeEventContent, + RedactedStateEventContent, RedactedUnsigned, RedactionDeHelper, RoomAccountDataEventContent, + StateEventType, StaticStateEventContent, ToDeviceEventContent, }; use crate::{ serde::from_raw_json_value, EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId, @@ -285,7 +285,7 @@ pub struct OriginalSyncStateEvent { /// A stripped-down state event, used for previews of rooms the user has been invited to. #[derive(Clone, Debug, Event)] -pub struct StrippedStateEvent { +pub struct StrippedStateEvent { /// Data specific to the event type. pub content: C, diff --git a/crates/ruma-macros/src/events/event_content.rs b/crates/ruma-macros/src/events/event_content.rs index 3720dd6a..70fd848c 100644 --- a/crates/ruma-macros/src/events/event_content.rs +++ b/crates/ruma-macros/src/events/event_content.rs @@ -740,6 +740,8 @@ fn generate_event_type_aliases( let content_struct = if var.is_redacted() { Cow::Owned(format_ident!("Redacted{ident}")) + } else if let EventKindVariation::Stripped = var { + Cow::Owned(format_ident!("PossiblyRedacted{ident}")) } else { Cow::Borrowed(ident) }; diff --git a/crates/ruma-macros/src/events/event_enum.rs b/crates/ruma-macros/src/events/event_enum.rs index 28337eb8..488336c9 100644 --- a/crates/ruma-macros/src/events/event_enum.rs +++ b/crates/ruma-macros/src/events/event_enum.rs @@ -543,6 +543,9 @@ fn expand_accessor_methods( } accessors + } else if var == EventEnumVariation::Stripped { + // There is no content enum for possibly-redacted content types (yet) + TokenStream::new() } else { quote! { /// Returns the content for this event.