diff --git a/crates/ruma-client-api/src/relations/get_relating_events_with_rel_type_and_event_type.rs b/crates/ruma-client-api/src/relations/get_relating_events_with_rel_type_and_event_type.rs index 31c5fab2..2d541c9d 100644 --- a/crates/ruma-client-api/src/relations/get_relating_events_with_rel_type_and_event_type.rs +++ b/crates/ruma-client-api/src/relations/get_relating_events_with_rel_type_and_event_type.rs @@ -11,7 +11,7 @@ pub mod v1 { use js_int::UInt; use ruma_common::{ api::{request, response, Metadata}, - events::{relation::RelationType, AnyMessageLikeEvent, RoomEventType}, + events::{relation::RelationType, AnyMessageLikeEvent, TimelineEventType}, metadata, serde::Raw, OwnedEventId, OwnedRoomId, @@ -47,7 +47,7 @@ pub mod v1 { /// Note that in encrypted rooms this will typically always be `m.room.encrypted` /// regardless of the event type contained within the encrypted payload. #[ruma_api(path)] - pub event_type: RoomEventType, + pub event_type: TimelineEventType, /// The pagination token to start returning results from. /// @@ -118,7 +118,7 @@ pub mod v1 { room_id: OwnedRoomId, event_id: OwnedEventId, rel_type: RelationType, - event_type: RoomEventType, + event_type: TimelineEventType, ) -> Self { Self { room_id, event_id, rel_type, event_type, from: None, to: None, limit: None } } diff --git a/crates/ruma-client-api/src/sync/sync_events/v4.rs b/crates/ruma-client-api/src/sync/sync_events/v4.rs index 99e7619d..6baa343a 100644 --- a/crates/ruma-client-api/src/sync/sync_events/v4.rs +++ b/crates/ruma-client-api/src/sync/sync_events/v4.rs @@ -12,7 +12,7 @@ use ruma_common::{ api::{request, response, Metadata}, events::{ AnyGlobalAccountDataEvent, AnyRoomAccountDataEvent, AnyStrippedStateEvent, - AnySyncStateEvent, AnySyncTimelineEvent, AnyToDeviceEvent, RoomEventType, + AnySyncStateEvent, AnySyncTimelineEvent, AnyToDeviceEvent, TimelineEventType, }, metadata, serde::{duration::opt_ms, Raw}, @@ -236,7 +236,7 @@ pub struct SyncRequestList { /// Note that elements of this array are NOT sticky so they must be specified in full when they /// are changed. Sticky. #[serde(default, skip_serializing_if = "Vec::is_empty")] - pub required_state: Vec<(RoomEventType, String)>, + pub required_state: Vec<(TimelineEventType, String)>, /// The maximum number of timeline events to return per room. Sticky. #[serde(skip_serializing_if = "Option::is_none")] @@ -257,7 +257,7 @@ pub struct RoomSubscription { /// are changed. Sticky. #[serde(default, skip_serializing_if = "Vec::is_empty")] - pub required_state: Vec<(RoomEventType, String)>, + pub required_state: Vec<(TimelineEventType, String)>, /// The maximum number of timeline events to return per room. Sticky. #[serde(skip_serializing_if = "Option::is_none")] diff --git a/crates/ruma-common/CHANGELOG.md b/crates/ruma-common/CHANGELOG.md index 6f63dfe8..2d8483fc 100644 --- a/crates/ruma-common/CHANGELOG.md +++ b/crates/ruma-common/CHANGELOG.md @@ -46,6 +46,7 @@ Breaking changes: * `Redacted*EventContent`s don't have an `unsigned` type anymore * Remove the `serde::urlencoded` module * Query string (de)serialization is now done by the `serde_html_form` crate +* Rename `RoomEventType` to `TimelineEventType` Improvements: diff --git a/crates/ruma-common/src/events/pdu.rs b/crates/ruma-common/src/events/pdu.rs index 5c3bc2f7..1ea1b1bd 100644 --- a/crates/ruma-common/src/events/pdu.rs +++ b/crates/ruma-common/src/events/pdu.rs @@ -14,7 +14,7 @@ use serde::{ }; use serde_json::{from_str as from_json_str, value::RawValue as RawJsonValue}; -use super::RoomEventType; +use super::TimelineEventType; use crate::{ MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId, OwnedServerName, OwnedServerSigningKeyId, OwnedUserId, @@ -52,7 +52,7 @@ pub struct RoomV1Pdu { // TODO: Encode event type as content enum variant, like event enums do /// The event's type. #[serde(rename = "type")] - pub kind: RoomEventType, + pub kind: TimelineEventType, /// The event's content. pub content: Box, @@ -107,7 +107,7 @@ pub struct RoomV3Pdu { // TODO: Encode event type as content enum variant, like event enums do /// The event's type. #[serde(rename = "type")] - pub kind: RoomEventType, + pub kind: TimelineEventType, /// The event's content. pub content: Box, diff --git a/crates/ruma-common/src/events/room/power_levels.rs b/crates/ruma-common/src/events/room/power_levels.rs index 3b11d8f8..a0136916 100644 --- a/crates/ruma-common/src/events/room/power_levels.rs +++ b/crates/ruma-common/src/events/room/power_levels.rs @@ -9,7 +9,7 @@ use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::{ - events::{EmptyStateKey, MessageLikeEventType, RoomEventType, StateEventType}, + events::{EmptyStateKey, MessageLikeEventType, StateEventType, TimelineEventType}, power_levels::{default_power_level, NotificationPowerLevels}, OwnedUserId, UserId, }; @@ -39,7 +39,7 @@ pub struct RoomPowerLevelsEventContent { deserialize_with = "crate::serde::btreemap_deserialize_v1_powerlevel_values" )] #[ruma_event(skip_redaction)] - pub events: BTreeMap, + pub events: BTreeMap, /// The default level required to send message events. #[serde( @@ -187,7 +187,7 @@ pub struct RoomPowerLevels { /// The level required to send specific event types. /// /// This is a mapping from event type to power level required. - pub events: BTreeMap, + pub events: BTreeMap, /// The default level required to send message events. pub events_default: Int, diff --git a/crates/ruma-common/tests/events/pdu.rs b/crates/ruma-common/tests/events/pdu.rs index a1f03e97..2325391d 100644 --- a/crates/ruma-common/tests/events/pdu.rs +++ b/crates/ruma-common/tests/events/pdu.rs @@ -7,7 +7,7 @@ use ruma_common::{ event_id, events::{ pdu::{EventHash, Pdu, RoomV1Pdu, RoomV3Pdu}, - RoomEventType, + TimelineEventType, }, room_id, server_name, server_signing_key_id, user_id, MilliSecondsSinceUnixEpoch, }; @@ -34,7 +34,7 @@ fn serialize_pdu_as_v1() { event_id: event_id!("$somejoinevent:matrix.org").to_owned(), sender: user_id!("@sender:example.com").to_owned(), origin_server_ts: MilliSecondsSinceUnixEpoch(1_592_050_773_658_u64.try_into().unwrap()), - kind: RoomEventType::RoomPowerLevels, + kind: TimelineEventType::RoomPowerLevels, content: to_raw_json_value(&json!({ "testing": 123 })).unwrap(), state_key: Some("state".into()), prev_events: vec![( @@ -98,7 +98,7 @@ fn serialize_pdu_as_v3() { room_id: room_id!("!n8f893n9:example.com").to_owned(), sender: user_id!("@sender:example.com").to_owned(), origin_server_ts: MilliSecondsSinceUnixEpoch(1_592_050_773_658_u64.try_into().unwrap()), - kind: RoomEventType::RoomPowerLevels, + kind: TimelineEventType::RoomPowerLevels, content: to_raw_json_value(&json!({ "testing": 123 })).unwrap(), state_key: Some("state".into()), prev_events: vec![event_id!("$previousevent:matrix.org").to_owned()], diff --git a/crates/ruma-macros/src/events/event_type.rs b/crates/ruma-macros/src/events/event_type.rs index 258bcd81..40501842 100644 --- a/crates/ruma-macros/src/events/event_type.rs +++ b/crates/ruma-macros/src/events/event_type.rs @@ -8,7 +8,7 @@ pub fn expand_event_type_enum( input: EventEnumInput, ruma_common: TokenStream, ) -> syn::Result { - let mut room: Vec<&Vec> = vec![]; + let mut timeline: Vec<&Vec> = vec![]; let mut state: Vec<&Vec> = vec![]; let mut message: Vec<&Vec> = vec![]; let mut ephemeral: Vec<&Vec> = vec![]; @@ -22,11 +22,11 @@ pub fn expand_event_type_enum( EventKind::Ephemeral => ephemeral.push(&event.events), EventKind::MessageLike => { message.push(&event.events); - room.push(&event.events); + timeline.push(&event.events); } EventKind::State => { state.push(&event.events); - room.push(&event.events); + timeline.push(&event.events); } EventKind::ToDevice => to_device.push(&event.events), EventKind::RoomRedaction @@ -47,7 +47,7 @@ pub fn expand_event_type_enum( let mut res = TokenStream::new(); res.extend( - generate_enum("RoomEventType", &room, &ruma_common) + generate_enum("TimelineEventType", &timeline, &ruma_common) .unwrap_or_else(syn::Error::into_compile_error), ); res.extend( @@ -157,25 +157,25 @@ fn generate_enum( } } - let from_ident_for_room = if ident == "StateEventType" || ident == "MessageLikeEventType" { + let from_ident_for_timeline = if ident == "StateEventType" || ident == "MessageLikeEventType" { let match_arms: Vec<_> = deduped .iter() .map(|e| { let v = e.to_variant()?; let ident_var = v.match_arm(quote! { #ident }); - let room_var = v.ctor(quote! { Self }); + let timeline_var = v.ctor(quote! { Self }); Ok(if e.has_type_fragment() { - quote! { #ident_var (_s) => #room_var (_s) } + quote! { #ident_var (_s) => #timeline_var (_s) } } else { - quote! { #ident_var => #room_var } + quote! { #ident_var => #timeline_var } }) }) .collect::>()?; Some(quote! { #[allow(deprecated)] - impl ::std::convert::From<#ident> for RoomEventType { + impl ::std::convert::From<#ident> for TimelineEventType { fn from(s: #ident) -> Self { match s { #(#match_arms,)* @@ -260,6 +260,6 @@ fn generate_enum( } } - #from_ident_for_room + #from_ident_for_timeline }) } diff --git a/crates/ruma-push-gateway-api/src/send_event_notification.rs b/crates/ruma-push-gateway-api/src/send_event_notification.rs index 31b543f7..72e88ed1 100644 --- a/crates/ruma-push-gateway-api/src/send_event_notification.rs +++ b/crates/ruma-push-gateway-api/src/send_event_notification.rs @@ -10,7 +10,7 @@ pub mod v1 { use js_int::{uint, UInt}; use ruma_common::{ api::{request, response, Metadata}, - events::RoomEventType, + events::TimelineEventType, metadata, push::{PushFormat, Tweak}, serde::StringEnum, @@ -87,7 +87,7 @@ pub mod v1 { /// The type of the event as in the event's `type` field. #[serde(rename = "type", skip_serializing_if = "Option::is_none")] - pub event_type: Option, + pub event_type: Option, /// The sender of the event as in the corresponding event field. #[serde(skip_serializing_if = "Option::is_none")] @@ -376,7 +376,8 @@ pub mod v1 { mod tests { use js_int::uint; use ruma_common::{ - event_id, events::RoomEventType, room_alias_id, room_id, user_id, SecondsSinceUnixEpoch, + event_id, events::TimelineEventType, room_alias_id, room_id, user_id, + SecondsSinceUnixEpoch, }; use serde_json::{ from_value as from_json_value, json, to_value as to_json_value, Value as JsonValue, @@ -439,7 +440,7 @@ pub mod v1 { let notice = Notification { event_id: Some(eid), room_id: Some(rid), - event_type: Some(RoomEventType::RoomMessage), + event_type: Some(TimelineEventType::RoomMessage), sender: Some(uid), sender_display_name: Some("Major Tom".to_owned()), room_alias: Some(alias), diff --git a/crates/ruma-state-res/benches/state_res_bench.rs b/crates/ruma-state-res/benches/state_res_bench.rs index 1123572c..6a47d2d7 100644 --- a/crates/ruma-state-res/benches/state_res_bench.rs +++ b/crates/ruma-state-res/benches/state_res_bench.rs @@ -27,7 +27,7 @@ use ruma_common::{ join_rules::{JoinRule, RoomJoinRulesEventContent}, member::{MembershipState, RoomMemberEventContent}, }, - RoomEventType, StateEventType, + StateEventType, TimelineEventType, }, room_id, user_id, EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, RoomId, RoomVersionId, UserId, @@ -234,7 +234,7 @@ impl TestStore { let create_event = to_pdu_event::<&EventId>( "CREATE", alice(), - RoomEventType::RoomCreate, + TimelineEventType::RoomCreate, Some(""), to_raw_json_value(&json!({ "creator": alice() })).unwrap(), &[], @@ -246,7 +246,7 @@ impl TestStore { let alice_mem = to_pdu_event( "IMA", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(alice().to_string().as_str()), member_content_join(), &[cre.clone()], @@ -257,7 +257,7 @@ impl TestStore { let join_rules = to_pdu_event( "IJR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&RoomJoinRulesEventContent::new(JoinRule::Public)).unwrap(), &[cre.clone(), alice_mem.event_id().to_owned()], @@ -270,7 +270,7 @@ impl TestStore { let bob_mem = to_pdu_event( "IMB", bob(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(bob().to_string().as_str()), member_content_join(), &[cre.clone(), join_rules.event_id().to_owned()], @@ -281,7 +281,7 @@ impl TestStore { let charlie_mem = to_pdu_event( "IMC", charlie(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(charlie().to_string().as_str()), member_content_join(), &[cre, join_rules.event_id().to_owned()], @@ -352,7 +352,7 @@ fn member_content_join() -> Box { fn to_pdu_event( id: &str, sender: &UserId, - ev_type: RoomEventType, + ev_type: TimelineEventType, state_key: Option<&str>, content: Box, auth_events: &[S], @@ -396,7 +396,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event::<&EventId>( "CREATE", alice(), - RoomEventType::RoomCreate, + TimelineEventType::RoomCreate, Some(""), to_raw_json_value(&json!({ "creator": alice() })).unwrap(), &[], @@ -405,7 +405,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IMA", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(alice().as_str()), member_content_join(), &["CREATE"], @@ -414,7 +414,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IPOWER", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100 } })).unwrap(), &["CREATE", "IMA"], @@ -423,7 +423,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IJR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&RoomJoinRulesEventContent::new(JoinRule::Public)).unwrap(), &["CREATE", "IMA", "IPOWER"], @@ -432,7 +432,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IMB", bob(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(bob().to_string().as_str()), member_content_join(), &["CREATE", "IJR", "IPOWER"], @@ -441,7 +441,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IMC", charlie(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(charlie().to_string().as_str()), member_content_join(), &["CREATE", "IJR", "IPOWER"], @@ -450,7 +450,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event::<&EventId>( "START", charlie(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), &[], @@ -459,7 +459,7 @@ fn INITIAL_EVENTS() -> HashMap> { to_pdu_event::<&EventId>( "END", charlie(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), &[], @@ -478,7 +478,7 @@ fn BAN_STATE_SET() -> HashMap> { to_pdu_event( "PA", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), &["CREATE", "IMA", "IPOWER"], // auth_events @@ -487,7 +487,7 @@ fn BAN_STATE_SET() -> HashMap> { to_pdu_event( "PB", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), &["CREATE", "IMA", "IPOWER"], @@ -496,7 +496,7 @@ fn BAN_STATE_SET() -> HashMap> { to_pdu_event( "MB", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(ella().as_str()), member_content_ban(), &["CREATE", "IMA", "PB"], @@ -505,7 +505,7 @@ fn BAN_STATE_SET() -> HashMap> { to_pdu_event( "IME", ella(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(ella().as_str()), member_content_join(), &["CREATE", "IJR", "PA"], @@ -522,7 +522,7 @@ trait EventTypeExt { fn with_state_key(self, state_key: impl Into) -> (StateEventType, String); } -impl EventTypeExt for &RoomEventType { +impl EventTypeExt for &TimelineEventType { fn with_state_key(self, state_key: impl Into) -> (StateEventType, String) { (self.to_string().into(), state_key.into()) } @@ -530,7 +530,7 @@ impl EventTypeExt for &RoomEventType { mod event { use ruma_common::{ - events::{pdu::Pdu, RoomEventType}, + events::{pdu::Pdu, TimelineEventType}, MilliSecondsSinceUnixEpoch, OwnedEventId, RoomId, UserId, }; use ruma_state_res::Event; @@ -562,7 +562,7 @@ mod event { } } - fn event_type(&self) -> &RoomEventType { + fn event_type(&self) -> &TimelineEventType { match &self.rest { Pdu::RoomV1Pdu(ev) => &ev.kind, Pdu::RoomV3Pdu(ev) => &ev.kind, diff --git a/crates/ruma-state-res/src/event_auth.rs b/crates/ruma-state-res/src/event_auth.rs index a2e780a1..f02f0c53 100644 --- a/crates/ruma-state-res/src/event_auth.rs +++ b/crates/ruma-state-res/src/event_auth.rs @@ -10,7 +10,7 @@ use ruma_common::{ power_levels::RoomPowerLevelsEventContent, third_party_invite::RoomThirdPartyInviteEventContent, }, - RoomEventType, StateEventType, + StateEventType, TimelineEventType, }, serde::{Base64, Raw}, OwnedUserId, RoomVersionId, UserId, @@ -47,12 +47,12 @@ struct RoomMemberContentFields { /// /// This function will return an error if the supplied `content` is not a JSON object. pub fn auth_types_for_event( - kind: &RoomEventType, + kind: &TimelineEventType, sender: &UserId, state_key: Option<&str>, content: &RawJsonValue, ) -> serde_json::Result> { - if kind == &RoomEventType::RoomCreate { + if kind == &TimelineEventType::RoomCreate { return Ok(vec![]); } @@ -62,7 +62,7 @@ pub fn auth_types_for_event( (StateEventType::RoomCreate, "".to_owned()), ]; - if kind == &RoomEventType::RoomMember { + if kind == &TimelineEventType::RoomMember { #[derive(Deserialize)] struct RoomMemberContentFields { membership: Option>, @@ -146,7 +146,7 @@ pub fn auth_check( // Implementation of https://spec.matrix.org/v1.4/rooms/v1/#authorization-rules // // 1. If type is m.room.create: - if *incoming_event.event_type() == RoomEventType::RoomCreate { + if *incoming_event.event_type() == TimelineEventType::RoomCreate { #[derive(Deserialize)] struct RoomCreateContentFields { room_version: Option>, @@ -244,7 +244,7 @@ pub fn auth_check( // Only in some room versions 6 and below if room_version.special_case_aliases_auth { // 4. If type is m.room.aliases - if *incoming_event.event_type() == RoomEventType::RoomAliases { + if *incoming_event.event_type() == TimelineEventType::RoomAliases { info!("starting m.room.aliases check"); // If sender's domain doesn't matches state_key, reject @@ -262,7 +262,7 @@ pub fn auth_check( let power_levels_event = fetch_state(&StateEventType::RoomPowerLevels, ""); let sender_member_event = fetch_state(&StateEventType::RoomMember, sender.as_str()); - if *incoming_event.event_type() == RoomEventType::RoomMember { + if *incoming_event.event_type() == TimelineEventType::RoomMember { info!("starting m.room.member check"); let state_key = match incoming_event.state_key() { None => { @@ -351,7 +351,7 @@ pub fn auth_check( // Allow if and only if sender's current power level is greater than // or equal to the invite level - if *incoming_event.event_type() == RoomEventType::RoomThirdPartyInvite { + if *incoming_event.event_type() == TimelineEventType::RoomThirdPartyInvite { let invite_level = match &power_levels_event { Some(power_levels) => { deserialize_power_levels_content_invite(power_levels.content().get(), room_version)? @@ -377,7 +377,7 @@ pub fn auth_check( } // If type is m.room.power_levels - if *incoming_event.event_type() == RoomEventType::RoomPowerLevels { + if *incoming_event.event_type() == TimelineEventType::RoomPowerLevels { info!("starting m.room.power_levels check"); if let Some(required_pwr_lvl) = check_power_levels( @@ -405,7 +405,7 @@ pub fn auth_check( // power levels. if room_version.extra_redaction_checks - && *incoming_event.event_type() == RoomEventType::RoomRedaction + && *incoming_event.event_type() == TimelineEventType::RoomRedaction { let redact_level = match power_levels_event { Some(pl) => { @@ -905,7 +905,7 @@ fn check_redaction( /// Helper function to fetch the power level needed to send an event of type /// `e_type` based on the rooms "m.room.power_level" event. fn get_send_level( - e_type: &RoomEventType, + e_type: &TimelineEventType, state_key: Option<&str>, power_lvl: Option, ) -> Int { @@ -991,7 +991,7 @@ mod tests { }, member::{MembershipState, RoomMemberEventContent}, }, - RoomEventType, StateEventType, + StateEventType, TimelineEventType, }; use serde_json::value::to_raw_value as to_raw_json_value; @@ -1018,7 +1018,7 @@ mod tests { let requester = to_pdu_event( "HELLO", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(charlie().as_str()), member_content_ban(), &[], @@ -1060,7 +1060,7 @@ mod tests { let requester = to_pdu_event( "HELLO", charlie(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(charlie().as_str()), member_content_join(), &["CREATE"], @@ -1102,7 +1102,7 @@ mod tests { let requester = to_pdu_event( "HELLO", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(alice().as_str()), member_content_join(), &["CREATE"], @@ -1144,7 +1144,7 @@ mod tests { let requester = to_pdu_event( "HELLO", charlie(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(alice().as_str()), member_content_ban(), &[], @@ -1180,7 +1180,7 @@ mod tests { *events.get_mut(&event_id("IJR")).unwrap() = to_pdu_event( "IJR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&RoomJoinRulesEventContent::new(JoinRule::Restricted( Restricted::new(vec![AllowRule::RoomMembership(RoomMembership::new( @@ -1203,7 +1203,7 @@ mod tests { let requester = to_pdu_event( "HELLO", ella(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(ella().as_str()), to_raw_json_value(&RoomMemberEventContent::new(MembershipState::Join)).unwrap(), &["CREATE", "IJR", "IPOWER", "new"], @@ -1255,7 +1255,7 @@ mod tests { *events.get_mut(&event_id("IJR")).unwrap() = to_pdu_event( "IJR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&RoomJoinRulesEventContent::new(JoinRule::Knock)).unwrap(), &["CREATE", "IMA", "IPOWER"], @@ -1270,7 +1270,7 @@ mod tests { let requester = to_pdu_event( "HELLO", ella(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(ella().as_str()), to_raw_json_value(&RoomMemberEventContent::new(MembershipState::Knock)).unwrap(), &[], diff --git a/crates/ruma-state-res/src/lib.rs b/crates/ruma-state-res/src/lib.rs index a0d86365..f91e6808 100644 --- a/crates/ruma-state-res/src/lib.rs +++ b/crates/ruma-state-res/src/lib.rs @@ -10,7 +10,7 @@ use js_int::{int, Int}; use ruma_common::{ events::{ room::member::{MembershipState, RoomMemberEventContent}, - RoomEventType, StateEventType, + StateEventType, TimelineEventType, }, EventId, MilliSecondsSinceUnixEpoch, RoomVersionId, }; @@ -352,7 +352,7 @@ fn get_power_level_for_sender( for aid in event.as_ref().map(|pdu| pdu.auth_events()).into_iter().flatten() { if let Some(aev) = fetch_event(aid.borrow()) { - if is_type_and_key(&aev, &RoomEventType::RoomPowerLevels, "") { + if is_type_and_key(&aev, &TimelineEventType::RoomPowerLevels, "") { pl = Some(aev); break; } @@ -437,7 +437,7 @@ fn iterative_auth_check( // The key for this is (eventType + a state_key of the signed token not sender) so // search for it let current_third_party = auth_events.iter().find_map(|(_, pdu)| { - (*pdu.event_type() == RoomEventType::RoomThirdPartyInvite).then_some(pdu) + (*pdu.event_type() == TimelineEventType::RoomThirdPartyInvite).then_some(pdu) }); if auth_check(room_version, &event, current_third_party, |ty, key| { @@ -487,7 +487,7 @@ fn mainline_sort( for aid in event.auth_events() { let ev = fetch_event(aid.borrow()) .ok_or_else(|| Error::NotFound(format!("Failed to find {aid}")))?; - if is_type_and_key(&ev, &RoomEventType::RoomPowerLevels, "") { + if is_type_and_key(&ev, &TimelineEventType::RoomPowerLevels, "") { pl = Some(aid.to_owned()); break; } @@ -546,7 +546,7 @@ fn get_mainline_depth( for aid in sort_ev.auth_events() { let aev = fetch_event(aid.borrow()) .ok_or_else(|| Error::NotFound(format!("Failed to find {aid}")))?; - if is_type_and_key(&aev, &RoomEventType::RoomPowerLevels, "") { + if is_type_and_key(&aev, &TimelineEventType::RoomPowerLevels, "") { event = Some(aev); break; } @@ -588,16 +588,16 @@ fn is_power_event_id(event_id: &EventId, fetch: impl Fn(&EventId) -> O } } -fn is_type_and_key(ev: impl Event, ev_type: &RoomEventType, state_key: &str) -> bool { +fn is_type_and_key(ev: impl Event, ev_type: &TimelineEventType, state_key: &str) -> bool { ev.event_type() == ev_type && ev.state_key() == Some(state_key) } fn is_power_event(event: impl Event) -> bool { match event.event_type() { - RoomEventType::RoomPowerLevels - | RoomEventType::RoomJoinRules - | RoomEventType::RoomCreate => event.state_key() == Some(""), - RoomEventType::RoomMember => { + TimelineEventType::RoomPowerLevels + | TimelineEventType::RoomJoinRules + | TimelineEventType::RoomCreate => event.state_key() == Some(""), + TimelineEventType::RoomMember => { if let Ok(content) = from_json_str::(event.content().get()) { if [MembershipState::Leave, MembershipState::Ban].contains(&content.membership) { return Some(event.sender().as_str()) != event.state_key(); @@ -621,7 +621,7 @@ impl EventTypeExt for StateEventType { } } -impl EventTypeExt for RoomEventType { +impl EventTypeExt for TimelineEventType { fn with_state_key(self, state_key: impl Into) -> (StateEventType, String) { (self.to_string().into(), state_key.into()) } @@ -649,7 +649,7 @@ mod tests { use ruma_common::{ events::{ room::join_rules::{JoinRule, RoomJoinRulesEventContent}, - RoomEventType, StateEventType, + StateEventType, TimelineEventType, }, MilliSecondsSinceUnixEpoch, OwnedEventId, RoomVersionId, }; @@ -743,28 +743,28 @@ mod tests { to_init_pdu_event( "PA", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), to_init_pdu_event( "MA", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(alice().to_string().as_str()), member_content_join(), ), to_init_pdu_event( "MB", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(bob().to_string().as_str()), member_content_ban(), ), to_init_pdu_event( "PB", bob(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), @@ -790,42 +790,42 @@ mod tests { to_init_pdu_event( "T1", alice(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "PA1", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), to_init_pdu_event( "T2", alice(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "PA2", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 0 } })).unwrap(), ), to_init_pdu_event( "PB", bob(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), to_init_pdu_event( "T3", bob(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), @@ -851,28 +851,28 @@ mod tests { to_init_pdu_event( "T1", alice(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "PA", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), to_init_pdu_event( "T2", bob(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "MB", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(bob().to_string().as_str()), member_content_ban(), ), @@ -898,14 +898,14 @@ mod tests { to_init_pdu_event( "JR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&RoomJoinRulesEventContent::new(JoinRule::Private)).unwrap(), ), to_init_pdu_event( "ME", ella(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(ella().to_string().as_str()), member_content_join(), ), @@ -930,14 +930,14 @@ mod tests { to_init_pdu_event( "PA", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), to_init_pdu_event( "PB", bob(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50, charlie(): 50 } })) .unwrap(), @@ -945,7 +945,7 @@ mod tests { to_init_pdu_event( "PC", charlie(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50, charlie(): 0 } })) .unwrap(), @@ -971,56 +971,56 @@ mod tests { to_init_pdu_event( "T1", alice(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "PA1", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), to_init_pdu_event( "T2", alice(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "PA2", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 0 } })).unwrap(), ), to_init_pdu_event( "PB", bob(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), ), to_init_pdu_event( "T3", bob(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "MZ1", zara(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), to_init_pdu_event( "T4", alice(), - RoomEventType::RoomTopic, + TimelineEventType::RoomTopic, Some(""), to_raw_json_value(&json!({})).unwrap(), ), @@ -1211,7 +1211,7 @@ mod tests { to_pdu_event( "PA", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), &["CREATE", "IMA", "IPOWER"], // auth_events @@ -1220,7 +1220,7 @@ mod tests { to_pdu_event( "PB", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100, bob(): 50 } })).unwrap(), &["CREATE", "IMA", "IPOWER"], @@ -1229,7 +1229,7 @@ mod tests { to_pdu_event( "MB", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(ella().as_str()), member_content_ban(), &["CREATE", "IMA", "PB"], @@ -1238,7 +1238,7 @@ mod tests { to_pdu_event( "IME", ella(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(ella().as_str()), member_content_join(), &["CREATE", "IJR", "PA"], @@ -1256,7 +1256,7 @@ mod tests { to_pdu_event( "JR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&json!({ "join_rule": "invite" })).unwrap(), &["CREATE", "IMA", "IPOWER"], @@ -1265,7 +1265,7 @@ mod tests { to_pdu_event( "IMZ", zara(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(zara().as_str()), member_content_join(), &["CREATE", "JR", "IPOWER"], diff --git a/crates/ruma-state-res/src/power_levels.rs b/crates/ruma-state-res/src/power_levels.rs index b858504f..b013fc2f 100644 --- a/crates/ruma-state-res/src/power_levels.rs +++ b/crates/ruma-state-res/src/power_levels.rs @@ -2,7 +2,7 @@ use std::collections::BTreeMap; use js_int::Int; use ruma_common::{ - events::{room::power_levels::RoomPowerLevelsEventContent, RoomEventType}, + events::{room::power_levels::RoomPowerLevelsEventContent, TimelineEventType}, power_levels::{default_power_level, NotificationPowerLevels}, serde::{btreemap_deserialize_v1_powerlevel_values, deserialize_v1_powerlevel}, OwnedUserId, @@ -19,7 +19,7 @@ struct IntRoomPowerLevelsEventContent { pub ban: Int, #[serde(default)] - pub events: BTreeMap, + pub events: BTreeMap, #[serde(default)] pub events_default: Int, diff --git a/crates/ruma-state-res/src/state_event.rs b/crates/ruma-state-res/src/state_event.rs index 13b5e0d4..00e94a29 100644 --- a/crates/ruma-state-res/src/state_event.rs +++ b/crates/ruma-state-res/src/state_event.rs @@ -5,7 +5,7 @@ use std::{ sync::Arc, }; -use ruma_common::{events::RoomEventType, EventId, MilliSecondsSinceUnixEpoch, RoomId, UserId}; +use ruma_common::{events::TimelineEventType, EventId, MilliSecondsSinceUnixEpoch, RoomId, UserId}; use serde_json::value::RawValue as RawJsonValue; /// Abstraction of a PDU so users can have their own PDU types. @@ -25,7 +25,7 @@ pub trait Event { fn origin_server_ts(&self) -> MilliSecondsSinceUnixEpoch; /// The event type. - fn event_type(&self) -> &RoomEventType; + fn event_type(&self) -> &TimelineEventType; /// The event's content. fn content(&self) -> &RawJsonValue; @@ -64,7 +64,7 @@ impl Event for &T { (*self).origin_server_ts() } - fn event_type(&self) -> &RoomEventType { + fn event_type(&self) -> &TimelineEventType { (*self).event_type() } @@ -108,7 +108,7 @@ impl Event for Arc { (**self).origin_server_ts() } - fn event_type(&self) -> &RoomEventType { + fn event_type(&self) -> &TimelineEventType { (**self).event_type() } diff --git a/crates/ruma-state-res/src/test_utils.rs b/crates/ruma-state-res/src/test_utils.rs index c96f9b0b..cf907f5f 100644 --- a/crates/ruma-state-res/src/test_utils.rs +++ b/crates/ruma-state-res/src/test_utils.rs @@ -16,7 +16,7 @@ use ruma_common::{ join_rules::{JoinRule, RoomJoinRulesEventContent}, member::{MembershipState, RoomMemberEventContent}, }, - RoomEventType, + TimelineEventType, }, room_id, user_id, EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, RoomId, RoomVersionId, UserId, @@ -251,7 +251,7 @@ impl TestStore { let create_event = to_pdu_event::<&EventId>( "CREATE", alice(), - RoomEventType::RoomCreate, + TimelineEventType::RoomCreate, Some(""), to_raw_json_value(&json!({ "creator": alice() })).unwrap(), &[], @@ -263,7 +263,7 @@ impl TestStore { let alice_mem = to_pdu_event( "IMA", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(alice().as_str()), member_content_join(), &[cre.clone()], @@ -274,7 +274,7 @@ impl TestStore { let join_rules = to_pdu_event( "IJR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&RoomJoinRulesEventContent::new(JoinRule::Public)).unwrap(), &[cre.clone(), alice_mem.event_id().to_owned()], @@ -287,7 +287,7 @@ impl TestStore { let bob_mem = to_pdu_event( "IMB", bob(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(bob().as_str()), member_content_join(), &[cre.clone(), join_rules.event_id().to_owned()], @@ -298,7 +298,7 @@ impl TestStore { let charlie_mem = to_pdu_event( "IMC", charlie(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(charlie().as_str()), member_content_join(), &[cre, join_rules.event_id().to_owned()], @@ -374,7 +374,7 @@ pub fn member_content_join() -> Box { pub fn to_init_pdu_event( id: &str, sender: &UserId, - ev_type: RoomEventType, + ev_type: TimelineEventType, state_key: Option<&str>, content: Box, ) -> Arc { @@ -405,7 +405,7 @@ pub fn to_init_pdu_event( pub fn to_pdu_event( id: &str, sender: &UserId, - ev_type: RoomEventType, + ev_type: TimelineEventType, state_key: Option<&str>, content: Box, auth_events: &[S], @@ -447,7 +447,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event::<&EventId>( "CREATE", alice(), - RoomEventType::RoomCreate, + TimelineEventType::RoomCreate, Some(""), to_raw_json_value(&json!({ "creator": alice() })).unwrap(), &[], @@ -456,7 +456,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IMA", alice(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(alice().as_str()), member_content_join(), &["CREATE"], @@ -465,7 +465,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IPOWER", alice(), - RoomEventType::RoomPowerLevels, + TimelineEventType::RoomPowerLevels, Some(""), to_raw_json_value(&json!({ "users": { alice(): 100 } })).unwrap(), &["CREATE", "IMA"], @@ -474,7 +474,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IJR", alice(), - RoomEventType::RoomJoinRules, + TimelineEventType::RoomJoinRules, Some(""), to_raw_json_value(&RoomJoinRulesEventContent::new(JoinRule::Public)).unwrap(), &["CREATE", "IMA", "IPOWER"], @@ -483,7 +483,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IMB", bob(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(bob().as_str()), member_content_join(), &["CREATE", "IJR", "IPOWER"], @@ -492,7 +492,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event( "IMC", charlie(), - RoomEventType::RoomMember, + TimelineEventType::RoomMember, Some(charlie().as_str()), member_content_join(), &["CREATE", "IJR", "IPOWER"], @@ -501,7 +501,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event::<&EventId>( "START", charlie(), - RoomEventType::RoomMessage, + TimelineEventType::RoomMessage, Some("dummy"), to_raw_json_value(&json!({})).unwrap(), &[], @@ -510,7 +510,7 @@ pub fn INITIAL_EVENTS() -> HashMap> { to_pdu_event::<&EventId>( "END", charlie(), - RoomEventType::RoomMessage, + TimelineEventType::RoomMessage, Some("dummy"), to_raw_json_value(&json!({})).unwrap(), &[], @@ -528,7 +528,7 @@ pub fn INITIAL_EVENTS_CREATE_ROOM() -> HashMap> { vec![to_pdu_event::<&EventId>( "CREATE", alice(), - RoomEventType::RoomCreate, + TimelineEventType::RoomCreate, Some(""), to_raw_json_value(&json!({ "creator": alice() })).unwrap(), &[], @@ -549,7 +549,7 @@ pub fn INITIAL_EDGES() -> Vec { pub mod event { use ruma_common::{ - events::{pdu::Pdu, RoomEventType}, + events::{pdu::Pdu, TimelineEventType}, MilliSecondsSinceUnixEpoch, OwnedEventId, RoomId, UserId, }; use serde::{Deserialize, Serialize}; @@ -582,7 +582,7 @@ pub mod event { } } - fn event_type(&self) -> &RoomEventType { + fn event_type(&self) -> &TimelineEventType { match &self.rest { Pdu::RoomV1Pdu(ev) => &ev.kind, Pdu::RoomV3Pdu(ev) => &ev.kind,