state-res: Use match instead of repeatedly comparing the same variable
This commit is contained in:
parent
b4c22d5783
commit
43c8df18ad
@ -441,7 +441,8 @@ fn valid_membership_change<E: Event>(
|
||||
let target_user_membership_event_id =
|
||||
target_user_membership_event.as_ref().map(|e| e.event_id());
|
||||
|
||||
Ok(if target_membership == MembershipState::Join {
|
||||
Ok(match target_membership {
|
||||
MembershipState::Join => {
|
||||
if sender != target_user {
|
||||
warn!("Can't make other user join");
|
||||
false
|
||||
@ -465,7 +466,8 @@ fn valid_membership_change<E: Event>(
|
||||
}
|
||||
allow
|
||||
}
|
||||
} else if target_membership == MembershipState::Invite {
|
||||
}
|
||||
MembershipState::Invite => {
|
||||
// If content has third_party_invite key
|
||||
if let Some(Ok(tp_id)) = third_party_invite {
|
||||
if target_user_current_membership == MembershipState::Ban {
|
||||
@ -499,14 +501,16 @@ fn valid_membership_change<E: Event>(
|
||||
} else {
|
||||
let allow = sender_power.filter(|&p| p >= &power_levels.invite).is_some();
|
||||
if !allow {
|
||||
warn!("User does not have enough power to invite\nCurrent user state: {:?}\nPower levels: {:?}",
|
||||
warn!(
|
||||
"User does not have enough power to invite\nCurrent user state: {:?}\nPower levels: {:?}",
|
||||
target_user_membership_event_id,
|
||||
power_levels_event_id,
|
||||
);
|
||||
}
|
||||
allow
|
||||
}
|
||||
} else if target_membership == MembershipState::Leave {
|
||||
}
|
||||
MembershipState::Leave => {
|
||||
if sender == target_user {
|
||||
let allow = target_user_current_membership == MembershipState::Join
|
||||
|| target_user_current_membership == MembershipState::Invite;
|
||||
@ -537,7 +541,8 @@ fn valid_membership_change<E: Event>(
|
||||
}
|
||||
allow
|
||||
}
|
||||
} else if target_membership == MembershipState::Ban {
|
||||
}
|
||||
MembershipState::Ban => {
|
||||
if !sender_is_joined {
|
||||
warn!(
|
||||
"Can't ban user if sender is not joined\nSender user state: {:?}",
|
||||
@ -555,9 +560,11 @@ fn valid_membership_change<E: Event>(
|
||||
}
|
||||
allow
|
||||
}
|
||||
} else {
|
||||
}
|
||||
_ => {
|
||||
warn!("Unknown membership transition");
|
||||
false
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user