mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2024-10-01 11:49:51 -04:00
Address review comments
Improve comments, get old room state from the context we already have
This commit is contained in:
parent
474810d9d5
commit
193cadc988
@ -136,19 +136,21 @@ class RoomCreationHandler(BaseHandler):
|
|||||||
requester, tombstone_event, tombstone_context,
|
requester, tombstone_event, tombstone_context,
|
||||||
)
|
)
|
||||||
|
|
||||||
# ... and restrict the PLs in the old room, if possible.
|
old_room_state = yield tombstone_context.get_current_state_ids(self.store)
|
||||||
old_room_pl_state = yield self.state_handler.get_current_state(
|
old_room_pl_event_id = old_room_state.get((EventTypes.PowerLevels, ""))
|
||||||
old_room_id,
|
|
||||||
event_type=EventTypes.PowerLevels,
|
|
||||||
latest_event_ids=(tombstone_event.event_id, ),
|
|
||||||
)
|
|
||||||
|
|
||||||
if old_room_pl_state is None:
|
if old_room_pl_event_id is None:
|
||||||
logger.warning(
|
logger.warning(
|
||||||
"Not supported: upgrading a room with no PL event. Not setting PLs "
|
"Not supported: upgrading a room with no PL event. Not setting PLs "
|
||||||
"in old room.",
|
"in old room.",
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
# we try to stop regular users from speaking by setting the PL required
|
||||||
|
# to send regular events and invites to 'Moderator' level. That's normally
|
||||||
|
# 50, but if the default PL in a room is 50 or more, then we set the
|
||||||
|
# required PL above that.
|
||||||
|
|
||||||
|
old_room_pl_state = yield self.store.get_event(old_room_pl_event_id)
|
||||||
pl_content = dict(old_room_pl_state.content)
|
pl_content = dict(old_room_pl_state.content)
|
||||||
users_default = int(pl_content.get("users_default", 0))
|
users_default = int(pl_content.get("users_default", 0))
|
||||||
restricted_level = max(users_default + 1, 50)
|
restricted_level = max(users_default + 1, 50)
|
||||||
|
@ -31,6 +31,22 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
class RoomUpgradeRestServlet(RestServlet):
|
class RoomUpgradeRestServlet(RestServlet):
|
||||||
|
"""Handler for room uprade requests.
|
||||||
|
|
||||||
|
Handles requests of the form:
|
||||||
|
|
||||||
|
POST /_matrix/client/r0/rooms/$roomid/upgrade HTTP/1.1
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
{
|
||||||
|
"new_version": "2",
|
||||||
|
}
|
||||||
|
|
||||||
|
Creates a new room and shuts down the old one. Returns the ID of the new room.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
hs (synapse.server.HomeServer):
|
||||||
|
"""
|
||||||
PATTERNS = client_v2_patterns(
|
PATTERNS = client_v2_patterns(
|
||||||
# /rooms/$roomid/upgrade
|
# /rooms/$roomid/upgrade
|
||||||
"/rooms/(?P<room_id>[^/]*)/upgrade$",
|
"/rooms/(?P<room_id>[^/]*)/upgrade$",
|
||||||
@ -38,11 +54,6 @@ class RoomUpgradeRestServlet(RestServlet):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
"""
|
|
||||||
|
|
||||||
Args:
|
|
||||||
hs (synapse.server.HomeServer):
|
|
||||||
"""
|
|
||||||
super(RoomUpgradeRestServlet, self).__init__()
|
super(RoomUpgradeRestServlet, self).__init__()
|
||||||
self._hs = hs
|
self._hs = hs
|
||||||
self._room_creation_handler = hs.get_room_creation_handler()
|
self._room_creation_handler = hs.get_room_creation_handler()
|
||||||
|
Loading…
Reference in New Issue
Block a user