Get, add and delete Favorite Musics done
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
120735e0c6
commit
c8b93c51cd
@ -0,0 +1,46 @@
|
|||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
addFavoriteMusic(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});
|
||||||
|
} else {
|
||||||
|
print("Add error: The music is not in the user's favorite music list");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1 +1,3 @@
|
|||||||
const geoKey = "85a2724ad38b3994c2b7ebe1d239bbff";
|
const geoKey = "85a2724ad38b3994c2b7ebe1d239bbff";
|
||||||
|
const clientId = "d9b82921bbdf43efa15d0c34c28c6f93";
|
||||||
|
const clientSecret = "ba01687f59ea4ab7ad00c769e89e44d8";
|
Loading…
Reference in new issue