Files
Auto-GPT/frontend/lib/services/leaderboard_service.dart
hunteraraujo a0512254ca Add LeaderboardService with submitReport Method
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.
2023-09-20 14:38:48 -07:00

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');
}
}
}