users method
Returns a stream of all users from Firebase.
Implementation
Stream<List<types.User>> users() {
if (firebaseUser == null) return const Stream.empty();
return getFirebaseFirestore()
.collection(config.usersCollectionName)
.snapshots()
.map(
(snapshot) => snapshot.docs.fold<List<types.User>>(
[],
(previousValue, doc) {
if (firebaseUser!.uid == doc.id) return previousValue;
final data = doc.data();
data['createdAt'] = data['createdAt']?.millisecondsSinceEpoch;
data['id'] = doc.id;
data['lastSeen'] = data['lastSeen']?.millisecondsSinceEpoch;
data['updatedAt'] = data['updatedAt']?.millisecondsSinceEpoch;
return [...previousValue, types.User.fromJson(data)];
},
),
);
}