Allow setting new room ID with body parameter

This commit is contained in:
Tulir Asokan 2020-11-18 01:25:43 +02:00
parent d4ec0b6762
commit 32383d6850

View File

@ -677,6 +677,18 @@ class RoomCreationHandler(BaseHandler):
visibility = config.get("visibility", None)
is_public = visibility == "public"
if "room_id" in config:
room_id = config["room_id"]
try:
await self.store.store_room(
room_id=room_id,
room_creator_user_id=user_id,
is_public=is_public,
room_version=room_version,
)
except StoreError:
raise SynapseError(409, "Room ID already in use", errcode="M_CONFLICT")
else:
room_id = await self._generate_room_id(
creator_id=user_id, is_public=is_public, room_version=room_version,
)