getWeeklyAlbumChart method

Future<List<Album>?> getWeeklyAlbumChart({
  1. required String user,
  2. DateTime? fromDate,
  3. DateTime? toDate,
})

Get an album chart for a user profile, for a given date range. If no date range is supplied, it will return the most recent album chart for this user.

NOTE: the output list is already ordered by rank.

https://www.last.fm/api/show/user.getWeeklyAlbumChart

Implementation

Future<List<Album>?> getWeeklyAlbumChart({
  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.getWeeklyAlbumChart',
    parameters: parameters,
  );

  final response = await request.send(mode: RequestMode.GET);

  final weeklyAlbumChart = response['weeklyalbumchart']['album'];

  return parseLastFMList<Album>(weeklyAlbumChart, (i) => Album.fromJson(i));
}