Files
workavia-mail-front/lib/features/thread/data/model/email_change_response.dart
T
2021-10-11 09:31:49 +07:00

47 lines
1.3 KiB
Dart

import 'package:model/model.dart';
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
import 'package:jmap_dart_client/jmap/core/state.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
class EmailChangeResponse with EquatableMixin {
final List<Email>? updated;
final List<Email>? created;
final List<EmailId>? destroyed;
final State? newStateEmail;
final State? newStateChanges;
final bool hasMoreChanges;
final Properties? updatedProperties;
EmailChangeResponse({
this.updated,
this.created,
this.destroyed,
this.newStateEmail,
this.newStateChanges,
this.hasMoreChanges = false,
this.updatedProperties,
});
EmailChangeResponse union(EmailChangeResponse other) => EmailChangeResponse(
updated: updated.unite(other.updated),
created: created.unite(other.created),
destroyed: destroyed.unite(other.destroyed),
newStateEmail: other.newStateEmail,
newStateChanges: other.newStateChanges,
hasMoreChanges: other.hasMoreChanges,
updatedProperties: other.updatedProperties,
);
@override
List<Object?> get props => [
updated,
created,
destroyed,
newStateEmail,
newStateChanges,
hasMoreChanges,
updatedProperties
];
}