diff --git a/crates/ruma-events/src/call/answer.rs b/crates/ruma-events/src/call/answer.rs index 1fb8080c..7e66c194 100644 --- a/crates/ruma-events/src/call/answer.rs +++ b/crates/ruma-events/src/call/answer.rs @@ -1,7 +1,7 @@ //! Types for the *m.call.answer* event. use js_int::UInt; -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use super::SessionDescription; @@ -11,9 +11,9 @@ use crate::MessageEvent; pub type AnswerEvent = MessageEvent; /// The payload for `AnswerEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.call.answer")] +#[ruma_event(type = "m.call.answer", kind = Message)] pub struct AnswerEventContent { /// The VoIP session description object. The session description type must be *answer*. pub answer: SessionDescription, diff --git a/crates/ruma-events/src/call/candidates.rs b/crates/ruma-events/src/call/candidates.rs index befc3d65..8f6424da 100644 --- a/crates/ruma-events/src/call/candidates.rs +++ b/crates/ruma-events/src/call/candidates.rs @@ -1,7 +1,7 @@ //! Types for the *m.call.candidates* event. use js_int::UInt; -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::MessageEvent; @@ -11,8 +11,8 @@ use crate::MessageEvent; pub type CandidatesEvent = MessageEvent; /// The payload for `CandidatesEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.call.candidates")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.call.candidates", kind = Message)] pub struct CandidatesEventContent { /// The ID of the call this event relates to. pub call_id: String, diff --git a/crates/ruma-events/src/call/hangup.rs b/crates/ruma-events/src/call/hangup.rs index b77ac485..a6243051 100644 --- a/crates/ruma-events/src/call/hangup.rs +++ b/crates/ruma-events/src/call/hangup.rs @@ -1,7 +1,7 @@ //! Types for the *m.call.hangup* event. use js_int::UInt; -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; @@ -12,8 +12,8 @@ use crate::MessageEvent; pub type HangupEvent = MessageEvent; /// The payload for `HangupEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.call.hangup")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.call.hangup", kind = Message)] pub struct HangupEventContent { /// The ID of the call this event relates to. pub call_id: String, diff --git a/crates/ruma-events/src/call/invite.rs b/crates/ruma-events/src/call/invite.rs index c324e0c4..169b359e 100644 --- a/crates/ruma-events/src/call/invite.rs +++ b/crates/ruma-events/src/call/invite.rs @@ -1,7 +1,7 @@ //! Types for the *m.call.invite* event. use js_int::UInt; -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use super::SessionDescription; @@ -11,8 +11,8 @@ use crate::MessageEvent; pub type InviteEvent = MessageEvent; /// The payload for `InviteEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.call.invite")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.call.invite", kind = Message)] pub struct InviteEventContent { /// A unique identifier for the call. pub call_id: String, diff --git a/crates/ruma-events/src/key/verification/accept.rs b/crates/ruma-events/src/key/verification/accept.rs index c8bff1da..84d22cce 100644 --- a/crates/ruma-events/src/key/verification/accept.rs +++ b/crates/ruma-events/src/key/verification/accept.rs @@ -3,8 +3,6 @@ use std::collections::BTreeMap; use ruma_events_macros::EventContent; -#[cfg(feature = "unstable-pre-spec")] -use ruma_events_macros::MessageEventContent; use serde::{Deserialize, Serialize}; use serde_json::Value as JsonValue; @@ -37,8 +35,8 @@ pub struct AcceptToDeviceEventContent { } /// The payload for a in-room `AcceptEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.key.verification.accept")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.key.verification.accept", kind = Message)] #[cfg(feature = "unstable-pre-spec")] #[cfg_attr(docsrs, doc(cfg(feature = "unstable-pre-spec")))] pub struct AcceptEventContent { diff --git a/crates/ruma-events/src/key/verification/cancel.rs b/crates/ruma-events/src/key/verification/cancel.rs index d2c530c0..6b1c3492 100644 --- a/crates/ruma-events/src/key/verification/cancel.rs +++ b/crates/ruma-events/src/key/verification/cancel.rs @@ -1,8 +1,6 @@ //! Types for the *m.key.verification.cancel* event. use ruma_events_macros::EventContent; -#[cfg(feature = "unstable-pre-spec")] -use ruma_events_macros::MessageEventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; @@ -33,8 +31,8 @@ pub struct CancelToDeviceEventContent { } /// The payload for an in-room `CancelEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.key.verification.cancel")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.key.verification.cancel", kind = Message)] #[cfg(feature = "unstable-pre-spec")] #[cfg_attr(docsrs, doc(cfg(feature = "unstable-pre-spec")))] pub struct CancelEventContent { diff --git a/crates/ruma-events/src/key/verification/done.rs b/crates/ruma-events/src/key/verification/done.rs index 4ddebb15..bee354a8 100644 --- a/crates/ruma-events/src/key/verification/done.rs +++ b/crates/ruma-events/src/key/verification/done.rs @@ -1,6 +1,6 @@ //! Types for the *m.key.verification.done* event. -use ruma_events_macros::{EventContent, MessageEventContent}; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use super::Relation; @@ -21,8 +21,8 @@ pub struct DoneToDeviceEventContent { } /// The payload for a in-room `m.key.verification.done` event. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.key.verification.done")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.key.verification.done", kind = Message)] pub struct DoneEventContent { /// Relation signaling which verification request this event is responding /// to. diff --git a/crates/ruma-events/src/key/verification/key.rs b/crates/ruma-events/src/key/verification/key.rs index b1c16055..295e7b85 100644 --- a/crates/ruma-events/src/key/verification/key.rs +++ b/crates/ruma-events/src/key/verification/key.rs @@ -1,8 +1,6 @@ //! Types for the *m.key.verification.key* event. use ruma_events_macros::EventContent; -#[cfg(feature = "unstable-pre-spec")] -use ruma_events_macros::MessageEventContent; use serde::{Deserialize, Serialize}; #[cfg(feature = "unstable-pre-spec")] @@ -29,8 +27,8 @@ pub struct KeyToDeviceEventContent { } /// The payload for in-room `KeyEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.key.verification.key")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.key.verification.key", kind = Message)] #[cfg(feature = "unstable-pre-spec")] #[cfg_attr(docsrs, doc(cfg(feature = "unstable-pre-spec")))] pub struct KeyEventContent { diff --git a/crates/ruma-events/src/key/verification/mac.rs b/crates/ruma-events/src/key/verification/mac.rs index 228c3dc1..b20da69a 100644 --- a/crates/ruma-events/src/key/verification/mac.rs +++ b/crates/ruma-events/src/key/verification/mac.rs @@ -3,8 +3,6 @@ use std::collections::BTreeMap; use ruma_events_macros::EventContent; -#[cfg(feature = "unstable-pre-spec")] -use ruma_events_macros::MessageEventContent; use serde::{Deserialize, Serialize}; #[cfg(feature = "unstable-pre-spec")] @@ -37,8 +35,8 @@ pub struct MacToDeviceEventContent { } /// The payload for an in-room `MacEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.key.verification.mac")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.key.verification.mac", kind = Message)] #[cfg(feature = "unstable-pre-spec")] #[cfg_attr(docsrs, doc(cfg(feature = "unstable-pre-spec")))] pub struct MacEventContent { diff --git a/crates/ruma-events/src/key/verification/ready.rs b/crates/ruma-events/src/key/verification/ready.rs index 3767ec45..3b3d0b4c 100644 --- a/crates/ruma-events/src/key/verification/ready.rs +++ b/crates/ruma-events/src/key/verification/ready.rs @@ -1,6 +1,6 @@ //! Types for the *m.key.verification.ready* event. -use ruma_events_macros::{EventContent, MessageEventContent}; +use ruma_events_macros::EventContent; use ruma_identifiers::DeviceIdBox; use serde::{Deserialize, Serialize}; @@ -29,8 +29,8 @@ pub struct ReadyToDeviceEventContent { } /// The payload for an in-room `m.key.verification.ready` event. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.key.verification.ready")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.key.verification.ready", kind = Message)] pub struct ReadyEventContent { /// The device ID which is initiating the request. pub from_device: DeviceIdBox, diff --git a/crates/ruma-events/src/key/verification/start.rs b/crates/ruma-events/src/key/verification/start.rs index eccc7076..ec59dd5b 100644 --- a/crates/ruma-events/src/key/verification/start.rs +++ b/crates/ruma-events/src/key/verification/start.rs @@ -3,8 +3,6 @@ use std::{collections::BTreeMap, convert::TryFrom}; use ruma_events_macros::EventContent; -#[cfg(feature = "unstable-pre-spec")] -use ruma_events_macros::MessageEventContent; use ruma_identifiers::DeviceIdBox; use serde::{Deserialize, Serialize}; use serde_json::Value as JsonValue; @@ -43,8 +41,8 @@ pub struct StartToDeviceEventContent { } /// The payload of an in-room *m.key.verification.start* event. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.key.verification.start")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.key.verification.start", kind = Message)] #[cfg(feature = "unstable-pre-spec")] #[cfg_attr(docsrs, doc(cfg(feature = "unstable-pre-spec")))] pub struct StartEventContent { diff --git a/crates/ruma-events/src/policy/rule/room.rs b/crates/ruma-events/src/policy/rule/room.rs index 0f000ffa..2995800c 100644 --- a/crates/ruma-events/src/policy/rule/room.rs +++ b/crates/ruma-events/src/policy/rule/room.rs @@ -1,6 +1,6 @@ //! Types for the *m.policy.rule.room* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::{policy::rule::PolicyRuleEventContent, StateEvent}; @@ -9,8 +9,8 @@ use crate::{policy::rule::PolicyRuleEventContent, StateEvent}; pub type RoomEvent = StateEvent; /// The payload for `RoomEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.policy.rule.room")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.policy.rule.room", kind = State)] pub struct RoomEventContent(pub PolicyRuleEventContent); #[cfg(test)] diff --git a/crates/ruma-events/src/policy/rule/server.rs b/crates/ruma-events/src/policy/rule/server.rs index 753beed3..d8cd41cb 100644 --- a/crates/ruma-events/src/policy/rule/server.rs +++ b/crates/ruma-events/src/policy/rule/server.rs @@ -1,6 +1,6 @@ //! Types for the *m.policy.rule.server* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::{policy::rule::PolicyRuleEventContent, StateEvent}; @@ -9,6 +9,6 @@ use crate::{policy::rule::PolicyRuleEventContent, StateEvent}; pub type ServerEvent = StateEvent; /// The payload for `ServerEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.policy.rule.server")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.policy.rule.server", kind = State)] pub struct ServerEventContent(pub PolicyRuleEventContent); diff --git a/crates/ruma-events/src/policy/rule/user.rs b/crates/ruma-events/src/policy/rule/user.rs index ceff6de8..f4025200 100644 --- a/crates/ruma-events/src/policy/rule/user.rs +++ b/crates/ruma-events/src/policy/rule/user.rs @@ -1,6 +1,6 @@ //! Types for the *m.policy.rule.user* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::{policy::rule::PolicyRuleEventContent, StateEvent}; @@ -9,6 +9,6 @@ use crate::{policy::rule::PolicyRuleEventContent, StateEvent}; pub type UserEvent = StateEvent; /// The payload for `UserEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.policy.rule.user")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.policy.rule.user", kind = State)] pub struct UserEventContent(pub PolicyRuleEventContent); diff --git a/crates/ruma-events/src/reaction.rs b/crates/ruma-events/src/reaction.rs index 6857f6b3..35cc7a2a 100644 --- a/crates/ruma-events/src/reaction.rs +++ b/crates/ruma-events/src/reaction.rs @@ -2,7 +2,7 @@ use std::convert::TryFrom; -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::EventId; use serde::{Deserialize, Serialize}; @@ -15,8 +15,8 @@ use crate::{ pub type ReactionEvent = MessageEvent; /// The payload for a `ReactionEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] -#[ruma_event(type = "m.reaction")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.reaction", kind = Message)] pub struct ReactionEventContent { /// Information about the related event. #[serde(rename = "m.relates_to")] diff --git a/crates/ruma-events/src/receipt.rs b/crates/ruma-events/src/receipt.rs index 4bd77fa2..c9234f4d 100644 --- a/crates/ruma-events/src/receipt.rs +++ b/crates/ruma-events/src/receipt.rs @@ -6,7 +6,7 @@ use std::{ }; use ruma_common::{receipt::ReceiptType, MilliSecondsSinceUnixEpoch}; -use ruma_events_macros::EphemeralRoomEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::{EventId, UserId}; use serde::{Deserialize, Serialize}; @@ -19,8 +19,8 @@ pub type ReceiptEvent = EphemeralRoomEvent; /// /// A mapping of event ID to a collection of receipts for this event ID. The event ID is the ID of /// the event being acknowledged and *not* an ID for the receipt itself. -#[derive(Clone, Debug, Deserialize, Serialize, EphemeralRoomEventContent)] -#[ruma_event(type = "m.receipt")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.receipt", kind = EphemeralRoom)] pub struct ReceiptEventContent(pub BTreeMap); impl Deref for ReceiptEventContent { diff --git a/crates/ruma-events/src/room/aliases.rs b/crates/ruma-events/src/room/aliases.rs index c730be0a..82fcb4c9 100644 --- a/crates/ruma-events/src/room/aliases.rs +++ b/crates/ruma-events/src/room/aliases.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.aliases* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::{RoomAliasId, RoomVersionId}; use serde::{Deserialize, Serialize}; use serde_json::value::RawValue as RawJsonValue; @@ -13,9 +13,9 @@ use crate::{ pub type AliasesEvent = StateEvent; /// The payload for `AliasesEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.aliases", custom_redacted)] +#[ruma_event(type = "m.room.aliases", kind = State, custom_redacted)] pub struct AliasesEventContent { /// A list of room aliases. pub aliases: Vec, diff --git a/crates/ruma-events/src/room/avatar.rs b/crates/ruma-events/src/room/avatar.rs index 16c911e5..81fbc4bd 100644 --- a/crates/ruma-events/src/room/avatar.rs +++ b/crates/ruma-events/src/room/avatar.rs @@ -1,7 +1,7 @@ //! Types for the *m.room.avatar* event. use js_int::UInt; -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::MxcUri; use serde::{Deserialize, Serialize}; @@ -14,10 +14,10 @@ use crate::StateEvent; pub type AvatarEvent = StateEvent; /// The payload for `AvatarEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] #[cfg_attr(feature = "unstable-pre-spec", derive(Default))] -#[ruma_event(type = "m.room.avatar")] +#[ruma_event(type = "m.room.avatar", kind = State)] pub struct AvatarEventContent { /// Information about the avatar image. #[serde(skip_serializing_if = "Option::is_none")] diff --git a/crates/ruma-events/src/room/canonical_alias.rs b/crates/ruma-events/src/room/canonical_alias.rs index fc6e84cb..7447be40 100644 --- a/crates/ruma-events/src/room/canonical_alias.rs +++ b/crates/ruma-events/src/room/canonical_alias.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.canonical_alias* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::RoomAliasId; use serde::{Deserialize, Serialize}; @@ -10,9 +10,9 @@ use crate::StateEvent; pub type CanonicalAliasEvent = StateEvent; /// The payload for `CanonicalAliasEvent`. -#[derive(Clone, Debug, Default, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Default, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.canonical_alias")] +#[ruma_event(type = "m.room.canonical_alias", kind = State)] pub struct CanonicalAliasEventContent { /// The canonical alias. /// diff --git a/crates/ruma-events/src/room/create.rs b/crates/ruma-events/src/room/create.rs index 12ca0f62..39914f05 100644 --- a/crates/ruma-events/src/room/create.rs +++ b/crates/ruma-events/src/room/create.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.create* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::{EventId, RoomId, RoomVersionId, UserId}; use serde::{Deserialize, Serialize}; @@ -11,9 +11,9 @@ use crate::StateEvent; pub type CreateEvent = StateEvent; /// The payload for `CreateEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.create")] +#[ruma_event(type = "m.room.create", kind = State)] pub struct CreateEventContent { /// The `user_id` of the room creator. This is set by the homeserver. #[ruma_event(skip_redaction)] diff --git a/crates/ruma-events/src/room/encrypted.rs b/crates/ruma-events/src/room/encrypted.rs index 205e2837..7699f98b 100644 --- a/crates/ruma-events/src/room/encrypted.rs +++ b/crates/ruma-events/src/room/encrypted.rs @@ -3,7 +3,7 @@ use std::collections::BTreeMap; use js_int::UInt; -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::DeviceIdBox; use serde::{Deserialize, Serialize}; @@ -27,9 +27,9 @@ pub enum EncryptedEventScheme { } /// The content payload for `EncryptedEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.encrypted")] +#[ruma_event(type = "m.room.encrypted", kind = Message, kind = ToDevice)] pub struct EncryptedEventContent { /// Encrypted event content #[serde(flatten)] diff --git a/crates/ruma-events/src/room/encryption.rs b/crates/ruma-events/src/room/encryption.rs index c6dca594..f88a85e5 100644 --- a/crates/ruma-events/src/room/encryption.rs +++ b/crates/ruma-events/src/room/encryption.rs @@ -1,7 +1,7 @@ //! Types for the *m.room.encryption* event. use js_int::UInt; -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::{EventEncryptionAlgorithm, StateEvent}; @@ -10,9 +10,9 @@ use crate::{EventEncryptionAlgorithm, StateEvent}; pub type EncryptionEvent = StateEvent; /// The payload for `EncryptionEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.encryption")] +#[ruma_event(type = "m.room.encryption", kind = State)] pub struct EncryptionEventContent { /// The encryption algorithm to be used to encrypt messages sent in this room. /// diff --git a/crates/ruma-events/src/room/guest_access.rs b/crates/ruma-events/src/room/guest_access.rs index b3b99047..f5470c59 100644 --- a/crates/ruma-events/src/room/guest_access.rs +++ b/crates/ruma-events/src/room/guest_access.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.guest_access* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; @@ -13,9 +13,9 @@ use crate::StateEvent; pub type GuestAccessEvent = StateEvent; /// The payload for `GuestAccessEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.guest_access")] +#[ruma_event(type = "m.room.guest_access", kind = State)] pub struct GuestAccessEventContent { /// A policy for guest user access to a room. pub guest_access: GuestAccess, diff --git a/crates/ruma-events/src/room/history_visibility.rs b/crates/ruma-events/src/room/history_visibility.rs index 7ce6a733..49cddb9c 100644 --- a/crates/ruma-events/src/room/history_visibility.rs +++ b/crates/ruma-events/src/room/history_visibility.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.history_visibility* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; @@ -11,9 +11,9 @@ use crate::StateEvent; pub type HistoryVisibilityEvent = StateEvent; /// The payload for `HistoryVisibilityEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.history_visibility")] +#[ruma_event(type = "m.room.history_visibility", kind = State)] pub struct HistoryVisibilityEventContent { /// Who can see the room history. #[ruma_event(skip_redaction)] diff --git a/crates/ruma-events/src/room/join_rules.rs b/crates/ruma-events/src/room/join_rules.rs index 8a6bd0df..3d62cbbd 100644 --- a/crates/ruma-events/src/room/join_rules.rs +++ b/crates/ruma-events/src/room/join_rules.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.join_rules* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; @@ -10,9 +10,9 @@ use crate::StateEvent; pub type JoinRulesEvent = StateEvent; /// The payload for `JoinRulesEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.join_rules")] +#[ruma_event(type = "m.room.join_rules", kind = State)] pub struct JoinRulesEventContent { /// The type of rules used for users wishing to join this room. #[ruma_event(skip_redaction)] diff --git a/crates/ruma-events/src/room/member.rs b/crates/ruma-events/src/room/member.rs index 2145a0c1..cb67336b 100644 --- a/crates/ruma-events/src/room/member.rs +++ b/crates/ruma-events/src/room/member.rs @@ -2,7 +2,7 @@ use std::collections::BTreeMap; -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::{MxcUri, ServerNameBox, ServerSigningKeyId, UserId}; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; @@ -37,8 +37,8 @@ use crate::{StateEvent, StrippedStateEvent, SyncStateEvent}; pub type MemberEvent = StateEvent; /// The payload for `MemberEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.room.member")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.room.member", kind = State)] pub struct MemberEventContent { /// The avatar URL for this user, if any. This is added by the homeserver. /// diff --git a/crates/ruma-events/src/room/message.rs b/crates/ruma-events/src/room/message.rs index f1cd263e..5ed7737a 100644 --- a/crates/ruma-events/src/room/message.rs +++ b/crates/ruma-events/src/room/message.rs @@ -4,7 +4,7 @@ use std::borrow::Cow; use indoc::formatdoc; use js_int::UInt; -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::MxcUri; #[cfg(feature = "unstable-pre-spec")] use ruma_identifiers::{DeviceIdBox, UserId}; @@ -32,9 +32,9 @@ type JsonObject = serde_json::Map; pub type MessageEvent = crate::MessageEvent; /// The payload for `MessageEvent`. -#[derive(Clone, Debug, Serialize, MessageEventContent)] +#[derive(Clone, Debug, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.message")] +#[ruma_event(type = "m.room.message", kind = Message)] pub struct MessageEventContent { /// A key which identifies the type of message being sent. /// diff --git a/crates/ruma-events/src/room/message/feedback.rs b/crates/ruma-events/src/room/message/feedback.rs index 2cc81538..8b328f23 100644 --- a/crates/ruma-events/src/room/message/feedback.rs +++ b/crates/ruma-events/src/room/message/feedback.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.message.feedback* event. -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::EventId; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; @@ -14,9 +14,9 @@ use crate::MessageEvent; pub type FeedbackEvent = MessageEvent; /// The payload for `FeedbackEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.message.feedback")] +#[ruma_event(type = "m.room.message.feedback", kind = Message)] pub struct FeedbackEventContent { /// The event that this feedback is related to. pub target_event_id: EventId, diff --git a/crates/ruma-events/src/room/name.rs b/crates/ruma-events/src/room/name.rs index 2eb1c15e..c7e92e63 100644 --- a/crates/ruma-events/src/room/name.rs +++ b/crates/ruma-events/src/room/name.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.name* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::{InvalidInput, StateEvent}; @@ -9,8 +9,8 @@ use crate::{InvalidInput, StateEvent}; pub type NameEvent = StateEvent; /// The payload for `NameEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.room.name")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.room.name", kind = State)] pub struct NameEventContent { /// The name of the room. This MUST NOT exceed 255 bytes. #[serde(default, deserialize_with = "room_name")] diff --git a/crates/ruma-events/src/room/pinned_events.rs b/crates/ruma-events/src/room/pinned_events.rs index 42160461..3a7aa8aa 100644 --- a/crates/ruma-events/src/room/pinned_events.rs +++ b/crates/ruma-events/src/room/pinned_events.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.pinned_events* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::EventId; use serde::{Deserialize, Serialize}; @@ -10,9 +10,9 @@ use crate::StateEvent; pub type PinnedEventsEvent = StateEvent; /// The payload for `PinnedEventsEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.room.pinned_events")] +#[ruma_event(type = "m.room.pinned_events", kind = State)] pub struct PinnedEventsEventContent { /// An ordered list of event IDs to pin. pub pinned: Vec, diff --git a/crates/ruma-events/src/room/power_levels.rs b/crates/ruma-events/src/room/power_levels.rs index 8d501878..a925310d 100644 --- a/crates/ruma-events/src/room/power_levels.rs +++ b/crates/ruma-events/src/room/power_levels.rs @@ -4,7 +4,7 @@ use std::collections::BTreeMap; use js_int::{int, Int}; use ruma_common::power_levels::default_power_level; -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::UserId; use serde::{Deserialize, Serialize}; @@ -16,8 +16,8 @@ pub use ruma_common::power_levels::NotificationPowerLevels; pub type PowerLevelsEvent = StateEvent; /// The payload for `PowerLevelsEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.room.power_levels")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.room.power_levels", kind = State)] pub struct PowerLevelsEventContent { /// The level required to ban a user. /// diff --git a/crates/ruma-events/src/room/server_acl.rs b/crates/ruma-events/src/room/server_acl.rs index 8738c67f..d335f30a 100644 --- a/crates/ruma-events/src/room/server_acl.rs +++ b/crates/ruma-events/src/room/server_acl.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.server_acl* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::StateEvent; @@ -9,8 +9,8 @@ use crate::StateEvent; pub type ServerAclEvent = StateEvent; /// The payload for `ServerAclEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.room.server_acl")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.room.server_acl", kind = State)] pub struct ServerAclEventContent { /// True to allow server names that are IP address literals. False to deny. /// diff --git a/crates/ruma-events/src/room/third_party_invite.rs b/crates/ruma-events/src/room/third_party_invite.rs index 8c7eebbc..eeb7aecd 100644 --- a/crates/ruma-events/src/room/third_party_invite.rs +++ b/crates/ruma-events/src/room/third_party_invite.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.third_party_invite* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::StateEvent; @@ -13,8 +13,8 @@ use crate::StateEvent; pub type ThirdPartyInviteEvent = StateEvent; /// The payload for `ThirdPartyInviteEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.room.third_party_invite")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.room.third_party_invite", kind = State)] pub struct ThirdPartyInviteEventContent { /// A user-readable string which represents the user who has been invited. /// diff --git a/crates/ruma-events/src/room/tombstone.rs b/crates/ruma-events/src/room/tombstone.rs index a886e0d6..aedf7568 100644 --- a/crates/ruma-events/src/room/tombstone.rs +++ b/crates/ruma-events/src/room/tombstone.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.tombstone* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::RoomId; use serde::{Deserialize, Serialize}; @@ -11,8 +11,8 @@ use crate::StateEvent; pub type TombstoneEvent = StateEvent; /// The payload for `TombstoneEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.room.tombstone")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.room.tombstone", kind = State)] pub struct TombstoneEventContent { /// A server-defined message. /// diff --git a/crates/ruma-events/src/room/topic.rs b/crates/ruma-events/src/room/topic.rs index 434f66f9..a48702d3 100644 --- a/crates/ruma-events/src/room/topic.rs +++ b/crates/ruma-events/src/room/topic.rs @@ -1,6 +1,6 @@ //! Types for the *m.room.topic* event. -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::StateEvent; @@ -9,8 +9,8 @@ use crate::StateEvent; pub type TopicEvent = StateEvent; /// The payload for `TopicEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.room.topic")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.room.topic", kind = State)] pub struct TopicEventContent { /// The topic text. pub topic: String, diff --git a/crates/ruma-events/src/sticker.rs b/crates/ruma-events/src/sticker.rs index 5ebc8bdf..4023ce54 100644 --- a/crates/ruma-events/src/sticker.rs +++ b/crates/ruma-events/src/sticker.rs @@ -1,6 +1,6 @@ //! Types for the *m.sticker* event. -use ruma_events_macros::MessageEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::MxcUri; use serde::{Deserialize, Serialize}; @@ -10,9 +10,9 @@ use crate::{room::ImageInfo, MessageEvent}; pub type StickerEvent = MessageEvent; /// The payload for `StickerEvent`. -#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.sticker")] +#[ruma_event(type = "m.sticker", kind = Message)] pub struct StickerEventContent { /// A textual representation or associated description of the sticker image. This could /// be the alt text of the original image, or a message to accompany and further diff --git a/crates/ruma-events/src/typing.rs b/crates/ruma-events/src/typing.rs index 2668c8ac..b9c84716 100644 --- a/crates/ruma-events/src/typing.rs +++ b/crates/ruma-events/src/typing.rs @@ -1,6 +1,6 @@ //! Types for the *m.typing* event. -use ruma_events_macros::EphemeralRoomEventContent; +use ruma_events_macros::EventContent; use ruma_identifiers::UserId; use serde::{Deserialize, Serialize}; @@ -10,9 +10,9 @@ use crate::EphemeralRoomEvent; pub type TypingEvent = EphemeralRoomEvent; /// The payload for `TypingEvent`. -#[derive(Clone, Debug, Default, Deserialize, Serialize, EphemeralRoomEventContent)] +#[derive(Clone, Debug, Default, Deserialize, Serialize, EventContent)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] -#[ruma_event(type = "m.typing")] +#[ruma_event(type = "m.typing", kind = EphemeralRoom)] pub struct TypingEventContent { /// The list of user IDs typing in this room, if any. pub user_ids: Vec, diff --git a/crates/ruma-events/tests/ui/01-content-sanity-check.rs b/crates/ruma-events/tests/ui/01-content-sanity-check.rs index 14a249d6..9b504866 100644 --- a/crates/ruma-events/tests/ui/01-content-sanity-check.rs +++ b/crates/ruma-events/tests/ui/01-content-sanity-check.rs @@ -1,8 +1,8 @@ -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(type = "m.macro.test")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(type = "m.macro.test", kind = State)] pub struct MacroTest { pub url: String, } diff --git a/crates/ruma-events/tests/ui/02-no-event-type.rs b/crates/ruma-events/tests/ui/02-no-event-type.rs index ed48296a..c3f9611f 100644 --- a/crates/ruma-events/tests/ui/02-no-event-type.rs +++ b/crates/ruma-events/tests/ui/02-no-event-type.rs @@ -1,7 +1,7 @@ -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] pub struct MacroTest { pub url: String, } diff --git a/crates/ruma-events/tests/ui/02-no-event-type.stderr b/crates/ruma-events/tests/ui/02-no-event-type.stderr index 3ec4901f..21490aaa 100644 --- a/crates/ruma-events/tests/ui/02-no-event-type.stderr +++ b/crates/ruma-events/tests/ui/02-no-event-type.stderr @@ -1,7 +1,7 @@ -error: no event type attribute found, add `#[ruma_event(type = "any.room.event")]` below the event content derive +error: no event type attribute found, add `#[ruma_event(type = "any.room.event", kind = Kind)]` below the event content derive --> $DIR/02-no-event-type.rs:4:48 | -4 | #[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] - | ^^^^^^^^^^^^^^^^^ +4 | #[derive(Clone, Debug, Deserialize, Serialize, EventContent)] + | ^^^^^^^^^^^^ | = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/crates/ruma-events/tests/ui/03-invalid-event-type.rs b/crates/ruma-events/tests/ui/03-invalid-event-type.rs index 4c1c835f..f64d2f01 100644 --- a/crates/ruma-events/tests/ui/03-invalid-event-type.rs +++ b/crates/ruma-events/tests/ui/03-invalid-event-type.rs @@ -1,14 +1,14 @@ -use ruma_events_macros::StateEventContent; +use ruma_events_macros::EventContent; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[not_ruma_event(type = "m.macro.test")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[not_ruma_event(type = "m.macro.test", kind = State)] pub struct MacroTest { pub test: String, } -#[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] -#[ruma_event(event = "m.macro.test")] +#[derive(Clone, Debug, Deserialize, Serialize, EventContent)] +#[ruma_event(event = "m.macro.test", kind = State)] pub struct MoreMacroTest { pub test: String, } diff --git a/crates/ruma-events/tests/ui/03-invalid-event-type.stderr b/crates/ruma-events/tests/ui/03-invalid-event-type.stderr index 8d801db7..718faa68 100644 --- a/crates/ruma-events/tests/ui/03-invalid-event-type.stderr +++ b/crates/ruma-events/tests/ui/03-invalid-event-type.stderr @@ -1,19 +1,19 @@ -error: no event type attribute found, add `#[ruma_event(type = "any.room.event")]` below the event content derive +error: no event type attribute found, add `#[ruma_event(type = "any.room.event", kind = Kind)]` below the event content derive --> $DIR/03-invalid-event-type.rs:4:48 | -4 | #[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] - | ^^^^^^^^^^^^^^^^^ +4 | #[derive(Clone, Debug, Deserialize, Serialize, EventContent)] + | ^^^^^^^^^^^^ | = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) -error: expected one of: `type`, `skip_redaction`, `custom_redacted` +error: expected one of: `type`, `kind`, `skip_redaction`, `custom_redacted` --> $DIR/03-invalid-event-type.rs:11:14 | -11 | #[ruma_event(event = "m.macro.test")] +11 | #[ruma_event(event = "m.macro.test", kind = State)] | ^^^^^ error: cannot find attribute `not_ruma_event` in this scope --> $DIR/03-invalid-event-type.rs:5:3 | -5 | #[not_ruma_event(type = "m.macro.test")] +5 | #[not_ruma_event(type = "m.macro.test", kind = State)] | ^^^^^^^^^^^^^^ help: a derive helper attribute with a similar name exists: `ruma_event`