From b226528042cb7ca9838d55422138af736723ffb1 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Jul 2023 19:36:56 +0200 Subject: [PATCH] fix errors :bug: --- Sources/justMUSIC/lib/model/Artist.dart | 15 ++++++++--- Sources/justMUSIC/lib/model/Music.dart | 26 +++++++++---------- .../lib/view_model/MusicViewModel.dart | 12 ++++----- .../lib/view_model/TokenSpotify.dart | 2 +- Sources/justMUSIC/test/Music_test.dart | 23 ++++++++-------- 5 files changed, 43 insertions(+), 35 deletions(-) diff --git a/Sources/justMUSIC/lib/model/Artist.dart b/Sources/justMUSIC/lib/model/Artist.dart index 1a7ae04..847ab48 100644 --- a/Sources/justMUSIC/lib/model/Artist.dart +++ b/Sources/justMUSIC/lib/model/Artist.dart @@ -1,10 +1,17 @@ class Artist { String _id; - String _name; + String? _name; + String? _image; - Artist(this._id, this._name); + Artist(this._id, this._name, this._image); - String get id => _id; + String? get id => _id; - String get name => _name; + String? get name => _name; + + String? get image => _image; + + set image(String? value) { + _image = value; + } } diff --git a/Sources/justMUSIC/lib/model/Music.dart b/Sources/justMUSIC/lib/model/Music.dart index e50223f..ff3c685 100644 --- a/Sources/justMUSIC/lib/model/Music.dart +++ b/Sources/justMUSIC/lib/model/Music.dart @@ -2,10 +2,10 @@ import 'Artist.dart'; class Music { final String _id; - String _title; - String _cover; - String _previewUrl; - DateTime _date; + String? _title; + String? _cover; + String? _previewUrl; + DateTime? _date; List _artists; // Constructor @@ -13,29 +13,29 @@ class Music { this._artists); //Getters and setters - String get id => _id; + String? get id => _id; - String get title => _title; + String? get title => _title; - set title(String value) { + set title(String? value) { _title = value; } - String get cover => _cover; + String? get cover => _cover; - set cover(String value) { + set cover(String? value) { _cover = value; } - String get previewUrl => _previewUrl; + String? get previewUrl => _previewUrl; - set previewUrl(String value) { + set previewUrl(String? value) { _previewUrl = value; } - DateTime get date => _date; + DateTime? get date => _date; - set date(DateTime value) { + set date(DateTime? value) { _date = value; } diff --git a/Sources/justMUSIC/lib/view_model/MusicViewModel.dart b/Sources/justMUSIC/lib/view_model/MusicViewModel.dart index 5f789ee..514155b 100644 --- a/Sources/justMUSIC/lib/view_model/MusicViewModel.dart +++ b/Sources/justMUSIC/lib/view_model/MusicViewModel.dart @@ -24,7 +24,7 @@ class MusicViewModel { final responseData = jsonDecode(response.body); List artists = List.from(responseData['artists'].map((artist) { - return Artist(artist['id'], artist['name']); + return Artist(artist['id'], artist['name'],''); })); return Music( @@ -46,7 +46,7 @@ class MusicViewModel { List tracks = responseData['tracks']['items']; for (var track in tracks) { List artists = List.from(track['artists'].map((artist) { - return Artist(artist['id'], artist['name']); + return Artist(artist['id'], artist['name'],''); })); musics.add(Music( @@ -61,10 +61,10 @@ class MusicViewModel { return musics; } - Future> getMusicsWithName(String name, {int limit = 20, int offset = 1}) async { + Future> getMusicsWithName(String name, {int limit = 20, int offset = 0, String market = "FR"}) async { var accessToken = await _token.getAccessToken(); var response = await http - .get(Uri.parse('$API_URL/search?q=track%3A$name&type=track&limit=$limit&offset=$offset'), headers: { + .get(Uri.parse('$API_URL/search?q=track%3A$name&type=track&market=fr&limit=$limit&offset=$offset'), headers: { 'Authorization': 'Bearer $accessToken', }); @@ -77,10 +77,10 @@ class MusicViewModel { } } - Future> getMusicsWithArtistName(String name, {int limit = 20, int offset = 1}) async { + Future> getMusicsWithArtistName(String name, {int limit = 20, int offset = 0, String market = "FR"}) async { var accessToken = await _token.getAccessToken(); var response = await http.get( - Uri.parse('$API_URL/search?q=artist%3A$name&type=track&limit=$limit&offset=$offset'), + Uri.parse('$API_URL/search?q=artist%3A$name&type=track&market=fr&limit=$limit&offset=$offset'), headers: { 'Authorization': 'Bearer $accessToken', }); diff --git a/Sources/justMUSIC/lib/view_model/TokenSpotify.dart b/Sources/justMUSIC/lib/view_model/TokenSpotify.dart index fbdffac..a221129 100644 --- a/Sources/justMUSIC/lib/view_model/TokenSpotify.dart +++ b/Sources/justMUSIC/lib/view_model/TokenSpotify.dart @@ -8,7 +8,7 @@ class TokenSpotify { late DateTime _tokenEnd; TokenSpotify() { - _tokenEnd = DateTime.now().add(Duration(seconds: -1)); + _tokenEnd = DateTime.now().add(Duration(seconds: -10)); } Future getAccessToken() async { diff --git a/Sources/justMUSIC/test/Music_test.dart b/Sources/justMUSIC/test/Music_test.dart index a5ef914..eab5022 100644 --- a/Sources/justMUSIC/test/Music_test.dart +++ b/Sources/justMUSIC/test/Music_test.dart @@ -5,31 +5,32 @@ import 'package:justmusic/view_model/MusicViewModel.dart'; Future main() async { MusicViewModel musicVM = new MusicViewModel(); Music m = await musicVM.getMusic('295SxdR1DqunCNwd0U767w'); - print("id :" + m.id.toString() + " cover :" + m.cover + " title :" + m.title); - print(m.date.toString() + " " + m.previewUrl); + + print("id : ${m.id.toString()}, cover : ${m.cover}, title : ${m.title}"); + print("date : ${m.date.toString()}, preview : ${m.previewUrl}"); for (Artist a in m.artists) { - print(a.id + ":" + a.name); + print("id : ${a.id}, name : ${a.name}"); } print('\nMusics :'); - List musics = await musicVM.getMusicsWithName('Onizuka'); + List musics = await musicVM.getMusicsWithName('Shavkat'); for (Music m in musics) { - print("id :" + m.id.toString() + " cover :" + m.cover + " title :" + m.title); - print(m.date.toString() + " " + m.previewUrl); + print("id : ${m.id.toString()}, cover : ${m.cover}, title : ${m.title}"); + print("date : ${m.date.toString()}, preview : ${m.previewUrl}"); for (Artist a in m.artists) { - print(a.id + ":" + a.name); + print("id : ${a.id}, name : ${a.name}"); } } print('\nMusics With Artist:'); - List musics2 = await musicVM.getMusicsWithArtistName('PNL'); + List musics2 = await musicVM.getMusicsWithArtistName('jul'); for (Music m in musics2) { - print("id :" + m.id.toString() + " cover :" + m.cover + " title :" + m.title); - print(m.date.toString() + " " + m.previewUrl); + print("id : ${m.id.toString()}, cover : ${m.cover}, title : ${m.title}"); + print("date : ${m.date.toString()}, preview : ${m.previewUrl}"); for (Artist a in m.artists) { - print(a.id + ":" + a.name); + print("id : ${a.id}, name : ${a.name}"); } } }