diff options
author | Erik Johnston <erik@matrix.org> | 2016-03-04 09:02:33 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-03-04 09:02:33 +0000 |
commit | dd463e246d507864dc9f195cfdb9b3147efc67f3 (patch) | |
tree | d8913b953755a95a50dac39f4516fe63f018f5e4 /synapse/storage/directory.py | |
parent | Merge pull request #615 from matrix-org/rav/SYN-642 (diff) | |
parent | Allow alias creators to delete aliases (diff) | |
download | synapse-dd463e246d507864dc9f195cfdb9b3147efc67f3.tar.xz |
Merge pull request #614 from matrix-org/erikj/alias_delete
Allow alias creators to delete aliases
Diffstat (limited to 'synapse/storage/directory.py')
-rw-r--r-- | synapse/storage/directory.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/synapse/storage/directory.py b/synapse/storage/directory.py index 1556619d5e..012a0b414a 100644 --- a/synapse/storage/directory.py +++ b/synapse/storage/directory.py @@ -70,13 +70,14 @@ class DirectoryStore(SQLBaseStore): ) @defer.inlineCallbacks - def create_room_alias_association(self, room_alias, room_id, servers): + def create_room_alias_association(self, room_alias, room_id, servers, creator=None): """ Creates an associatin between a room alias and room_id/servers Args: room_alias (RoomAlias) room_id (str) servers (list) + creator (str): Optional user_id of creator. Returns: Deferred @@ -87,6 +88,7 @@ class DirectoryStore(SQLBaseStore): { "room_alias": room_alias.to_string(), "room_id": room_id, + "creator": creator, }, desc="create_room_alias_association", ) @@ -107,6 +109,17 @@ class DirectoryStore(SQLBaseStore): ) self.get_aliases_for_room.invalidate((room_id,)) + def get_room_alias_creator(self, room_alias): + return self._simple_select_one_onecol( + table="room_aliases", + keyvalues={ + "room_alias": room_alias, + }, + retcol="creator", + desc="get_room_alias_creator", + allow_none=True + ) + @defer.inlineCallbacks def delete_room_alias(self, room_alias): room_id = yield self.runInteraction( |