import 'package:food_hub_app/models/recipe.dart'; import 'package:food_hub_app/utils/http_util.dart'; import 'package:food_hub_app/utils/index.dart'; Future queryRecipeByIdApi(int id) { return HttpUtil().get( "/food/recipe/$id", converter: (data) => Recipe.fromJson(data), ); } Future addRecipeApi(Recipe recipe) { return HttpUtil().post("/food/food/recipe", data: recipe); } Future updateRecipeApi(int id, Recipe recipe) { return HttpUtil().put("/food/food/recipe/$id", data: recipe); } Future deleteRecipeApi(int id) { return HttpUtil().delete("/food/food/recipe/$id"); } Future> queryRecipeByUserApi(int id) { return HttpUtil().get>( "/food/recipe/user/$id", converter: (data) => convertListResponse(data, Recipe.fromJson), ); } Future> queryRecipeUserFavouriteApi() { return HttpUtil().get>( "/food/recipe/user/favourite", converter: (data) => convertListResponse(data, Recipe.fromJson), ); } Future> queryRecipeApi(RecipeQuery recipeQuery) { return HttpUtil().get>( "/food/recipe", queryParameters: recipeQuery.toJson(), converter: (data) => convertListResponse(data, Recipe.fromJson), ); } Future> queryFoodNameListApi() { return HttpUtil().get>( "/food/recipe/name", converter: (data) => convertListResponse(data, (json) => json.toString()), ); } Future addRecordApi(Record record) { return HttpUtil().post("/food/record", data: record); } Future updateRecordApi(int id, Record record) { return HttpUtil().put("/food/record/$id", data: record); } Future deleteRecordApi(int id) { return HttpUtil().delete("/food/record/$id"); } Future addRecipeCommentApi(int id, String content) { return HttpUtil().post("/food/recipe/$id/comment", data: content); } Future addRecipeLikeApi(int id) { return HttpUtil().post("/food/recipe/$id/like"); } Future deleteRecipeLikeApi(int id) { return HttpUtil().delete("/food/recipe/$id/like"); } Future addRecipeFavouriteApi(int id) { return HttpUtil().post("/food/recipe/$id/favourite"); } Future deleteRecipeFavouriteApi(int id) { return HttpUtil().delete("/food/recipe/$id/like"); } Future> queryRecordApi(String startDate, String endDate) { return HttpUtil().get>( "/food/record", queryParameters: {"startDate": startDate, "endDate": endDate}, converter: (data) => convertListResponse(data, Record.fromJson), ); } Future> queryCategoryApi() { return HttpUtil().get>( "/food/category", converter: (data) => convertListResponse(data, (json) => json.toString()), ); }