state-res: Update fetch_state type

This commit is contained in:
Jonas Platte 2022-04-15 12:06:09 +02:00
parent a567b9151d
commit 3ec8218158
No known key found for this signature in database
GPG Key ID: 7D261D771D915378

View File

@ -123,7 +123,7 @@ pub fn auth_check<E: Event>(
room_version: &RoomVersion, room_version: &RoomVersion,
incoming_event: impl Event, incoming_event: impl Event,
current_third_party_invite: Option<impl Event>, current_third_party_invite: Option<impl Event>,
fetch_state: impl Fn(&RoomEventType, &str) -> Option<E>, fetch_state: impl Fn(&StateEventType, &str) -> Option<E>,
) -> Result<bool> { ) -> Result<bool> {
info!( info!(
"auth_check beginning for {} ({})", "auth_check beginning for {} ({})",
@ -208,7 +208,7 @@ pub fn auth_check<E: Event>(
} }
*/ */
let room_create_event = match fetch_state(&RoomEventType::RoomCreate, "") { let room_create_event = match fetch_state(&StateEventType::RoomCreate, "") {
None => { None => {
warn!("no m.room.create event in auth chain"); warn!("no m.room.create event in auth chain");
return Ok(false); return Ok(false);
@ -243,8 +243,8 @@ pub fn auth_check<E: Event>(
} }
// If type is m.room.member // If type is m.room.member
let power_levels_event = fetch_state(&RoomEventType::RoomPowerLevels, ""); let power_levels_event = fetch_state(&StateEventType::RoomPowerLevels, "");
let sender_member_event = fetch_state(&RoomEventType::RoomMember, sender.as_str()); let sender_member_event = fetch_state(&StateEventType::RoomMember, sender.as_str());
if *incoming_event.event_type() == RoomEventType::RoomMember { if *incoming_event.event_type() == RoomEventType::RoomMember {
info!("starting m.room.member check"); info!("starting m.room.member check");
@ -270,7 +270,7 @@ pub fn auth_check<E: Event>(
let user_for_join_auth_membership = user_for_join_auth let user_for_join_auth_membership = user_for_join_auth
.as_ref() .as_ref()
.and_then(|auth_user| fetch_state(&RoomEventType::RoomMember, auth_user.as_str())) .and_then(|auth_user| fetch_state(&StateEventType::RoomMember, auth_user.as_str()))
.and_then(|mem| from_json_str::<GetMembership>(mem.content().get()).ok()) .and_then(|mem| from_json_str::<GetMembership>(mem.content().get()).ok())
.map(|mem| mem.membership) .map(|mem| mem.membership)
.unwrap_or(MembershipState::Leave); .unwrap_or(MembershipState::Leave);
@ -278,13 +278,13 @@ pub fn auth_check<E: Event>(
if !valid_membership_change( if !valid_membership_change(
room_version, room_version,
target_user, target_user,
fetch_state(&RoomEventType::RoomMember, target_user.as_str()).as_ref(), fetch_state(&StateEventType::RoomMember, target_user.as_str()).as_ref(),
sender, sender,
sender_member_event.as_ref(), sender_member_event.as_ref(),
&incoming_event, &incoming_event,
current_third_party_invite, current_third_party_invite,
power_levels_event.as_ref(), power_levels_event.as_ref(),
fetch_state(&RoomEventType::RoomJoinRules, "").as_ref(), fetch_state(&StateEventType::RoomJoinRules, "").as_ref(),
user_for_join_auth.as_deref(), user_for_join_auth.as_deref(),
&user_for_join_auth_membership, &user_for_join_auth_membership,
room_create_event, room_create_event,