Skip to content

Commit 6f1fcce

Browse files
committed
model/api_types: Handle muted_user event.
Update the muted_user list after a muted_user event. Add MutedUserEvent to api_types. Co-authored by: Subhasish-Behera <[email protected]>
1 parent 68ab15e commit 6f1fcce

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

tests/model/test_model.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ def test_register_initial_desired_events(self, mocker, initial_data):
275275
"user_settings",
276276
"realm_emoji",
277277
"realm_user",
278+
"muted_users",
278279
]
279280
fetch_event_types = [
280281
"realm",

zulipterminal/api_types.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,16 @@ class UpdateDisplaySettingsEvent(TypedDict):
613613
setting: bool
614614

615615

616+
class MutedUser(TypedDict):
617+
user_id: int
618+
timestamp: int
619+
620+
621+
class MutedUserEvent(TypedDict):
622+
type: Literal["muted_users"]
623+
muted_users: List[MutedUser]
624+
625+
616626
# -----------------------------------------------------------------------------
617627
Event = Union[
618628
MessageEvent,
@@ -628,6 +638,7 @@ class UpdateDisplaySettingsEvent(TypedDict):
628638
UpdateUserSettingsEvent,
629639
UpdateGlobalNotificationsEvent,
630640
RealmUserEvent,
641+
MutedUserEvent,
631642
]
632643

633644
###############################################################################

zulipterminal/model.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ def __init__(self, controller: Any) -> None:
161161
"user_settings": self._handle_user_settings_event,
162162
"realm_emoji": self._handle_update_emoji_event,
163163
"realm_user": self._handle_realm_user_event,
164+
"muted_users": self._handle_muted_users_event,
164165
}
165166

166167
self.initial_data: Dict[str, Any] = {}
@@ -1675,6 +1676,13 @@ def notify_user(self, message: Message) -> str:
16751676
)
16761677
return ""
16771678

1679+
def _handle_muted_users_event(self, event: Event) -> None:
1680+
"""
1681+
Handle muting/unmuting of users
1682+
"""
1683+
assert event["type"] == "muted_users"
1684+
self._update_muted_users(event["muted_users"])
1685+
16781686
def _handle_message_event(self, event: Event) -> None:
16791687
"""
16801688
Handle new messages (eg. add message to the end of the view)

0 commit comments

Comments
 (0)