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> submitReport(BenchmarkRun benchmarkRun) async { try { return await api.put( 'api/reports', benchmarkRun.toJson(), apiType: ApiType.leaderboard, ); } catch (e) { throw Exception('Failed to submit the report to the leaderboard: $e'); } } }