146 lines
3.8 KiB
Dart
146 lines
3.8 KiB
Dart
class DirectoryCommentResponse {
|
|
final bool success;
|
|
final String message;
|
|
final List<DirectoryComment> data;
|
|
final int statusCode;
|
|
final String? timestamp;
|
|
|
|
DirectoryCommentResponse({
|
|
required this.success,
|
|
required this.message,
|
|
required this.data,
|
|
required this.statusCode,
|
|
this.timestamp,
|
|
});
|
|
|
|
factory DirectoryCommentResponse.fromJson(Map<String, dynamic> json) {
|
|
return DirectoryCommentResponse(
|
|
success: json['success'] ?? false,
|
|
message: json['message'] ?? '',
|
|
data: (json['data'] as List<dynamic>?)
|
|
?.map((e) => DirectoryComment.fromJson(e))
|
|
.toList() ??
|
|
[],
|
|
statusCode: json['statusCode'] ?? 0,
|
|
timestamp: json['timestamp'],
|
|
);
|
|
}
|
|
}
|
|
|
|
class DirectoryComment {
|
|
final String id;
|
|
final String note;
|
|
final String contactName;
|
|
final String organizationName;
|
|
final DateTime createdAt;
|
|
final CommentUser createdBy;
|
|
final DateTime? updatedAt;
|
|
final CommentUser? updatedBy;
|
|
final String contactId;
|
|
final bool isActive;
|
|
|
|
DirectoryComment({
|
|
required this.id,
|
|
required this.note,
|
|
required this.contactName,
|
|
required this.organizationName,
|
|
required this.createdAt,
|
|
required this.createdBy,
|
|
this.updatedAt,
|
|
this.updatedBy,
|
|
required this.contactId,
|
|
required this.isActive,
|
|
});
|
|
|
|
factory DirectoryComment.fromJson(Map<String, dynamic> json) {
|
|
return DirectoryComment(
|
|
id: json['id'] ?? '',
|
|
note: json['note'] ?? '',
|
|
contactName: json['contactName'] ?? '',
|
|
organizationName: json['organizationName'] ?? '',
|
|
createdAt: DateTime.parse(json['createdAt']),
|
|
createdBy: CommentUser.fromJson(json['createdBy']),
|
|
updatedAt:
|
|
json['updatedAt'] != null ? DateTime.parse(json['updatedAt']) : null,
|
|
updatedBy: json['updatedBy'] != null
|
|
? CommentUser.fromJson(json['updatedBy'])
|
|
: null,
|
|
contactId: json['contactId'] ?? '',
|
|
isActive: json['isActive'] ?? true,
|
|
);
|
|
}
|
|
|
|
DirectoryComment copyWith({
|
|
String? id,
|
|
String? note,
|
|
String? contactName,
|
|
String? organizationName,
|
|
DateTime? createdAt,
|
|
CommentUser? createdBy,
|
|
DateTime? updatedAt,
|
|
CommentUser? updatedBy,
|
|
String? contactId,
|
|
bool? isActive,
|
|
}) {
|
|
return DirectoryComment(
|
|
id: id ?? this.id,
|
|
note: note ?? this.note,
|
|
contactName: contactName ?? this.contactName,
|
|
organizationName: organizationName ?? this.organizationName,
|
|
createdAt: createdAt ?? this.createdAt,
|
|
createdBy: createdBy ?? this.createdBy,
|
|
updatedAt: updatedAt ?? this.updatedAt,
|
|
updatedBy: updatedBy ?? this.updatedBy,
|
|
contactId: contactId ?? this.contactId,
|
|
isActive: isActive ?? this.isActive,
|
|
);
|
|
}
|
|
}
|
|
|
|
class CommentUser {
|
|
final String id;
|
|
final String firstName;
|
|
final String lastName;
|
|
final String? photo;
|
|
final String jobRoleId;
|
|
final String jobRoleName;
|
|
|
|
CommentUser({
|
|
required this.id,
|
|
required this.firstName,
|
|
required this.lastName,
|
|
this.photo,
|
|
required this.jobRoleId,
|
|
required this.jobRoleName,
|
|
});
|
|
|
|
factory CommentUser.fromJson(Map<String, dynamic> json) {
|
|
return CommentUser(
|
|
id: json['id'] ?? '',
|
|
firstName: json['firstName'] ?? '',
|
|
lastName: json['lastName'] ?? '',
|
|
photo: json['photo'],
|
|
jobRoleId: json['jobRoleId'] ?? '',
|
|
jobRoleName: json['jobRoleName'] ?? '',
|
|
);
|
|
}
|
|
|
|
CommentUser copyWith({
|
|
String? id,
|
|
String? firstName,
|
|
String? lastName,
|
|
String? photo,
|
|
String? jobRoleId,
|
|
String? jobRoleName,
|
|
}) {
|
|
return CommentUser(
|
|
id: id ?? this.id,
|
|
firstName: firstName ?? this.firstName,
|
|
lastName: lastName ?? this.lastName,
|
|
photo: photo ?? this.photo,
|
|
jobRoleId: jobRoleId ?? this.jobRoleId,
|
|
jobRoleName: jobRoleName ?? this.jobRoleName,
|
|
);
|
|
}
|
|
}
|