summary refs log tree commit diff
path: root/stubs/synapse/synapse_rust/push.pyi
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2022-09-20 12:10:31 +0100
committerGitHub <noreply@github.com>2022-09-20 12:10:31 +0100
commit42d261c32f13e2de7494a0ade77c1f7b646af1fe (patch)
treeaf5526ed2e27eddc8b24ef22d035927fa5b32ca6 /stubs/synapse/synapse_rust/push.pyi
parentDon't include redundant prev_state in new events (#13791) (diff)
downloadsynapse-42d261c32f13e2de7494a0ade77c1f7b646af1fe.tar.xz
Port the push rule classes to Rust. (#13768)
Diffstat (limited to 'stubs/synapse/synapse_rust/push.pyi')
-rw-r--r--stubs/synapse/synapse_rust/push.pyi37
1 files changed, 37 insertions, 0 deletions
diff --git a/stubs/synapse/synapse_rust/push.pyi b/stubs/synapse/synapse_rust/push.pyi
new file mode 100644
index 0000000000..93c4e69d42
--- /dev/null
+++ b/stubs/synapse/synapse_rust/push.pyi
@@ -0,0 +1,37 @@
+from typing import Any, Collection, Dict, Mapping, Sequence, Tuple, Union
+
+from synapse.types import JsonDict
+
+class PushRule:
+    @property
+    def rule_id(self) -> str: ...
+    @property
+    def priority_class(self) -> int: ...
+    @property
+    def conditions(self) -> Sequence[Mapping[str, str]]: ...
+    @property
+    def actions(self) -> Sequence[Union[Mapping[str, Any], str]]: ...
+    @property
+    def default(self) -> bool: ...
+    @property
+    def default_enabled(self) -> bool: ...
+    @staticmethod
+    def from_db(
+        rule_id: str, priority_class: int, conditions: str, actions: str
+    ) -> "PushRule": ...
+
+class PushRules:
+    def __init__(self, rules: Collection[PushRule]): ...
+    def rules(self) -> Collection[PushRule]: ...
+
+class FilteredPushRules:
+    def __init__(
+        self,
+        push_rules: PushRules,
+        enabled_map: Dict[str, bool],
+        msc3786_enabled: bool,
+        msc3772_enabled: bool,
+    ): ...
+    def rules(self) -> Collection[Tuple[PushRule, bool]]: ...
+
+def get_base_rule_ids() -> Collection[str]: ...