@@ -37,6 +37,13 @@ sealed class Event {
37
37
case 'update' : return RealmUserUpdateEvent .fromJson (json);
38
38
default : return UnexpectedEvent .fromJson (json);
39
39
}
40
+ case 'saved_snippets' :
41
+ switch (json['op' ] as String ) {
42
+ case 'add' : return SavedSnippetsAddEvent .fromJson (json);
43
+ case 'update' : return SavedSnippetsUpdateEvent .fromJson (json);
44
+ case 'remove' : return SavedSnippetsRemoveEvent .fromJson (json);
45
+ default : return UnexpectedEvent .fromJson (json);
46
+ }
40
47
case 'stream' :
41
48
switch (json['op' ] as String ) {
42
49
case 'create' : return ChannelCreateEvent .fromJson (json);
@@ -336,6 +343,68 @@ class RealmUserUpdateEvent extends RealmUserEvent {
336
343
Map <String , dynamic > toJson () => _$RealmUserUpdateEventToJson (this );
337
344
}
338
345
346
+ /// A Zulip event of type `saved_snippets` : https://zulip.com/api/get-events#saved_snippets-add
347
+ sealed class SavedSnippetsEvent extends Event {
348
+ @override
349
+ @JsonKey (includeToJson: true )
350
+ String get type => 'saved_snippets' ;
351
+
352
+ String get op;
353
+
354
+ SavedSnippetsEvent ({required super .id});
355
+ }
356
+
357
+ /// A [SavedSnippetsEvent] with op `add` : https://zulip.com/api/get-events#saved_snippets-add
358
+ @JsonSerializable (fieldRename: FieldRename .snake)
359
+ class SavedSnippetsAddEvent extends SavedSnippetsEvent {
360
+ @override
361
+ String get op => 'add' ;
362
+
363
+ final SavedSnippet savedSnippet;
364
+
365
+ SavedSnippetsAddEvent ({required super .id, required this .savedSnippet});
366
+
367
+ factory SavedSnippetsAddEvent .fromJson (Map <String , dynamic > json) =>
368
+ _$SavedSnippetsAddEventFromJson (json);
369
+
370
+ @override
371
+ Map <String , dynamic > toJson () => _$SavedSnippetsAddEventToJson (this );
372
+ }
373
+
374
+ /// A [SavedSnippetsEvent] with op `update` : https://zulip.com/api/get-events#saved_snippets-update
375
+ @JsonSerializable (fieldRename: FieldRename .snake)
376
+ class SavedSnippetsUpdateEvent extends SavedSnippetsEvent {
377
+ @override
378
+ String get op => 'update' ;
379
+
380
+ final SavedSnippet savedSnippet;
381
+
382
+ SavedSnippetsUpdateEvent ({required super .id, required this .savedSnippet});
383
+
384
+ factory SavedSnippetsUpdateEvent .fromJson (Map <String , dynamic > json) =>
385
+ _$SavedSnippetsUpdateEventFromJson (json);
386
+
387
+ @override
388
+ Map <String , dynamic > toJson () => _$SavedSnippetsUpdateEventToJson (this );
389
+ }
390
+
391
+ /// A [SavedSnippetsEvent] with op `remove` : https://zulip.com/api/get-events#saved_snippets-remove
392
+ @JsonSerializable (fieldRename: FieldRename .snake)
393
+ class SavedSnippetsRemoveEvent extends SavedSnippetsEvent {
394
+ @override
395
+ String get op => 'remove' ;
396
+
397
+ final int savedSnippetId;
398
+
399
+ SavedSnippetsRemoveEvent ({required super .id, required this .savedSnippetId});
400
+
401
+ factory SavedSnippetsRemoveEvent .fromJson (Map <String , dynamic > json) =>
402
+ _$SavedSnippetsRemoveEventFromJson (json);
403
+
404
+ @override
405
+ Map <String , dynamic > toJson () => _$SavedSnippetsRemoveEventToJson (this );
406
+ }
407
+
339
408
/// A Zulip event of type `stream` .
340
409
///
341
410
/// The corresponding API docs are in several places for
0 commit comments