TF-548 Create some object for contact
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
import 'package:equatable/equatable.dart';
|
||||||
|
|
||||||
|
abstract class Contact with EquatableMixin {
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [];
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import 'package:jmap_dart_client/jmap/core/filter/filter.dart';
|
||||||
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
|
||||||
|
part 'contact_filter.g.dart';
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class ContactFilter extends Filter {
|
||||||
|
|
||||||
|
final String text;
|
||||||
|
|
||||||
|
ContactFilter(this.text);
|
||||||
|
|
||||||
|
factory ContactFilter.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$ContactFilterFromJson(json);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() => _$ContactFilterToJson(this);
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [text];
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
import 'package:contact/contact/model/contact.dart';
|
||||||
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
|
||||||
|
part 'tmail_contact.g.dart';
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class TMailContact extends Contact {
|
||||||
|
|
||||||
|
final String id;
|
||||||
|
final String emailAddress;
|
||||||
|
|
||||||
|
@JsonKey(includeIfNull: false)
|
||||||
|
final String? firstname;
|
||||||
|
|
||||||
|
@JsonKey(includeIfNull: false)
|
||||||
|
final String? surname;
|
||||||
|
|
||||||
|
TMailContact(
|
||||||
|
this.id,
|
||||||
|
this.firstname,
|
||||||
|
this.surname,
|
||||||
|
this.emailAddress);
|
||||||
|
|
||||||
|
factory TMailContact.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$TMailContactFromJson(json);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$TMailContactToJson(this);
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [
|
||||||
|
id,
|
||||||
|
firstname,
|
||||||
|
surname,
|
||||||
|
emailAddress];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user