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 geoKey = "85a2724ad38b3994c2b7ebe1d239bbff";
|
||||||
|
const clientId = "d9b82921bbdf43efa15d0c34c28c6f93";
|
||||||
|
const clientSecret = "ba01687f59ea4ab7ad00c769e89e44d8";
|
||||||
|
const keyApiFirebase =
|
||||||
|
"AAAA56TmIPg:APA91bFeKMr_i6CbUuuUdFI1XkdaNE2A7OVHzxrPIsOSlDfhR6qzZwof7JNGxthWUKj1dRHQMheWNYaLbf3AtXUp9o4DX_gB2073yR4urqUEh9CjvnxVws_9g1cWMgmFS3EpaQEA3icC";
|
||||||
|
Loading…
Reference in new issue