Integrate BenchmarkService into SkillTreeViewModel with Incomplete Methods

This commit extends the `SkillTreeViewModel` to include `BenchmarkService` as a dependency. This integration allows for leveraging benchmark-related API calls within the skill tree logic.

Two new methods have been added to `SkillTreeViewModel`:

1. `callGenerateReport`: This method attempts to call the `generateReport` function from the `BenchmarkService`. Currently, it only prints the API response and is incomplete in terms of full functionality.

2. `callPollUpdates`: Similar to `callGenerateReport`, this method aims to call `pollUpdates` from `BenchmarkService` and prints the API response. This is also incomplete and will require further development.

Both methods are preliminary and will require additional features to become fully functional.
pull/5220/head
hunteraraujo 2023-09-14 20:07:18 -07:00
parent 16efb96409
commit a97e0dbe62
1 changed files with 26 additions and 0 deletions

View File

@ -1,12 +1,16 @@
import 'dart:convert';
import 'package:auto_gpt_flutter_client/models/benchmark_service/report_request_body.dart';
import 'package:auto_gpt_flutter_client/models/skill_tree/skill_tree_edge.dart';
import 'package:auto_gpt_flutter_client/models/skill_tree/skill_tree_node.dart';
import 'package:auto_gpt_flutter_client/services/benchmark_service.dart';
import 'package:collection/collection.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:graphview/GraphView.dart';
class SkillTreeViewModel extends ChangeNotifier {
final BenchmarkService benchmarkService;
List<SkillTreeNode> _skillTreeNodes = [];
List<SkillTreeEdge> _skillTreeEdges = [];
SkillTreeNode? _selectedNode;
@ -18,6 +22,8 @@ class SkillTreeViewModel extends ChangeNotifier {
final Graph graph = Graph()..isTree = true;
BuchheimWalkerConfiguration builder = BuchheimWalkerConfiguration();
SkillTreeViewModel(this.benchmarkService);
Future<void> initializeSkillTree() async {
try {
resetState();
@ -119,6 +125,26 @@ class SkillTreeViewModel extends ChangeNotifier {
}
}
// TODO: Update to actual implementation
Future<void> callGenerateReport(ReportRequestBody reportRequestBody) async {
try {
final result = await benchmarkService.generateReport(reportRequestBody);
print("Report generated: $result");
} catch (e) {
print("Failed to generate report: $e");
}
}
// TODO: Update to actual implementation
Future<void> callPollUpdates(int lastUpdateTime) async {
try {
final result = await benchmarkService.pollUpdates(lastUpdateTime);
print("Updates polled: $result");
} catch (e) {
print("Failed to poll updates: $e");
}
}
// Getter to expose nodes for the View
List<SkillTreeNode> get skillTreeNodes => _skillTreeNodes;