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

@ -56,17 +56,11 @@ class DirectoryHandler(BaseHandler):
if not servers:
raise SynapseError(400, "Failed to get server list")
try:
yield self.store.create_room_alias_association(
room_alias,
room_id,
servers
)
except sqlite3.IntegrityError:
defer.returnValue("Already exists")
# TODO: Send the room event.
yield self._update_room_alias_events(user_id, room_id)
yield self.store.create_room_alias_association(
room_alias,
room_id,
servers
)
@defer.inlineCallbacks
def delete_association(self, user_id, room_alias):
@ -136,7 +130,7 @@ class DirectoryHandler(BaseHandler):
})
@defer.inlineCallbacks
def _update_room_alias_events(self, user_id, room_id):
def send_room_alias_update_event(self, user_id, room_id):
aliases = yield self.store.get_aliases_for_room(room_id)
event = self.event_factory.create_event(