loadGame function
get the List<Game> from api
Implementation
Future<List<Game>> loadGame(int page, Ordering? ordering, String? query,
String? platforms, String? genres) async {
Map<String, dynamic> queryParameters = {
"key": Rawg.key,
"page_size": 100,
"page": page,
"search": query?.toLowerCase(),
"orderig": Utils.orderingFormat(ordering),
"genres": genres,
"platforms": platforms,
};
queryParameters.removeWhere((key, value) => value == null);
Response response = await RawgUtils.dio.get(
'${RawgUtils.baseUrl}/games',
queryParameters: queryParameters,
options: Options(
validateStatus: (status) => true,
),
);
if (response.statusCode! != 200) {
throw RawgException(
"Request not in 200 OK",
response.statusCode ?? -1,
);
}
if (response.data["error"] != null || response.data["details"] != null) {
throw RawgException(
response.data["error"] ?? response.data["details"],
response.statusCode ?? -1,
);
}
List<Game> results = [];
if (response.data['results'] == null) {
return [];
}
response.data['results'].forEach((v) {
results.add(Game.fromJson(v));
});
return results;
}