class MealPlanRecipe { final int id; final String title; final String? imageUrl; final int? servings; const MealPlanRecipe({ required this.id, required this.title, this.imageUrl, this.servings, }); factory MealPlanRecipe.fromJson(Map json) { final rawId = json['id']; final rawTitle = json['title'] ?? json['name']; final rawServings = json['servings']; final rawImageUrl = json['imageUrl']?.toString().trim(); return MealPlanRecipe( id: rawId is num ? rawId.toInt() : int.parse(rawId.toString()), title: (rawTitle ?? '').toString(), imageUrl: rawImageUrl == null || rawImageUrl.isEmpty ? null : rawImageUrl, servings: rawServings == null ? null : rawServings is num ? rawServings.toInt() : int.tryParse(rawServings.toString()), ); } }