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