Fix allow_room_admins_to_request_unredacted_events applying to server admins instead of room admins.
This commit is contained in:
@@ -28,18 +28,20 @@ pub(crate) async fn get_room_event_route(
|
|||||||
let retained_event = body
|
let retained_event = body
|
||||||
.include_unredacted_content
|
.include_unredacted_content
|
||||||
.then_async(async || {
|
.then_async(async || {
|
||||||
let is_admin = services
|
let is_admin = services.admin.user_is_admin(sender_user);
|
||||||
.config
|
|
||||||
.allow_room_admins_to_request_unredacted_events
|
|
||||||
.then_async(|| services.admin.user_is_admin(sender_user))
|
|
||||||
.unwrap_or(false);
|
|
||||||
|
|
||||||
let can_redact = services
|
let can_redact = services
|
||||||
.state_accessor
|
.config
|
||||||
.get_power_levels(room_id)
|
.allow_room_admins_to_request_unredacted_events
|
||||||
.map_ok_or(false, |power_levels| {
|
.then_async(|| {
|
||||||
power_levels.for_user(sender_user) >= power_levels.redact
|
services
|
||||||
});
|
.state_accessor
|
||||||
|
.get_power_levels(room_id)
|
||||||
|
.map_ok_or(false, |power_levels| {
|
||||||
|
power_levels.for_user(sender_user) >= power_levels.redact
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.unwrap_or(false);
|
||||||
|
|
||||||
pin_mut!(is_admin, can_redact);
|
pin_mut!(is_admin, can_redact);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user