getUserByUsername method
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);
},
);
}