Split out sending the room alias events from creating the alias so that we can do them in the right point when creating a room

This commit is contained in:
Mark Haines 2014-11-18 15:03:01 +00:00
parent c571dd4f0e
commit a5b88c489e
4 changed files with 31 additions and 27 deletions

View file

@ -106,6 +106,15 @@ class RoomCreationHandler(BaseHandler):
if not room_id:
raise StoreError(500, "Couldn't generate a room ID.")
if room_alias:
directory_handler = self.hs.get_handlers().directory_handler
yield directory_handler.create_association(
user_id=user_id,
room_id=room_id,
room_alias=room_alias,
servers=[self.hs.hostname],
)
user = self.hs.parse_userid(user_id)
creation_events = self._create_events_for_new_room(
user, room_id, is_public=is_public
@ -180,13 +189,7 @@ class RoomCreationHandler(BaseHandler):
if room_alias:
result["room_alias"] = room_alias.to_string()
directory_handler = self.hs.get_handlers().directory_handler
yield directory_handler.create_association(
user_id=user_id,
room_id=room_id,
room_alias=room_alias,
servers=[self.hs.hostname],
)
directory_handler.send_room_alias_update_event(user_id, room_id)
defer.returnValue(result)