add games
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import '../../core/config.dart';
|
||||
|
||||
class IgdbApi {
|
||||
final Dio _dio;
|
||||
|
||||
IgdbApi()
|
||||
: _dio = Dio(
|
||||
BaseOptions(
|
||||
baseUrl: AppConfig.backendBaseUrl,
|
||||
headers: const {'Accept': 'application/json'},
|
||||
),
|
||||
);
|
||||
|
||||
Future<List<Map<String, dynamic>>> searchGames(String query,
|
||||
{int limit = 20, String lang = 'de'}) async {
|
||||
final res = await _dio.get(
|
||||
'',
|
||||
queryParameters: {
|
||||
'action': 'search',
|
||||
'query': query,
|
||||
'limit': limit,
|
||||
'lang': lang,
|
||||
'check_external': 1,
|
||||
},
|
||||
);
|
||||
if (res.statusCode != 200) {
|
||||
throw Exception('IGDB search HTTP ${res.statusCode}');
|
||||
}
|
||||
final data = res.data;
|
||||
if (data is Map && data['results'] is List) {
|
||||
return (data['results'] as List).cast<Map<String, dynamic>>();
|
||||
}
|
||||
throw Exception('IGDB search: unerwartetes Antwortformat');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user