Skip to content

Commit 2d888ac

Browse files
committed
api: Add muted_users event
1 parent 451ec5a commit 2d888ac

File tree

4 files changed

+40
-1
lines changed

4 files changed

+40
-1
lines changed

lib/api/model/events.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ sealed class Event {
6262
}
6363
// case 'muted_topics': … // TODO(#422) we ignore this feature on older servers
6464
case 'user_topic': return UserTopicEvent.fromJson(json);
65+
case 'muted_users': return MutedUsersEvent.fromJson(json);
6566
case 'message': return MessageEvent.fromJson(json);
6667
case 'update_message': return UpdateMessageEvent.fromJson(json);
6768
case 'delete_message': return DeleteMessageEvent.fromJson(json);
@@ -733,6 +734,24 @@ class UserTopicEvent extends Event {
733734
Map<String, dynamic> toJson() => _$UserTopicEventToJson(this);
734735
}
735736

737+
/// A Zulip event of type `muted_users`: https://zulip.com/api/get-events#muted_users
738+
@JsonSerializable(fieldRename: FieldRename.snake)
739+
class MutedUsersEvent extends Event {
740+
@override
741+
@JsonKey(includeToJson: true)
742+
String get type => 'muted_users';
743+
744+
final List<MutedUserItem> mutedUsers;
745+
746+
MutedUsersEvent({required super.id, required this.mutedUsers});
747+
748+
factory MutedUsersEvent.fromJson(Map<String, dynamic> json) =>
749+
_$MutedUsersEventFromJson(json);
750+
751+
@override
752+
Map<String, dynamic> toJson() => _$MutedUsersEventToJson(this);
753+
}
754+
736755
/// A Zulip event of type `message`: https://zulip.com/api/get-events#message
737756
@JsonSerializable(fieldRename: FieldRename.snake)
738757
class MessageEvent extends Event {

lib/api/model/events.g.dart

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/api/model/model.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class CustomProfileFieldExternalAccountData {
111111
}
112112

113113

114-
/// An item in the [InitialSnapshot.mutedUsers].
114+
/// An item in the [InitialSnapshot.mutedUsers] or [MutedUsersEvent].
115115
///
116116
/// For docs, search for "muted_users:"
117117
/// in <https://zulip.com/api/register-queue>.

lib/model/store.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -943,6 +943,10 @@ class PerAccountStore extends PerAccountStoreBase with ChangeNotifier, EmojiStor
943943
assert(debugLog("server event: reaction/${event.op}"));
944944
_messages.handleReactionEvent(event);
945945

946+
case MutedUsersEvent():
947+
// TODO handle
948+
break;
949+
946950
case UnexpectedEvent():
947951
assert(debugLog("server event: ${jsonEncode(event.toJson())}")); // TODO log better
948952
}

0 commit comments

Comments
 (0)