mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-19 06:54:22 +01:00
This commit adds a new `LeaderboardService` class featuring a `submitReport` method. This method allows for the submission of `BenchmarkRun` objects to the leaderboard via a POST request to the `/api/reports` endpoint. The new service uses the `ApiType.leaderboard` enum value.
25 lines
790 B
Dart
25 lines
790 B
Dart
import 'package:auto_gpt_flutter_client/models/benchmark/api_type.dart';
|
|
import 'package:auto_gpt_flutter_client/models/benchmark/benchmark_run.dart';
|
|
import 'package:auto_gpt_flutter_client/utils/rest_api_utility.dart';
|
|
|
|
class LeaderboardService {
|
|
final RestApiUtility api;
|
|
|
|
LeaderboardService(this.api);
|
|
|
|
/// Submits a benchmark report to the leaderboard.
|
|
///
|
|
/// [benchmarkRun] is a BenchmarkRun object representing the data of a completed benchmark.
|
|
Future<Map<String, dynamic>> submitReport(BenchmarkRun benchmarkRun) async {
|
|
try {
|
|
return await api.post(
|
|
'api/reports',
|
|
benchmarkRun.toJson(),
|
|
apiType: ApiType.leaderboard,
|
|
);
|
|
} catch (e) {
|
|
throw Exception('Failed to submit the report to the leaderboard: $e');
|
|
}
|
|
}
|
|
}
|