getTopPlayersOfLevel static method

Future<List<ApexPlayerInfoDTO>> getTopPlayersOfLevel(
  1. RegionValues region,
  2. int challengeId,
  3. Level level, {
  4. int? limit,
  5. Map<String, String>? headers,
})

Return top players for each level.

Level must be MASTER, GRANDMASTER or CHALLENGER

Implementation

static Future<List<ApexPlayerInfoDTO>> getTopPlayersOfLevel(
    RegionValues region, int challengeId, Level level,
    {int? limit, Map<String, String>? headers}) async {
  assert(
      level == Level.challenger ||
          level == Level.grandmaster ||
          level == Level.master,
      "Level must be MASTER, GRANDMASTER or CHALLENGER");
  String url =
      '${region.regionToUrl}/${Qtype.lol.name}/challenges/v1/challenges/$challengeId/leaderboards/by-level/${level.valueToString}';
  if (limit != null) url += '?limit=$limit';
  final topPlayersEachLevel = await ApiUtil.requestApi<
          List<ApexPlayerInfoDTO>, List<dynamic>>(
      url,
      (json) => json
          .map((e) => ApexPlayerInfoDTO.fromJson(e as Map<String, dynamic>))
          .toList(),
      headers);
  return topPlayersEachLevel;
}