import 'package:p_tits_pas/models/parent_child_summary.dart'; import 'package:p_tits_pas/models/user.dart'; class ParentModel { final AppUser user; final int childrenCount; final List children; ParentModel({ required this.user, this.childrenCount = 0, this.children = const [], }); factory ParentModel.fromJson(Map json) { final userJson = Map.from(json['user'] ?? json); if (json['numero_dossier'] != null && userJson['numero_dossier'] == null) { userJson['numero_dossier'] = json['numero_dossier']; } final user = AppUser.fromJson(userJson); final children = []; final links = json['parentChildren'] as List?; if (links != null) { for (final link in links) { if (link is Map && link['child'] is Map) { children.add( ParentChildSummary.fromJson(link['child'] as Map), ); } } } return ParentModel( user: user, childrenCount: children.isNotEmpty ? children.length : (links?.length ?? 0), children: children, ); } }