summaryrefslogtreecommitdiff
path: root/synapse/storage/directory.py
diff options
context:
space:
mode:
authorErik Johnston <erikj@matrix.org>2016-03-30 12:43:26 +0100
committerErik Johnston <erikj@matrix.org>2016-03-30 12:43:26 +0100
commit6f1866ccc545532f466c3ab33d9531eb59303907 (patch)
treede838c7f39544ba52cd94a429bb65d7222a4a7cb /synapse/storage/directory.py
parentfb47398e5380abd439a4c539e9ff21e5fd0173f1 (diff)
Imported Upstream version 0.14.0
Diffstat (limited to 'synapse/storage/directory.py')
-rw-r--r--synapse/storage/directory.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/synapse/storage/directory.py b/synapse/storage/directory.py
index 1556619d..ef231a04 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(
@@ -142,7 +155,7 @@ class DirectoryStore(SQLBaseStore):
return room_id
- @cached()
+ @cached(max_entries=5000)
def get_aliases_for_room(self, room_id):
return self._simple_select_onecol(
"room_aliases",