Skip to content

Commit 800b554

Browse files
committed
api: Add delete_message events
1 parent 27d8127 commit 800b554

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

lib/api/model/events.dart

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ sealed class Event {
3232
}
3333
case 'message': return MessageEvent.fromJson(json);
3434
case 'update_message': return UpdateMessageEvent.fromJson(json);
35+
case 'delete_message': return UpdateMessageEvent.fromJson(json);
3536
case 'heartbeat': return HeartbeatEvent.fromJson(json);
3637
// TODO add many more event types
3738
default: return UnexpectedEvent.fromJson(json);
@@ -322,6 +323,33 @@ class UpdateMessageEvent extends Event {
322323
Map<String, dynamic> toJson() => _$UpdateMessageEventToJson(this);
323324
}
324325

326+
/// A Zulip event of type `delete_message`.
327+
@JsonSerializable(fieldRename: FieldRename.snake)
328+
class DeleteMessageEvent extends Event {
329+
@override
330+
String get type => 'delete_message';
331+
332+
final List<int> messageIds;
333+
// final int messageId; // Not present; we support the bulk_message_deletion capability
334+
final String messageType;
335+
final int? streamId;
336+
final String? topic;
337+
338+
DeleteMessageEvent({
339+
required super.id,
340+
required this.messageIds,
341+
required this.messageType,
342+
this.streamId,
343+
this.topic,
344+
});
345+
346+
factory DeleteMessageEvent.fromJson(Map<String, dynamic> json) =>
347+
_$DeleteMessageEventFromJson(json);
348+
349+
@override
350+
Map<String, dynamic> toJson() => _$DeleteMessageEventToJson(this);
351+
}
352+
325353
@JsonSerializable(fieldRename: FieldRename.snake)
326354
class HeartbeatEvent extends Event {
327355
@override

lib/api/model/events.g.dart

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

0 commit comments

Comments
 (0)