summary refs log tree commit diff
path: root/synapse/storage/directory.py
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2017-06-19 16:20:55 +0100
committerGitHub <noreply@github.com>2017-06-19 16:20:55 +0100
commitb5f665de3209aa77ac9f692a515e4f96444b9003 (patch)
treedfa58ac75e65b503472bc603a9601bc0295a02b7 /synapse/storage/directory.py
parentadd missing boolean to synapse_port_db (diff)
parentHandle all cases of sending membership events (diff)
downloadsynapse-b5f665de3209aa77ac9f692a515e4f96444b9003.tar.xz
Merge pull request #2291 from matrix-org/erikj/shutdown_room
Add shutdown room API
Diffstat (limited to 'synapse/storage/directory.py')
-rw-r--r--synapse/storage/directory.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/synapse/storage/directory.py b/synapse/storage/directory.py
index 9caaf81f2c..79e7c540ad 100644
--- a/synapse/storage/directory.py
+++ b/synapse/storage/directory.py
@@ -170,3 +170,17 @@ class DirectoryStore(SQLBaseStore):
             "room_alias",
             desc="get_aliases_for_room",
         )
+
+    def update_aliases_for_room(self, old_room_id, new_room_id, creator):
+        def _update_aliases_for_room_txn(txn):
+            sql = "UPDATE room_aliases SET room_id = ?, creator = ? WHERE room_id = ?"
+            txn.execute(sql, (new_room_id, creator, old_room_id,))
+            self._invalidate_cache_and_stream(
+                txn, self.get_aliases_for_room, (old_room_id,)
+            )
+            self._invalidate_cache_and_stream(
+                txn, self.get_aliases_for_room, (new_room_id,)
+            )
+        return self.runInteraction(
+            "_update_aliases_for_room_txn", _update_aliases_for_room_txn
+        )