diff options
author | Erik Johnston <erik@matrix.org> | 2018-03-01 15:20:54 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2018-03-13 18:28:44 +0000 |
commit | a08726fc4262c6d8e9c69db3df322317cb87f6c2 (patch) | |
tree | b53133d2848fb1e4b2787c23ae58e29355420658 /synapse/storage/room.py | |
parent | Merge pull request #2987 from matrix-org/erikj/split_room_member_handler (diff) | |
download | synapse-a08726fc4262c6d8e9c69db3df322317cb87f6c2.tar.xz |
Add is_blocked to worker store
Diffstat (limited to '')
-rw-r--r-- | synapse/storage/room.py | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/synapse/storage/room.py b/synapse/storage/room.py index 7f2c08d7a6..34ed84ea22 100644 --- a/synapse/storage/room.py +++ b/synapse/storage/room.py @@ -157,6 +157,18 @@ class RoomWorkerStore(SQLBaseStore): "get_public_room_changes", get_public_room_changes_txn ) + @cached(max_entries=10000) + def is_room_blocked(self, room_id): + return self._simple_select_one_onecol( + table="blocked_rooms", + keyvalues={ + "room_id": room_id, + }, + retcol="1", + allow_none=True, + desc="is_room_blocked", + ) + class RoomStore(RoomWorkerStore, SearchStore): @@ -485,18 +497,6 @@ class RoomStore(RoomWorkerStore, SearchStore): else: defer.returnValue(None) - @cached(max_entries=10000) - def is_room_blocked(self, room_id): - return self._simple_select_one_onecol( - table="blocked_rooms", - keyvalues={ - "room_id": room_id, - }, - retcol="1", - allow_none=True, - desc="is_room_blocked", - ) - @defer.inlineCallbacks def block_room(self, room_id, user_id): yield self._simple_insert( @@ -507,7 +507,11 @@ class RoomStore(RoomWorkerStore, SearchStore): }, desc="block_room", ) - self.is_room_blocked.invalidate((room_id,)) + yield self.runInteraction( + "block_room_invalidation", + self._invalidate_cache_and_stream, + self.is_room_blocked, (room_id,), + ) def get_media_mxcs_in_room(self, room_id): """Retrieves all the local and remote media MXC URIs in a given room |