state-res: More fetch_state deduplication
This commit is contained in:
parent
f9f4106757
commit
8b4d019861
@ -176,8 +176,10 @@ where
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
let room_create_event = fetch_state(&EventType::RoomCreate, "");
|
||||||
|
|
||||||
// 3. If event does not have m.room.create in auth_events reject
|
// 3. If event does not have m.room.create in auth_events reject
|
||||||
if fetch_state(&EventType::RoomCreate, "").is_none() {
|
if room_create_event.is_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);
|
||||||
@ -266,7 +268,7 @@ where
|
|||||||
return Ok(false);
|
return Ok(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
let sender_power_level = if let Some(pl) = fetch_state(&EventType::RoomPowerLevels, "") {
|
let sender_power_level = if let Some(pl) = &power_levels_event {
|
||||||
if let Ok(content) = serde_json::from_value::<PowerLevelsEventContent>(pl.content()) {
|
if let Ok(content) = serde_json::from_value::<PowerLevelsEventContent>(pl.content()) {
|
||||||
if let Some(level) = content.users.get(sender) {
|
if let Some(level) = content.users.get(sender) {
|
||||||
*level
|
*level
|
||||||
@ -278,7 +280,7 @@ where
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// If no power level event found the creator gets 100 everyone else gets 0
|
// If no power level event found the creator gets 100 everyone else gets 0
|
||||||
fetch_state(&EventType::RoomCreate, "")
|
room_create_event
|
||||||
.and_then(|create| serde_json::from_value::<CreateEventContent>(create.content()).ok())
|
.and_then(|create| serde_json::from_value::<CreateEventContent>(create.content()).ok())
|
||||||
.and_then(|create| (create.creator == *sender).then(|| int!(100)))
|
.and_then(|create| (create.creator == *sender).then(|| int!(100)))
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user