@@ -32,6 +32,7 @@ sealed class Event {
32
32
}
33
33
case 'message' : return MessageEvent .fromJson (json);
34
34
case 'update_message' : return UpdateMessageEvent .fromJson (json);
35
+ case 'delete_message' : return UpdateMessageEvent .fromJson (json);
35
36
case 'heartbeat' : return HeartbeatEvent .fromJson (json);
36
37
// TODO add many more event types
37
38
default : return UnexpectedEvent .fromJson (json);
@@ -322,6 +323,33 @@ class UpdateMessageEvent extends Event {
322
323
Map <String , dynamic > toJson () => _$UpdateMessageEventToJson (this );
323
324
}
324
325
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
+
325
353
@JsonSerializable (fieldRename: FieldRename .snake)
326
354
class HeartbeatEvent extends Event {
327
355
@override
0 commit comments