mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
refactor: remove uncessary methods
This commit is contained in:
parent
6067314c5a
commit
4f2175987d
@ -109,58 +109,6 @@ class CustomSpotifyEndpoints {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _addList(
|
|
||||||
Map<String, String> parameters, String key, Iterable<String> paramList) {
|
|
||||||
if (paramList.isNotEmpty) {
|
|
||||||
parameters[key] = paramList.join(',');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void _addTunableTrackMap(
|
|
||||||
Map<String, String> parameters, Map<String, num>? tunableTrackMap) {
|
|
||||||
if (tunableTrackMap != null) {
|
|
||||||
parameters.addAll(tunableTrackMap.map<String, String>((k, v) =>
|
|
||||||
MapEntry(k, v is int ? v.toString() : v.toStringAsFixed(2))));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<List<Track>> getRecommendations({
|
|
||||||
Iterable<String>? seedArtists,
|
|
||||||
Iterable<String>? seedGenres,
|
|
||||||
Iterable<String>? seedTracks,
|
|
||||||
int limit = 20,
|
|
||||||
Market? market,
|
|
||||||
Map<String, num>? max,
|
|
||||||
Map<String, num>? min,
|
|
||||||
Map<String, num>? target,
|
|
||||||
}) async {
|
|
||||||
assert(limit >= 1 && limit <= 100, 'limit should be 1 <= limit <= 100');
|
|
||||||
final seedsNum = (seedArtists?.length ?? 0) +
|
|
||||||
(seedGenres?.length ?? 0) +
|
|
||||||
(seedTracks?.length ?? 0);
|
|
||||||
assert(
|
|
||||||
seedsNum >= 1 && seedsNum <= 5,
|
|
||||||
'Up to 5 seed values may be provided in any combination of seed_artists,'
|
|
||||||
' seed_tracks and seed_genres.');
|
|
||||||
final parameters = <String, String>{'limit': limit.toString()};
|
|
||||||
final _ = {
|
|
||||||
'seed_artists': seedArtists,
|
|
||||||
'seed_genres': seedGenres,
|
|
||||||
'seed_tracks': seedTracks
|
|
||||||
}.forEach((key, list) => _addList(parameters, key, list!));
|
|
||||||
if (market != null) parameters['market'] = market.name;
|
|
||||||
for (var map in [min, max, target]) {
|
|
||||||
_addTunableTrackMap(parameters, map);
|
|
||||||
}
|
|
||||||
final pathQuery =
|
|
||||||
"$_baseUrl/recommendations?${parameters.entries.map((e) => '${e.key}=${e.value}').join('&')}";
|
|
||||||
final res = await _client.getUri(Uri.parse(pathQuery));
|
|
||||||
final result = res.data;
|
|
||||||
return List.castFrom<dynamic, Track>(
|
|
||||||
result["tracks"].map((track) => Track.fromJson(track)).toList(),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<SpotifyFriends> getFriendActivity() async {
|
Future<SpotifyFriends> getFriendActivity() async {
|
||||||
final res = await _client.getUri(
|
final res = await _client.getUri(
|
||||||
Uri.parse("https://guc-spclient.spotify.com/presence-view/v1/buddylist"),
|
Uri.parse("https://guc-spclient.spotify.com/presence-view/v1/buddylist"),
|
||||||
|
28
pubspec.lock
28
pubspec.lock
@ -1242,10 +1242,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: intl
|
name: intl
|
||||||
sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
|
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.18.1"
|
version: "0.19.0"
|
||||||
introduction_screen:
|
introduction_screen:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -1298,26 +1298,26 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker
|
name: leak_tracker
|
||||||
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
|
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.0.0"
|
version: "10.0.4"
|
||||||
leak_tracker_flutter_testing:
|
leak_tracker_flutter_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker_flutter_testing
|
name: leak_tracker_flutter_testing
|
||||||
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
|
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "3.0.3"
|
||||||
leak_tracker_testing:
|
leak_tracker_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker_testing
|
name: leak_tracker_testing
|
||||||
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
|
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "3.0.1"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -1458,10 +1458,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
|
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.11.0"
|
version: "1.12.0"
|
||||||
metadata_god:
|
metadata_god:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -2146,10 +2146,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
|
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.1"
|
version: "0.7.0"
|
||||||
time:
|
time:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -2354,10 +2354,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
|
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "13.0.0"
|
version: "14.2.1"
|
||||||
watcher:
|
watcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
Loading…
Reference in New Issue
Block a user