Files
Auto-GPT/frontend/lib/models/skill_tree/skill_node_data.dart
hunteraraujo 774ccc4ed2 Refactor SkillNodeData model for robust JSON deserialization
This commit updates the SkillNodeData class to handle optional or missing JSON fields more robustly. Now, the model provides default values for each field, ensuring that the object can be instantiated successfully even if some JSON fields are missing or set to null.
2023-09-13 17:31:00 -07:00

35 lines
971 B
Dart

import 'package:auto_gpt_flutter_client/models/skill_tree/ground.dart';
import 'package:auto_gpt_flutter_client/models/skill_tree/info.dart';
class SkillNodeData {
final String name;
final List<String> category;
final String task;
final List<String> dependencies;
final int cutoff;
final Ground ground;
final Info info;
SkillNodeData({
required this.name,
required this.category,
required this.task,
required this.dependencies,
required this.cutoff,
required this.ground,
required this.info,
});
factory SkillNodeData.fromJson(Map<String, dynamic> json) {
return SkillNodeData(
name: json['name'] ?? "",
category: List<String>.from(json['category'] ?? []),
task: json['task'] ?? "",
dependencies: List<String>.from(json['dependencies'] ?? []),
cutoff: json['cutoff'] ?? 0,
ground: Ground.fromJson(json['ground'] ?? {}),
info: Info.fromJson(json['info'] ?? {}),
);
}
}