Declare more state event content structs without ruma_event!
This commit is contained in:
		
							parent
							
								
									eceef3b96d
								
							
						
					
					
						commit
						1377487b6c
					
				| @ -1,16 +1,15 @@ | ||||
| //! Types for the *m.room.encryption* event.
 | ||||
| 
 | ||||
| use js_int::UInt; | ||||
| use ruma_events_macros::ruma_event; | ||||
| use ruma_events_macros::{FromRaw, StateEventContent}; | ||||
| use serde::Serialize; | ||||
| 
 | ||||
| use crate::Algorithm; | ||||
| 
 | ||||
| ruma_event! { | ||||
| /// Defines how messages sent in this room should be encrypted.
 | ||||
|     EncryptionEvent { | ||||
|         kind: StateEvent, | ||||
|         event_type: "m.room.encryption", | ||||
|         content: { | ||||
| #[derive(Clone, Debug, Serialize, FromRaw, StateEventContent)] | ||||
| #[ruma_event(type = "m.room.encryption")] | ||||
| pub struct EncryptionEventContent { | ||||
|     /// The encryption algorithm to be used to encrypt messages sent in this room.
 | ||||
|     ///
 | ||||
|     /// Must be `m.megolm.v1.aes-sha2`.
 | ||||
| @ -25,6 +24,4 @@ ruma_event! { | ||||
|     ///
 | ||||
|     /// 100 is the recommended default.
 | ||||
|     pub rotation_period_msgs: Option<UInt>, | ||||
|         }, | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,22 +1,18 @@ | ||||
| //! Types for the *m.room.guest_access* event.
 | ||||
| 
 | ||||
| use ruma_events_macros::ruma_event; | ||||
| use ruma_events_macros::{FromRaw, StateEventContent}; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use strum::{Display, EnumString}; | ||||
| 
 | ||||
| ruma_event! { | ||||
| /// Controls whether guest users are allowed to join rooms.
 | ||||
| ///
 | ||||
| /// This event controls whether guest users are allowed to join rooms. If this event is absent,
 | ||||
| /// servers should act as if it is present and has the value `GuestAccess::Forbidden`.
 | ||||
|     GuestAccessEvent { | ||||
|         kind: StateEvent, | ||||
|         event_type: "m.room.guest_access", | ||||
|         content: { | ||||
| #[derive(Clone, Debug, Serialize, FromRaw, StateEventContent)] | ||||
| #[ruma_event(type = "m.room.guest_access")] | ||||
| pub struct GuestAccessEventContent { | ||||
|     /// A policy for guest user access to a room.
 | ||||
|     pub guest_access: GuestAccess, | ||||
|         }, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /// A policy for guest user access to a room.
 | ||||
|  | ||||
| @ -1,20 +1,16 @@ | ||||
| //! Types for the *m.room.history_visibility* event.
 | ||||
| 
 | ||||
| use ruma_events_macros::ruma_event; | ||||
| use ruma_events_macros::{FromRaw, StateEventContent}; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use strum::{Display, EnumString}; | ||||
| 
 | ||||
| ruma_event! { | ||||
| /// This event controls whether a member of a room can see the events that happened in a room
 | ||||
| /// from before they joined.
 | ||||
|     HistoryVisibilityEvent { | ||||
|         kind: StateEvent, | ||||
|         event_type: "m.room.history_visibility", | ||||
|         content: { | ||||
| #[derive(Clone, Debug, Serialize, FromRaw, StateEventContent)] | ||||
| #[ruma_event(type = "m.room.history_visibility")] | ||||
| pub struct HistoryVisibilityEventContent { | ||||
|     /// Who can see the room history.
 | ||||
|     pub history_visibility: HistoryVisibility, | ||||
|         }, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /// Who can see a room's history.
 | ||||
|  | ||||
| @ -1,19 +1,15 @@ | ||||
| //! Types for the *m.room.join_rules* event.
 | ||||
| 
 | ||||
| use ruma_events_macros::ruma_event; | ||||
| use ruma_events_macros::{FromRaw, StateEventContent}; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use strum::{Display, EnumString}; | ||||
| 
 | ||||
| ruma_event! { | ||||
| /// Describes how users are allowed to join the room.
 | ||||
|     JoinRulesEvent { | ||||
|         kind: StateEvent, | ||||
|         event_type: "m.room.join_rules", | ||||
|         content: { | ||||
| #[derive(Clone, Debug, Serialize, FromRaw, StateEventContent)] | ||||
| #[ruma_event(type = "m.room.join_rules")] | ||||
| pub struct JoinRulesEventContent { | ||||
|     /// The type of rules used for users wishing to join this room.
 | ||||
|     pub join_rule: JoinRule, | ||||
|         }, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /// The rule used for users wishing to join this room.
 | ||||
|  | ||||
| @ -2,12 +2,11 @@ | ||||
| 
 | ||||
| use std::collections::BTreeMap; | ||||
| 
 | ||||
| use ruma_events_macros::ruma_event; | ||||
| use ruma_events_macros::{FromRaw, StateEventContent}; | ||||
| use ruma_identifiers::UserId; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use strum::{Display, EnumString}; | ||||
| 
 | ||||
| ruma_event! { | ||||
| /// The current membership state of a user in the room.
 | ||||
| ///
 | ||||
| /// Adjusts the membership state for a user in a room. It is preferable to use the membership
 | ||||
| @ -33,10 +32,9 @@ ruma_event! { | ||||
| /// The membership for a given user can change over time. Previous membership can be retrieved
 | ||||
| /// from the `prev_content` object on an event. If not present, the user's previous membership
 | ||||
| /// must be assumed as leave.
 | ||||
|     MemberEvent { | ||||
|         kind: StateEvent, | ||||
|         event_type: "m.room.member", | ||||
|         content: { | ||||
| #[derive(Clone, Debug, Serialize, FromRaw, StateEventContent)] | ||||
| #[ruma_event(type = "m.room.member")] | ||||
| pub struct MemberEventContent { | ||||
|     /// The avatar URL for this user, if any. This is added by the homeserver.
 | ||||
|     #[serde(skip_serializing_if = "Option::is_none")] | ||||
|     pub avatar_url: Option<String>, | ||||
| @ -57,8 +55,6 @@ ruma_event! { | ||||
|     /// contain information about that invitation.
 | ||||
|     #[serde(skip_serializing_if = "Option::is_none")] | ||||
|     pub third_party_invite: Option<ThirdPartyInvite>, | ||||
|         }, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /// The membership state of a user.
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user