Message.fromMap constructor

Message.fromMap(
  1. Map<String, dynamic> map
)

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,
  );
}