Message.fromJson constructor
Message.fromJson(
- Map<String, dynamic> json
)
Implementation
factory Message.fromJson(Map<String, dynamic> json) {
final replyMessageData = json[_replyMessage];
final updateData = json[_update];
final reactionData = json[_reaction];
return Message(
id: json['id']?.toString() ?? '',
message: json['message']?.toString() ?? '',
createdAt:
DateTime.tryParse(json['createdAt'].toString()) ?? DateTime.now(),
sentBy: json['sentBy']?.toString() ?? '',
replyMessage: replyMessageData is Map<String, dynamic>
? ReplyMessage.fromJson(replyMessageData)
: const ReplyMessage(),
reaction: reactionData is Map<String, dynamic>
? Reaction.fromJson(reactionData)
: Reaction(reactions: [], reactedUserIds: []),
messageType: MessageType.tryParse(json['message_type']?.toString()) ??
MessageType.text,
voiceMessageDuration: Duration(
microseconds: int.tryParse(json[_voiceMessageDuration].toString()) ?? 0,
),
status: MessageStatus.tryParse(json['status']?.toString()) ??
MessageStatus.pending,
update: updateData is Map<String, dynamic> ? updateData : null,
updateAt: DateTime.tryParse(json[_updateAt].toString()),
);
}