getFavouriteExercises method
- String email
Returns all favourite exercises of a user.
Implementation
Future<List<Map<String, dynamic>>> getFavouriteExercises(String email) async {
final userQuery = await firestore
.collection('users')
.where('email', isEqualTo: email)
.get();
if (userQuery.docs.isEmpty) return [];
final userDoc = userQuery.docs.first;
final favoritesSnapshot =
await userDoc.reference.collection('favorites').get();
List<Map<String, dynamic>> exerciseList = [];
for (var favDoc in favoritesSnapshot.docs) {
final exerciseRef = favDoc.data()['exercise'];
if (exerciseRef is DocumentReference) {
final exerciseSnap = await exerciseRef.get();
if (exerciseSnap.exists) {
exerciseList.add(exerciseSnap.data() as Map<String, dynamic>);
}
}
}
return exerciseList;
}