class ExerciseTree { /// treeId late int treeId; /// parentId late int parentId; /// name late String name; /// imageUrl late String imageUrl; /// active late bool active; /// nameTranslation late String nameTranslation; /// sort int? sort; String? internalName; String? description; String? descriptionTranslation; ExerciseTree(); ExerciseTree.fromJson(Map json) { treeId = json['treeId']; name = json['name']; parentId = 0; imageUrl = json['imageUrl']; active = json['active']; nameTranslation = json['translations'] != null && (json['translations']).length > 0 ? json['translations'][0]['name'] : name; descriptionTranslation = json['translations'] != null && (json['translations']).length > 0 && json['translations'][0]['description'] != null ? json['translations'][0]['description'] : description; sort = 99; internalName = json['internalName']; } Map toJson() { return { "treeId": treeId, "parentId": parentId, "name": name, "description": description, "imageUrl": imageUrl, "active": active.toString(), "nameTranslation": nameTranslation, "descriptionTranslation": descriptionTranslation, "sort": sort, }; } @override String toString() => toJson().toString(); ExerciseTree copy(int parentId) { ExerciseTree newTree = ExerciseTree(); newTree.treeId = treeId; newTree.name = name; newTree.imageUrl = imageUrl; newTree.nameTranslation = nameTranslation; if (parentId != -1) { newTree.parentId = parentId; } newTree.active = active; newTree.sort = sort ?? 99; return newTree; } }