message send: Introduce dataclass to wrap user-notifications variables.

We will in later commits, extend this class to contain methods
to determine if a message is notifiable or not, but for now
we only turn it into a dict and pass it on.
This commit is contained in:
Abhijeet Prasad Bodas
2021-06-11 18:07:25 +05:30
committed by Tim Abbott
parent 2179275020
commit 951b49c048
2 changed files with 32 additions and 9 deletions

View File

@@ -0,0 +1,20 @@
from dataclasses import dataclass
from typing import List
@dataclass
class UserMessageNotificationsData:
id: int
flags: List[str]
mentioned: bool
online_push_enabled: bool
stream_push_notify: bool
stream_email_notify: bool
wildcard_mention_notify: bool
sender_is_muted: bool
def __post_init__(self) -> None:
if self.mentioned:
assert "mentioned" in self.flags
if self.wildcard_mention_notify:
assert "wildcard_mentioned" in self.flags