commit
18eacc6e56
@ -0,0 +1,49 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
|
||||
import '../main.dart';
|
||||
|
||||
class MusicService {
|
||||
Future<dynamic> getFavoriteMusicsByUserId(String id) async {
|
||||
var response =
|
||||
await FirebaseFirestore.instance.collection("users").doc(id).get();
|
||||
if (response.exists) {
|
||||
var musicFavorite = response.get("musics_likes");
|
||||
return List.from(musicFavorite);
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
deleteFavoriteMusic(String id) async {
|
||||
var userRef = await FirebaseFirestore.instance
|
||||
.collection("users")
|
||||
.doc(MyApp.userViewModel.userCurrent.id);
|
||||
var response = await userRef.get();
|
||||
|
||||
List<dynamic> musicFavorite = List.from(response.get("musics_likes"));
|
||||
if (!musicFavorite.contains(id)) {
|
||||
musicFavorite.remove(id);
|
||||
await userRef.update({"musics_likes": musicFavorite});
|
||||
} else {
|
||||
print("Delete error: The music is not in the user's favorite music list");
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> addOrDeleteFavoriteMusic(String id) async {
|
||||
var userRef = await FirebaseFirestore.instance
|
||||
.collection("users")
|
||||
.doc(MyApp.userViewModel.userCurrent.id);
|
||||
var response = await userRef.get();
|
||||
|
||||
List<dynamic> musicFavorite = List.from(response.get("musics_likes"));
|
||||
if (!musicFavorite.contains(id)) {
|
||||
musicFavorite.add(id);
|
||||
await userRef.update({"musics_likes": musicFavorite});
|
||||
return false;
|
||||
} else {
|
||||
musicFavorite.remove(id);
|
||||
await userRef.update({"musics_likes": musicFavorite});
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@ -1 +1,5 @@
|
||||
const geoKey = "85a2724ad38b3994c2b7ebe1d239bbff";
|
||||
const clientId = "d9b82921bbdf43efa15d0c34c28c6f93";
|
||||
const clientSecret = "ba01687f59ea4ab7ad00c769e89e44d8";
|
||||
const keyApiFirebase =
|
||||
"AAAA56TmIPg:APA91bFeKMr_i6CbUuuUdFI1XkdaNE2A7OVHzxrPIsOSlDfhR6qzZwof7JNGxthWUKj1dRHQMheWNYaLbf3AtXUp9o4DX_gB2073yR4urqUEh9CjvnxVws_9g1cWMgmFS3EpaQEA3icC";
|
||||
|
Loading…
Reference in new issue