startnewchat method

dynamic startnewchat(
  1. String uid,
  2. String uid2,
  3. Map<String, dynamic> chatmessage
)

Implementation

startnewchat(
    String uid, String uid2, Map<String, dynamic> chatmessage) async {
  DocumentReference chatdoc = await chats.add({
    "user1": uid,
    "user2": uid2,
  });

  await chatdoc.update({"chatid": chatdoc.id});

  usercoll.doc(uid).update({
    "chatswith": FieldValue.arrayUnion([uid + "_" + uid2])
  });
  usercoll.doc(uid2).update({
    "chatswith": FieldValue.arrayUnion([uid2 + "_" + uid])
  });

  chats.doc(chatdoc.id).collection("messages").add(chatmessage);
  chats.doc(chatdoc.id).update({
    "recentmessages": chatmessage['message'],
    "recentsender": chatmessage['sender'],
    "recentmessagetime": chatmessage['time'].toString(),
  });
}