add games

This commit is contained in:
2025-12-02 14:55:55 +01:00
parent 975b704553
commit 46ea9d10d3
10 changed files with 634 additions and 76 deletions
+37
View File
@@ -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');
}
}