Add admin_override

This commit is contained in:
Erik Johnston
2026-03-18 14:56:29 +00:00
parent 1360400b95
commit f39354f535
4 changed files with 8 additions and 3 deletions
+5
View File
@@ -440,6 +440,11 @@ class FilteredEvent:
)
return cls(event=event, membership=None)
@classmethod
def admin_override(cls, event: "EventBase") -> "FilteredEvent":
"""Wrap an event that bypasses visibility filtering due to admin privileges."""
return cls(event=event, membership=None)
@attr.s(slots=True, frozen=True, auto_attribs=True)
class SerializeEventConfig:
+1 -1
View File
@@ -692,7 +692,7 @@ class PaginationHandler:
is_peeking=(member_event_id is None),
)
else:
client_events = [FilteredEvent(event=e, membership=None) for e in events]
client_events = [FilteredEvent.admin_override(e) for e in events]
client_events_result: list[FilteredEvent] = client_events
+1 -1
View File
@@ -1918,7 +1918,7 @@ class RoomContextHandler:
async def filter_evts(events: list[EventBase]) -> list[FilteredEvent]:
if use_admin_priviledge:
return [FilteredEvent(event=e, membership=None) for e in events]
return [FilteredEvent.admin_override(e) for e in events]
return await filter_and_transform_events_for_client(
self._storage_controllers,
user.to_string(),
+1 -1
View File
@@ -67,7 +67,7 @@ class EventRestServlet(RestServlet):
)
res = {
"event": await self._event_serializer.serialize_event(
FilteredEvent(event=event, membership=None),
FilteredEvent.admin_override(event),
self._clock.time_msec(),
config=config,
)