CommsMessage.fromJson constructor
CommsMessage.fromJson(
- Map<String, dynamic> json
)
Implementation
factory CommsMessage.fromJson(Map<String, dynamic> json) {
final msgId = json['id'] as int? ?? json['message_id'] as int? ?? 0;
final msgText = (json['message_content'] ?? json['content'] ?? '').toString();
return CommsMessage(
id: msgId,
groupId: json['group_id'] as int?,
senderId: json['sender_id'] as int?,
messageContent: msgText,
createdAt: json['created_at'] != null
? DateTime.tryParse(json['created_at'] as String)
: null,
updatedAt: json['updated_at'] != null
? DateTime.tryParse(json['updated_at'] as String)
: null,
sender: json['sender'] != null
? CommsUser.fromJson(json['sender'] as Map<String, dynamic>)
: null,
readInfo: (json['read_info'] as List?)
?.map((e) => CommsReadInfo.fromJson(e as Map<String, dynamic>))
.toList() ??
[],
deliveryInfo: (json['delivery_info'] as List?)
?.map((e) => CommsDeliveryInfo.fromJson(e as Map<String, dynamic>))
.toList() ??
[],
overallStatus: json['overall_status'] as String? ?? 'sent',
attachments: (json['attachments'] as List?)
?.map((e) => CommsAttachment.fromJson(e as Map<String, dynamic>))
.toList() ??
[],
reactions: json['reactions'] as List? ?? [],
replyTo: json['reply_to'] != null
? CommsMessage.fromJson(json['reply_to'] as Map<String, dynamic>)
: null,
mentions: json['mentions'] as List? ?? [],
messageId: json['message_id'] as int?,
content: json['content'] as String?,
lastMessage: json['last_message'] != null
? CommsMessage.fromJson(json['last_message'] as Map<String, dynamic>)
: null,
);
}