Skip to content

Commit 442929f

Browse files
committed
api: Add missing includeToJson flags on some "type"/etc getters
These `JsonKey(includeToJson: true)` annotations are needed so that the properties appear in the output of the generated toJson implementations, like they do in the real JSON from the server. We had the annotations on many of this kind of getter, but not all. These types appear in responses, not requests, so the actual app never calls these toJson methods. But having accurate toJson methods is handy in tests.
1 parent e4982f0 commit 442929f

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

lib/api/model/events.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ sealed class RealmUserEvent extends Event {
215215
@JsonSerializable(fieldRename: FieldRename.snake)
216216
class RealmUserAddEvent extends RealmUserEvent {
217217
@override
218+
@JsonKey(includeToJson: true)
218219
String get op => 'add';
219220

220221
final User person;
@@ -231,6 +232,7 @@ class RealmUserAddEvent extends RealmUserEvent {
231232
/// A [RealmUserEvent] with op `remove`: https://zulip.com/api/get-events#realm_user-remove
232233
class RealmUserRemoveEvent extends RealmUserEvent {
233234
@override
235+
@JsonKey(includeToJson: true)
234236
String get op => 'remove';
235237

236238
final int userId;
@@ -268,6 +270,7 @@ class RealmUserUpdateCustomProfileField {
268270
@JsonSerializable(fieldRename: FieldRename.snake)
269271
class RealmUserUpdateEvent extends RealmUserEvent {
270272
@override
273+
@JsonKey(includeToJson: true)
271274
String get op => 'update';
272275

273276
@JsonKey(readValue: _readFromPerson) final int userId;
@@ -351,6 +354,7 @@ sealed class ChannelEvent extends Event {
351354
@JsonSerializable(fieldRename: FieldRename.snake)
352355
class ChannelCreateEvent extends ChannelEvent {
353356
@override
357+
@JsonKey(includeToJson: true)
354358
String get op => 'create';
355359

356360
final List<ZulipStream> streams;
@@ -368,6 +372,7 @@ class ChannelCreateEvent extends ChannelEvent {
368372
@JsonSerializable(fieldRename: FieldRename.snake)
369373
class ChannelDeleteEvent extends ChannelEvent {
370374
@override
375+
@JsonKey(includeToJson: true)
371376
String get op => 'delete';
372377

373378
final List<ZulipStream> streams;
@@ -385,6 +390,7 @@ class ChannelDeleteEvent extends ChannelEvent {
385390
@JsonSerializable(fieldRename: FieldRename.snake)
386391
class ChannelUpdateEvent extends ChannelEvent {
387392
@override
393+
@JsonKey(includeToJson: true)
388394
String get op => 'update';
389395

390396
final int streamId;
@@ -666,6 +672,7 @@ class UserTopicEvent extends Event {
666672
// in order to skip the boilerplate in [fromJson] and [toJson].
667673
class MessageEvent extends Event {
668674
@override
675+
@JsonKey(includeToJson: true)
669676
String get type => 'message';
670677

671678
// In the server API, the `flags` field appears directly on the event rather
@@ -857,6 +864,7 @@ sealed class UpdateMessageFlagsEvent extends Event {
857864
@JsonSerializable(fieldRename: FieldRename.snake)
858865
class UpdateMessageFlagsAddEvent extends UpdateMessageFlagsEvent {
859866
@override
867+
@JsonKey(includeToJson: true)
860868
String get op => 'add';
861869

862870
final bool all;
@@ -879,6 +887,7 @@ class UpdateMessageFlagsAddEvent extends UpdateMessageFlagsEvent {
879887
@JsonSerializable(fieldRename: FieldRename.snake)
880888
class UpdateMessageFlagsRemoveEvent extends UpdateMessageFlagsEvent {
881889
@override
890+
@JsonKey(includeToJson: true)
882891
String get op => 'remove';
883892

884893
// final bool all; // deprecated, ignore

lib/api/model/events.g.dart

Lines changed: 7 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)