sendChat2Message function

Future<String?> sendChat2Message(
  1. String text,
  2. String stringChatMessage
)

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;
}