getPackageInfo method
Implementation
@override
Future<List<PackageInfo>> getPackageInfo({
required String category,
required String apiKey,
required String platform,
}) async {
try {
final response = await _dioClient.post(
'https://cybercore.m7corporation.com/api/getpackagelist/',
data: {'category': category, 'api_key': apiKey, 'platform': platform},
);
if (response.statusCode == 200) {
return (response.data as List)
.map((e) => PackageInfo.fromJson(e))
.toList();
} else {
throw ServerException(message: 'Failed to fetch package info');
}
} catch (e) {
if (e is DioException && e.response?.statusCode == 404) {
throw ResponseException(
message: e.response!.data['message'].toString(),
);
} else if (e is DioException && e.response?.statusCode == 500) {
throw ResponseException(message: e.response!.data.toString());
}
throw ServerException(message: e.toString());
}
}