events: rename RoomEventType to TimelineEventType
This commit is contained in:
parent
cd74cdcc0e
commit
ca78825e94
@ -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 }
|
||||
}
|
||||
|
@ -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")]
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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>,
|
||||
|
@ -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,
|
||||
|
@ -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()],
|
||||
|
@ -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
|
||||
})
|
||||
}
|
||||
|
@ -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),
|
||||
|
@ -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,
|
||||
|
@ -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(),
|
||||
&[],
|
||||
|
@ -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"],
|
||||
|
@ -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,
|
||||
|
@ -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()
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user