toMap method

Map<String, dynamic> toMap({
  1. bool useCurrentTime = false,
})

Converts the Message instance to a map for Firestore storage.

If useCurrentTime is true, uses the server timestamp for 'timestamp'.

Implementation

Map<String, dynamic> toMap({bool useCurrentTime = false}) {
  return {
    'messageId': messageId,
    'senderId': senderId,
    'receiverId': receiverId,
    'text': text,
    'mediaUrl': mediaUrl,
    'timestamp': useCurrentTime ? FieldValue.serverTimestamp() : timestamp,
    'status': status.toString().split('.').last,
    'type': type.toString().split('.').last,
    'isDeleted': isDeleted,
  };
}