import '../../core/api/api_client.dart'; import '../../shared/models/recipe.dart'; import '../../shared/models/saved_recipe.dart'; class RecipeService { final ApiClient _apiClient; RecipeService(this._apiClient); Future> getRecommendations({int count = 5}) async { final data = await _apiClient.getList( '/recommendations', params: {'count': '$count'}, ); return data .map((e) => Recipe.fromJson(e as Map)) .toList(); } Future> getSavedRecipes() async { final data = await _apiClient.getList('/saved-recipes'); return data .map((e) => SavedRecipe.fromJson(e as Map)) .toList(); } Future saveRecipe(Recipe recipe) async { final body = recipe.toJson()..['source'] = 'ai'; final response = await _apiClient.post('/saved-recipes', data: body); return SavedRecipe.fromJson(response); } Future deleteSavedRecipe(String id) async { await _apiClient.deleteVoid('/saved-recipes/$id'); } }