getUserByUserID method

Future<User?> getUserByUserID(
  1. String userId
)

Returns a stream of all users from Firebase

Implementation

Future<types.User?> getUserByUserID(String userId) async {
  if (FirebaseChatCore.instance.firebaseUser == null) return null;
  return await FirebaseChatCore.instance
      .getFirebaseFirestore()
      .collection(FirebaseChatCore.instance.config.usersCollectionName)
      .doc(userId)
      .get()
      .then(
    (DocumentSnapshot<Map<String, dynamic>> doc) {
      if (!doc.exists) return null;
      final data = doc.data() ?? {};
      data['createdAt'] = data['createdAt']?.millisecondsSinceEpoch;
      data['id'] = doc.id;
      data['lastSeen'] = data['lastSeen']?.millisecondsSinceEpoch;
      data['updatedAt'] = data['updatedAt']?.millisecondsSinceEpoch;
      return types.User.fromJson(data);
    },
  );
}