140 lines
3.3 KiB
Dart
140 lines
3.3 KiB
Dart
class ContactModel {
|
|
final String id;
|
|
final List<String>? projectIds;
|
|
final String name;
|
|
final String? designation;
|
|
final List<ContactPhone> contactPhones;
|
|
final List<ContactEmail> contactEmails;
|
|
final ContactCategory? contactCategory;
|
|
final List<String> bucketIds;
|
|
final String description;
|
|
final String organization;
|
|
final String address;
|
|
final List<Tag> tags;
|
|
|
|
ContactModel({
|
|
required this.id,
|
|
required this.projectIds,
|
|
required this.name,
|
|
this.designation,
|
|
required this.contactPhones,
|
|
required this.contactEmails,
|
|
required this.contactCategory,
|
|
required this.bucketIds,
|
|
required this.description,
|
|
required this.organization,
|
|
required this.address,
|
|
required this.tags,
|
|
});
|
|
|
|
factory ContactModel.fromJson(Map<String, dynamic> json) {
|
|
return ContactModel(
|
|
id: json['id'],
|
|
projectIds: (json['projectIds'] as List?)?.map((e) => e as String).toList(),
|
|
name: json['name'],
|
|
designation: json['designation'],
|
|
contactPhones: (json['contactPhones'] as List)
|
|
.map((e) => ContactPhone.fromJson(e))
|
|
.toList(),
|
|
contactEmails: (json['contactEmails'] as List)
|
|
.map((e) => ContactEmail.fromJson(e))
|
|
.toList(),
|
|
contactCategory: json['contactCategory'] != null
|
|
? ContactCategory.fromJson(json['contactCategory'])
|
|
: null,
|
|
bucketIds: (json['bucketIds'] as List).map((e) => e as String).toList(),
|
|
description: json['description'],
|
|
organization: json['organization'],
|
|
address: json['address'],
|
|
tags: (json['tags'] as List).map((e) => Tag.fromJson(e)).toList(),
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
class ContactPhone {
|
|
final String id;
|
|
final String label;
|
|
final String phoneNumber;
|
|
final String contactId;
|
|
|
|
ContactPhone({
|
|
required this.id,
|
|
required this.label,
|
|
required this.phoneNumber,
|
|
required this.contactId,
|
|
});
|
|
|
|
factory ContactPhone.fromJson(Map<String, dynamic> json) {
|
|
return ContactPhone(
|
|
id: json['id'],
|
|
label: json['label'],
|
|
phoneNumber: json['phoneNumber'],
|
|
contactId: json['contactId'],
|
|
);
|
|
}
|
|
}
|
|
|
|
class ContactEmail {
|
|
final String id;
|
|
final String label;
|
|
final String emailAddress;
|
|
final String contactId;
|
|
|
|
ContactEmail({
|
|
required this.id,
|
|
required this.label,
|
|
required this.emailAddress,
|
|
required this.contactId,
|
|
});
|
|
|
|
factory ContactEmail.fromJson(Map<String, dynamic> json) {
|
|
return ContactEmail(
|
|
id: json['id'],
|
|
label: json['label'],
|
|
emailAddress: json['emailAddress'],
|
|
contactId: json['contactId'],
|
|
);
|
|
}
|
|
}
|
|
|
|
class ContactCategory {
|
|
final String id;
|
|
final String name;
|
|
final String description;
|
|
|
|
ContactCategory({
|
|
required this.id,
|
|
required this.name,
|
|
required this.description,
|
|
});
|
|
|
|
factory ContactCategory.fromJson(Map<String, dynamic> json) {
|
|
return ContactCategory(
|
|
id: json['id'],
|
|
name: json['name'],
|
|
description: json['description'],
|
|
);
|
|
}
|
|
}
|
|
|
|
class Tag {
|
|
final String id;
|
|
final String name;
|
|
final String description;
|
|
|
|
Tag({
|
|
required this.id,
|
|
required this.name,
|
|
required this.description,
|
|
});
|
|
|
|
factory Tag.fromJson(Map<String, dynamic> json) {
|
|
return Tag(
|
|
id: json['id'],
|
|
name: json['name'],
|
|
description: json['description'],
|
|
);
|
|
}
|
|
}
|