1 files changed, 9 insertions, 7 deletions
diff --git a/synapse/rest/admin/rooms.py b/synapse/rest/admin/rooms.py
index 37703610c5..1f7b7daea9 100644
--- a/synapse/rest/admin/rooms.py
+++ b/synapse/rest/admin/rooms.py
@@ -524,14 +524,18 @@ class ForwardExtremitiesRestServlet(RestServlet):
async def resolve_room_id(self, room_identifier: str) -> str:
"""Resolve to a room ID, if necessary."""
if RoomID.is_valid(room_identifier):
- return room_identifier
+ room_id = room_identifier
elif RoomAlias.is_valid(room_identifier):
room_alias = RoomAlias.from_string(room_identifier)
room_id, _ = await self.room_member_handler.lookup_room_alias(room_alias)
- return room_id.to_string()
- raise SynapseError(
- 400, "%s was not legal room ID or room alias" % (room_identifier,)
- )
+ room_id = room_id.to_string()
+ else:
+ raise SynapseError(
+ 400, "%s was not legal room ID or room alias" % (room_identifier,)
+ )
+ if not room_id:
+ raise SynapseError(400, "Unknown room ID or room alias %s" % room_identifier)
+ return room_id
async def on_DELETE(self, request, room_identifier):
requester = await self.auth.get_user_by_req(request)
@@ -544,8 +548,6 @@ class ForwardExtremitiesRestServlet(RestServlet):
await assert_user_is_admin(self.auth, requester.user)
room_id = await self.resolve_room_id(room_identifier)
- if not room_id:
- raise SynapseError(400, "Unknown room ID or room alias %s" % room_identifier)
extremities = await self.store.get_forward_extremities_for_room(room_id)
return 200, {
|