sendMessage method
dynamic
sendMessage(})
Implementation
sendMessage(ChatModal message,
{
required CollectionReference chatCollection,
String messageType = MessageType.text,
// ChatListModal? chatListModal,
required String chatId,
}) async
{
// customPrint('The notification message is 2: $notificationMessage');
Map<String, dynamic> users = {
// "users": [
// message.from,
// // message.to,
// ],
"users": FieldValue.arrayUnion([message.from]),
'lastMessage': message.message,
'lastMessageType': message.messageType,
ApiKeys.updatedAt: message.createdAt,
message.from: userData!.fullData,
// message.to: otherUserObject,
// "unreadCount_${message.to}": ///unread count get karke plus karna he
};
// users['unreadCount_${message.to}'] = FieldValue.increment(1);
// users['${message.to}']['unreadCount'] = FieldValue.increment(1);
// customPrint('dlkfsl ${users[message.to]['unreadCount']}');
var chatDoc = await chatCollection.doc(chatId).get();
customLogs('The chat exist before status : ${chatDoc.exists}....${message.messageType}: ${message.message}');
try {
if (chatDoc.exists) {
chatCollection
.doc(chatId)
.update(users,);
customPrint('chatddddddddddddddd');
} else {
chatCollection
.doc(chatId)
.set(users);
}
} catch (e) {
customPrint('Error in catch block $e');
}
await chatCollection
.doc(chatId)
.collection('messages')
.add(message.toJson());
}