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.
This commit is contained in:
hunteraraujo
2023-09-14 20:07:18 -07:00
parent 16efb96409
commit a97e0dbe62

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;