toChatMessage static method
Converts a normalized message document's data into a ChatMessage,
resolving the sender against chatEntity's known peers.
docData must already have its timestamp field normalized to a
DateTime by the backend that produced it (see
ChatBackend.fetchMessages).
Implementation
static ChatMessage toChatMessage(
String docRef,
Map<String, dynamic> docData,
ChatEntity chatEntity,
) {
//
return ChatMessage(
user:
chatEntity.peers[docData["userId"]]?.toChatUser() ??
ChatUser(id: docData["userId"], lastName: "", firstName: ""),
text: docData["text"],
medias: docData["photos"] != null
? (docData["photos"] as List).map((e) {
return ChatMedia(
url: e['url'] ?? e ?? "",
fileName: e['fileName'] ?? "",
type: MediaType.image,
);
}).toList()
: [],
createdAt: docData["timestamp"] is DateTime
? docData["timestamp"] as DateTime
: DateTime.now(),
customProperties: {"ref": docRef},
);
}