ChatMessage.fromMap constructor

ChatMessage.fromMap(
  1. Map<String, dynamic> map,
  2. String currentUserId
)

Creates a ChatMessage from a Map object

Implementation

factory ChatMessage.fromMap(Map<String, dynamic> map, String currentUserId) {
  return ChatMessage(
    messageId: map['messageId'] ?? '',
    senderId: map['sender'] ?? map['senderId'] ?? '',
    receiverId: map['receiver'] ?? map['receiverId'] ?? '',
    message: map['message'] ?? map['msgText'] ?? '',
    createdAt: map['createdAt'] != null
        ? DateTime.parse(map['createdAt'])
        : (map['timestamp'] != null
            ? DateTime.parse(map['timestamp'])
            : DateTime.now()),
    status: map['status'] ?? 'sent',
    isMine: map['isMine'] ?? (map['sender'] == currentUserId || map['senderId'] == currentUserId),
    attachmentUrl: map['attachmentUrl'],
    attachmentName: map['attachmentName'],
    attachmentType: map['attachmentType'],
  );
}