getWeeklyTrackChart method
Get a track chart for a user profile, for a given date range. If no date range is supplied, it will return the most recent track chart for this user.
NOTE: the output list is already ordered by rank.
Implementation
Future<List<Track>?> getWeeklyTrackChart({
required String user,
DateTime? fromDate,
DateTime? toDate,
}) async {
final parameters = {
'user': user,
'from': LastFMValueNormalizer.DateTimeToUnixTime(fromDate),
'to': LastFMValueNormalizer.DateTimeToUnixTime(toDate),
};
// TODO: is the rank necessary!?
final request = Request(
api: _api,
method: 'user.getWeeklyTrackChart',
parameters: parameters,
);
final response = await request.send(mode: RequestMode.GET);
final weeklyTrackChart = response['weeklytrackchart']['track'];
return weeklyTrackChart == null
? null
: List.generate(
(weeklyTrackChart as List).length,
(i) => Track.fromJson(weeklyTrackChart[i]),
);
}