mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2024-10-01 11:49:51 -04:00
3da6450327
* Add support for MSC3931: Room Version Supports push rule condition * Create experimental flag for future work, and use it to gate MSC3931 * Changelog entry
53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
from typing import Any, Collection, Dict, Mapping, Optional, 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], msc3664_enabled: bool
|
|
): ...
|
|
def rules(self) -> Collection[Tuple[PushRule, bool]]: ...
|
|
|
|
def get_base_rule_ids() -> Collection[str]: ...
|
|
|
|
class PushRuleEvaluator:
|
|
def __init__(
|
|
self,
|
|
flattened_keys: Mapping[str, str],
|
|
room_member_count: int,
|
|
sender_power_level: Optional[int],
|
|
notification_power_levels: Mapping[str, int],
|
|
related_events_flattened: Mapping[str, Mapping[str, str]],
|
|
related_event_match_enabled: bool,
|
|
room_version_feature_flags: list[str],
|
|
msc3931_enabled: bool,
|
|
): ...
|
|
def run(
|
|
self,
|
|
push_rules: FilteredPushRules,
|
|
user_id: Optional[str],
|
|
display_name: Optional[str],
|
|
) -> Collection[Union[Mapping, str]]: ...
|