getAllEntities method

Future<List<Map<String, dynamic>>> getAllEntities(
  1. String url
)
inherited

Implementation

Future<List<Map<String, dynamic>>> getAllEntities(String url) async {
  try {
    List<Map<String, dynamic>> allEntities = [];
    String? nextUrl = url;
    while (nextUrl != null) {
      var response = await _dio.get(nextUrl);
      try {
        var dataInfo = response.data["info"];
        // So, we have info object and pagination
        Info info = Info.fromJson(dataInfo);
        nextUrl = info.next;
        allEntities.addAll(
            List<Map<String, dynamic>>.from(response.data["results"]));
      } catch (e) {
        // We don't have info object and pagination
        allEntities.addAll(List<Map<String, dynamic>>.from(response.data));
        nextUrl = null;
      }
    }

    return allEntities;
  } on DioException {
    rethrow;
  }
}