events: rename RoomEventType to TimelineEventType

This commit is contained in:
Kévin Commaille 2022-12-26 14:10:46 +01:00 committed by Kévin Commaille
parent cd74cdcc0e
commit ca78825e94
14 changed files with 143 additions and 141 deletions

View File

@ -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 }
}

View File

@ -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")]

View File

@ -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:

View File

@ -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<RawJsonValue>,
@ -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<RawJsonValue>,

View File

@ -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<RoomEventType, Int>,
pub events: BTreeMap<TimelineEventType, Int>,
/// 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<RoomEventType, Int>,
pub events: BTreeMap<TimelineEventType, Int>,
/// The default level required to send message events.
pub events_default: Int,

View File

@ -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()],

View File

@ -8,7 +8,7 @@ pub fn expand_event_type_enum(
input: EventEnumInput,
ruma_common: TokenStream,
) -> syn::Result<TokenStream> {
let mut room: Vec<&Vec<EventEnumEntry>> = vec![];
let mut timeline: Vec<&Vec<EventEnumEntry>> = vec![];
let mut state: Vec<&Vec<EventEnumEntry>> = vec![];
let mut message: Vec<&Vec<EventEnumEntry>> = vec![];
let mut ephemeral: Vec<&Vec<EventEnumEntry>> = 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::<syn::Result<_>>()?;
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
})
}

View File

@ -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<RoomEventType>,
pub event_type: Option<TimelineEventType>,
/// 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),

View File

@ -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<PduEvent> {
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<PduEvent> {
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<PduEvent> {
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<PduEvent> {
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<PduEvent> {
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<RawJsonValue> {
fn to_pdu_event<S>(
id: &str,
sender: &UserId,
ev_type: RoomEventType,
ev_type: TimelineEventType,
state_key: Option<&str>,
content: Box<RawJsonValue>,
auth_events: &[S],
@ -396,7 +396,7 @@ fn INITIAL_EVENTS() -> HashMap<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<String>) -> (StateEventType, String);
}
impl EventTypeExt for &RoomEventType {
impl EventTypeExt for &TimelineEventType {
fn with_state_key(self, state_key: impl Into<String>) -> (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,

View File

@ -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<Vec<(StateEventType, String)>> {
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<Raw<MembershipState>>,
@ -146,7 +146,7 @@ pub fn auth_check<E: Event>(
// 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<Raw<RoomVersionId>>,
@ -244,7 +244,7 @@ pub fn auth_check<E: Event>(
// 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<E: Event>(
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<E: Event>(
// 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<E: Event>(
}
// 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<E: Event>(
// 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<impl Event>,
) -> 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(),
&[],

View File

@ -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<E: Event>(
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<E: Event + Clone>(
// 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<E: Event>(
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<E: Event>(
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<E: Event>(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::<RoomMemberEventContent>(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<String>) -> (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"],

View File

@ -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<RoomEventType, Int>,
pub events: BTreeMap<TimelineEventType, Int>,
#[serde(default)]
pub events_default: Int,

View File

@ -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<T: Event> 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<T: Event> Event for Arc<T> {
(**self).origin_server_ts()
}
fn event_type(&self) -> &RoomEventType {
fn event_type(&self) -> &TimelineEventType {
(**self).event_type()
}

View File

@ -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<PduEvent> {
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<PduEvent> {
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<PduEvent> {
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<PduEvent> {
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<PduEvent> {
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<RawJsonValue> {
pub fn to_init_pdu_event(
id: &str,
sender: &UserId,
ev_type: RoomEventType,
ev_type: TimelineEventType,
state_key: Option<&str>,
content: Box<RawJsonValue>,
) -> Arc<PduEvent> {
@ -405,7 +405,7 @@ pub fn to_init_pdu_event(
pub fn to_pdu_event<S>(
id: &str,
sender: &UserId,
ev_type: RoomEventType,
ev_type: TimelineEventType,
state_key: Option<&str>,
content: Box<RawJsonValue>,
auth_events: &[S],
@ -447,7 +447,7 @@ pub fn INITIAL_EVENTS() -> HashMap<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId, Arc<PduEvent>> {
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<OwnedEventId> {
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,