FIXUP: Making get_event_context a bit more paranoid
parent
b755f60ce2
commit
93f84e0373
|
@ -38,6 +38,7 @@ from synapse.api.filtering import Filter
|
|||
from synapse.api.room_versions import KNOWN_ROOM_VERSIONS, RoomVersion
|
||||
from synapse.events import EventBase
|
||||
from synapse.events.utils import copy_power_levels_contents
|
||||
from synapse.rest.admin._base import assert_user_is_admin
|
||||
from synapse.storage.state import StateFilter
|
||||
from synapse.types import (
|
||||
JsonDict,
|
||||
|
@ -997,13 +998,14 @@ class RoomCreationHandler(BaseHandler):
|
|||
class RoomContextHandler:
|
||||
def __init__(self, hs: "HomeServer"):
|
||||
self.hs = hs
|
||||
self.auth = hs.get_auth()
|
||||
self.store = hs.get_datastore()
|
||||
self.storage = hs.get_storage()
|
||||
self.state_store = self.storage.state
|
||||
|
||||
async def get_event_context(
|
||||
self,
|
||||
user: UserID,
|
||||
requester: Requester,
|
||||
room_id: str,
|
||||
event_id: str,
|
||||
limit: int,
|
||||
|
@ -1014,7 +1016,7 @@ class RoomContextHandler:
|
|||
in a room.
|
||||
|
||||
Args:
|
||||
user
|
||||
requester
|
||||
room_id
|
||||
event_id
|
||||
limit: The maximum number of events to return in total
|
||||
|
@ -1027,6 +1029,10 @@ class RoomContextHandler:
|
|||
Returns:
|
||||
dict, or None if the event isn't found
|
||||
"""
|
||||
user = requester.user
|
||||
if use_admin_priviledge:
|
||||
await assert_user_is_admin(self.auth, requester.user)
|
||||
|
||||
before_limit = math.floor(limit / 2.0)
|
||||
after_limit = limit - before_limit
|
||||
|
||||
|
|
|
@ -600,7 +600,7 @@ class RoomEventContextServlet(RestServlet):
|
|||
event_filter = None
|
||||
|
||||
results = await self.room_context_handler.get_event_context(
|
||||
requester.user,
|
||||
requester,
|
||||
room_id,
|
||||
event_id,
|
||||
limit,
|
||||
|
|
|
@ -650,7 +650,7 @@ class RoomEventContextServlet(RestServlet):
|
|||
event_filter = None
|
||||
|
||||
results = await self.room_context_handler.get_event_context(
|
||||
requester.user, room_id, event_id, limit, event_filter
|
||||
requester, room_id, event_id, limit, event_filter
|
||||
)
|
||||
|
||||
if not results:
|
||||
|
|
Loading…
Reference in New Issue