summary refs log tree commit diff
path: root/synapse/storage/account_data.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2017-10-02 13:52:03 +0100
committerErik Johnston <erik@matrix.org>2017-10-02 13:52:03 +0100
commitb23cb8fba8c783bf7a267bfbe33b50e010f17787 (patch)
treec43dc5b7ba3eb73bff695cae67f7c4122134a0ef /synapse/storage/account_data.py
parentMerge pull request #2464 from rnbdsh/patch-4 (diff)
parentBump version and change log (diff)
downloadsynapse-b23cb8fba8c783bf7a267bfbe33b50e010f17787.tar.xz
Merge branch 'release-v0.23.0' of github.com:matrix-org/synapse v0.23.0
Diffstat (limited to 'synapse/storage/account_data.py')
-rw-r--r--synapse/storage/account_data.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/synapse/storage/account_data.py b/synapse/storage/account_data.py
index aa84ffc2b0..ff14e54c11 100644
--- a/synapse/storage/account_data.py
+++ b/synapse/storage/account_data.py
@@ -308,3 +308,16 @@ class AccountDataStore(SQLBaseStore):
             " WHERE stream_id < ?"
         )
         txn.execute(update_max_id_sql, (next_id, next_id))
+
+    @cachedInlineCallbacks(num_args=2, cache_context=True, max_entries=5000)
+    def is_ignored_by(self, ignored_user_id, ignorer_user_id, cache_context):
+        ignored_account_data = yield self.get_global_account_data_by_type_for_user(
+            "m.ignored_user_list", ignorer_user_id,
+            on_invalidate=cache_context.invalidate,
+        )
+        if not ignored_account_data:
+            defer.returnValue(False)
+
+        defer.returnValue(
+            ignored_user_id in ignored_account_data.get("ignored_users", {})
+        )