import '../../../core/api/api_client.dart'; import '../../../core/api/api_paths.dart'; import '../domain/pantry_item.dart'; import '../domain/pantry_product.dart'; class PantryRepository { final ApiClient _api; const PantryRepository(this._api); Future> fetchPantry({String? token}) async { final data = await _api.getJson(PantryApiPaths.list, token: token); final list = data as List; return list .map((e) => PantryItem.fromJson(e as Map)) .toList(); } Future> fetchProducts({String? token}) async { final data = await _api.getJson(ProductApiPaths.list, token: token); final list = data as List; return list .map((e) => PantryProduct.fromJson(e as Map)) .toList(); } Future createPantryItem(int productId, {String? token}) async { final data = await _api.postJson( PantryApiPaths.list, body: {'productId': productId}, token: token, ); return PantryItem.fromJson(data as Map); } Future deletePantryItem(int id, {String? token}) async { await _api.deleteJson(PantryApiPaths.remove(id), token: token); } }