sendChat2Message function
Implementation
Future<String?> sendChat2Message(String text,
String stringChatMessage, /// strings.get(183) "Chat message"
) async{
User? user = FirebaseAuth.instance.currentUser;
if (user == null)
return "User == null";
_me.add(ChatMessageData(text, DateTime.now().toUtc(), user.uid, false));
try{
await FirebaseFirestore.instance.collection("chat")
.doc(userForChat.id).set({
"from_${user.uid}": text,
"time_${user.uid}": DateTime.now().toUtc(),
'count_${user.uid}': _me.length,
'unread_${user.uid}': FieldValue.increment(1),
"unread_chat" : FieldValue.increment(1)
}, SetOptions(merge: true));
await FirebaseFirestore.instance.collection("chat")
.doc(user.uid).set({
"from_${userForChat.id}": text,
"time_${userForChat.id}": FieldValue.serverTimestamp(),
//
"name": userAccountData.userName,
userForChat.id: _me.map((i) => i.toJson()).toList(),
"to_${userForChat.id}": text,
"to_time_${userForChat.id}": FieldValue.serverTimestamp(),
}, SetOptions(merge: true));
sendMessage(text, stringChatMessage, userForChat.id, false, appSettings.cloudKey);
}catch(ex){
return "sendChat2Message " + ex.toString();
}
return null;
}