events: Remove redacted event content enums
They weren't being used anywhere.
This commit is contained in:
parent
3550ed9b1e
commit
4e2fdcb990
@ -325,7 +325,6 @@ fn expand_content_enum(
|
|||||||
variants: &[EventEnumVariant],
|
variants: &[EventEnumVariant],
|
||||||
ruma_events: &TokenStream,
|
ruma_events: &TokenStream,
|
||||||
) -> TokenStream {
|
) -> TokenStream {
|
||||||
let ruma_identifiers = quote! { #ruma_events::exports::ruma_identifiers };
|
|
||||||
let serde = quote! { #ruma_events::exports::serde };
|
let serde = quote! { #ruma_events::exports::serde };
|
||||||
let serde_json = quote! { #ruma_events::exports::serde_json };
|
let serde_json = quote! { #ruma_events::exports::serde_json };
|
||||||
|
|
||||||
@ -395,62 +394,12 @@ fn expand_content_enum(
|
|||||||
|
|
||||||
let marker_trait_impl = marker_trait(kind, ruma_events);
|
let marker_trait_impl = marker_trait(kind, ruma_events);
|
||||||
|
|
||||||
let redacted_content_enum = matches!(kind, EventKind::State | EventKind::Message).then(|| {
|
|
||||||
let redacted_ident = kind.to_redacted_content_enum();
|
|
||||||
let redacted_variants = variants.iter().map(|v| v.ctor(&redacted_ident));
|
|
||||||
let redacted_content: Vec<_> = events
|
|
||||||
.iter()
|
|
||||||
.map(|ev| to_event_content_path(kind, ev, Some("Redacted"), ruma_events))
|
|
||||||
.collect();
|
|
||||||
|
|
||||||
quote! {
|
|
||||||
#( #attrs )*
|
|
||||||
#[derive(Clone, Debug, #serde::Serialize)]
|
|
||||||
#[serde(untagged)]
|
|
||||||
#[allow(clippy::large_enum_variant)]
|
|
||||||
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
|
|
||||||
pub enum #redacted_ident {
|
|
||||||
#(
|
|
||||||
#[doc = #event_type_str]
|
|
||||||
#variant_decls(#redacted_content),
|
|
||||||
)*
|
|
||||||
#[doc(hidden)]
|
|
||||||
_Custom {
|
|
||||||
#[serde(skip)]
|
|
||||||
event_type: ::std::string::String,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
impl #ruma_events::RedactContent for #ident {
|
|
||||||
type Redacted = #redacted_ident;
|
|
||||||
|
|
||||||
/// Redacts `Self` given a `RoomVersionId`.
|
|
||||||
fn redact(
|
|
||||||
self,
|
|
||||||
version: &#ruma_identifiers::RoomVersionId,
|
|
||||||
) -> #redacted_ident {
|
|
||||||
match self {
|
|
||||||
#(
|
|
||||||
#variant_arms(content) => {
|
|
||||||
#redacted_variants(
|
|
||||||
#ruma_events::RedactContent::redact(content, version),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)*
|
|
||||||
Self::_Custom { event_type } => #redacted_ident::_Custom { event_type },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
let from_impl = expand_from_impl(ident, &content, variants);
|
let from_impl = expand_from_impl(ident, &content, variants);
|
||||||
|
|
||||||
quote! {
|
quote! {
|
||||||
#content_enum
|
#content_enum
|
||||||
#event_content_impl
|
#event_content_impl
|
||||||
#marker_trait_impl
|
#marker_trait_impl
|
||||||
#redacted_content_enum
|
|
||||||
#from_impl
|
#from_impl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -150,11 +150,6 @@ impl EventKind {
|
|||||||
pub fn to_content_enum(&self) -> Ident {
|
pub fn to_content_enum(&self) -> Ident {
|
||||||
format_ident!("Any{}Content", self)
|
format_ident!("Any{}Content", self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// `AnyRedacted[kind]EventContent`
|
|
||||||
pub fn to_redacted_content_enum(&self) -> Ident {
|
|
||||||
format_ident!("AnyRedacted{}Content", self)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Parse for EventKind {
|
impl Parse for EventKind {
|
||||||
|
@ -8,6 +8,7 @@ Breaking changes:
|
|||||||
* Require `room::message::MessageType` to always contain a body
|
* Require `room::message::MessageType` to always contain a body
|
||||||
* The `new` constructor now also has a body parameter
|
* The `new` constructor now also has a body parameter
|
||||||
* Rename `*ToDeviceEventContent` structs to `ToDevice*Content`
|
* Rename `*ToDeviceEventContent` structs to `ToDevice*Content`
|
||||||
|
* Remove unneeded redacted event content enums
|
||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
|
|
||||||
|
@ -5,15 +5,14 @@ use ruma_events::{
|
|||||||
custom::RedactedCustomEventContent,
|
custom::RedactedCustomEventContent,
|
||||||
room::{
|
room::{
|
||||||
aliases::RedactedRoomAliasesEventContent,
|
aliases::RedactedRoomAliasesEventContent,
|
||||||
create::RedactedRoomCreateEventContent,
|
create::{RedactedRoomCreateEventContent, RoomCreateEventContent},
|
||||||
message::RedactedRoomMessageEventContent,
|
message::{RedactedRoomMessageEventContent, RoomMessageEventContent},
|
||||||
redaction::{RoomRedactionEventContent, SyncRoomRedactionEvent},
|
redaction::{RoomRedactionEventContent, SyncRoomRedactionEvent},
|
||||||
},
|
},
|
||||||
AnyMessageEvent, AnyMessageEventContent, AnyRedactedMessageEvent,
|
AnyMessageEvent, AnyRedactedMessageEvent, AnyRedactedSyncMessageEvent,
|
||||||
AnyRedactedMessageEventContent, AnyRedactedStateEventContent, AnyRedactedSyncMessageEvent,
|
AnyRedactedSyncStateEvent, AnyRoomEvent, AnySyncRoomEvent, EventContent, Redact, RedactContent,
|
||||||
AnyRedactedSyncStateEvent, AnyRoomEvent, AnyStateEventContent, AnySyncRoomEvent, EventContent,
|
RedactedMessageEvent, RedactedSyncMessageEvent, RedactedSyncStateEvent, RedactedUnsigned,
|
||||||
Redact, RedactContent, RedactedMessageEvent, RedactedSyncMessageEvent, RedactedSyncStateEvent,
|
Unsigned,
|
||||||
RedactedUnsigned, Unsigned,
|
|
||||||
};
|
};
|
||||||
use ruma_identifiers::{event_id, room_id, user_id, RoomVersionId};
|
use ruma_identifiers::{event_id, room_id, user_id, RoomVersionId};
|
||||||
use serde_json::{
|
use serde_json::{
|
||||||
@ -322,11 +321,11 @@ fn redact_message_content() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
let raw_json = to_raw_value(&json).unwrap();
|
let raw_json = to_raw_value(&json).unwrap();
|
||||||
let content = AnyMessageEventContent::from_parts("m.room.message", &raw_json).unwrap();
|
let content = RoomMessageEventContent::from_parts("m.room.message", &raw_json).unwrap();
|
||||||
|
|
||||||
assert_matches!(
|
assert_matches!(
|
||||||
content.redact(&RoomVersionId::Version6),
|
content.redact(&RoomVersionId::Version6),
|
||||||
AnyRedactedMessageEventContent::RoomMessage(RedactedRoomMessageEventContent { .. })
|
RedactedRoomMessageEventContent { .. }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -339,13 +338,13 @@ fn redact_state_content() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
let raw_json = to_raw_value(&json).unwrap();
|
let raw_json = to_raw_value(&json).unwrap();
|
||||||
let content = AnyStateEventContent::from_parts("m.room.create", &raw_json).unwrap();
|
let content = RoomCreateEventContent::from_parts("m.room.create", &raw_json).unwrap();
|
||||||
|
|
||||||
assert_matches!(
|
assert_matches!(
|
||||||
content.redact(&RoomVersionId::Version6),
|
content.redact(&RoomVersionId::Version6),
|
||||||
AnyRedactedStateEventContent::RoomCreate(RedactedRoomCreateEventContent {
|
RedactedRoomCreateEventContent {
|
||||||
creator,
|
creator,
|
||||||
..
|
..
|
||||||
}) if creator == user_id!("@carl:example.com")
|
} if creator == user_id!("@carl:example.com")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user