import 'package:fooder/client/based.dart'; import 'package:fooder/models/product.dart'; class ProductClient extends BasedClient { const ProductClient({required super.apiClient}); Future> list(String q) async { var response = await apiClient.get("/product?${Uri(queryParameters: {"q": q}).query}"); return (response['products'] as List) .map((e) => Product.fromJson(e as Map)) .toList(); } Future getByBarcode(String barcode) async { var response = await apiClient.get( "/product/by_barcode?${Uri(queryParameters: { "barcode": barcode }).query}"); return Product.fromJson(response); } Future create({ required String name, required double protein, required double carb, required double fat, required double fiber, }) async { var response = await apiClient.post("/product", { "name": name, "protein": protein, "carb": carb, "fat": fat, "fiber": fiber, }); return Product.fromJson(response); } }