getUserByUsername method

Future<User?> getUserByUsername(
  1. String username
)

Returns a stream of all users from Firebase

Implementation

Future<types.User?> getUserByUsername(String username) async {
  if (FirebaseChatCore.instance.firebaseUser == null) return null;
  return await FirebaseChatCore.instance
      .getFirebaseFirestore()
      .collection(FirebaseChatCore.instance.config.usersCollectionName)
      .where("metadata.username", isEqualTo: username)
      .get()
      .then(
    (docs) {
      if (docs.size <= 0) return null;
      final doc = docs.docs[0];
      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);
    },
  );
}