Message.fromMap constructor
Creates a Message instance from a Firestore document map.
Implementation
factory Message.fromMap(Map<String, dynamic> map) {
return Message(
messageId: map['messageId'],
senderId: map['senderId'],
receiverId: map['receiverId'],
text: map['text'],
mediaUrl: map['mediaUrl'],
timestamp: (map['timestamp'] as Timestamp?)?.toDate() ?? DateTime.now(),
status: MessageStatus.values.firstWhere(
(e) => e.toString().split('.').last == map['status'],
orElse: () => MessageStatus.unread,
),
type: MessageType.values.firstWhere(
(e) => e.toString().split('.').last == map['type'],
orElse: () => MessageType.text,
),
isDeleted: map['isDeleted'] ?? false,
);
}