104 lines
2.9 KiB
Dart
104 lines
2.9 KiB
Dart
import 'package:flutter_common/utils/convert_utils.dart';
|
|
import 'package:flutter_common/utils/http_utils.dart';
|
|
import 'package:food_hub_app/config/app_config.dart';
|
|
import 'package:food_hub_app/models/recipe.dart';
|
|
import 'package:food_hub_app/utils/index.dart';
|
|
|
|
final httpUtil = HttpUtil(baseUrl: AppConfig.baseApiUrl);
|
|
|
|
Future<RecipeDetail> queryRecipeByIdApi(int id) {
|
|
return httpUtil.get<RecipeDetail>(
|
|
"/food/recipe/$id",
|
|
converter: (data) => RecipeDetail.fromJson(data),
|
|
);
|
|
}
|
|
|
|
Future<bool> addRecipeApi(Recipe recipe) {
|
|
return httpUtil.post<bool>("/food/recipe", data: recipe);
|
|
}
|
|
|
|
Future<bool> updateRecipeApi(int id, Recipe recipe) {
|
|
return httpUtil.put<bool>("/food/recipe/$id", data: recipe);
|
|
}
|
|
|
|
Future<bool> deleteRecipeApi(int id) {
|
|
return httpUtil.delete<bool>("/food/recipe/$id");
|
|
}
|
|
|
|
Future<List<Recipe>> queryRecipeByUserApi(int id) {
|
|
return httpUtil.get<List<Recipe>>(
|
|
"/food/recipe/user/$id",
|
|
converter: (data) => convertList<Recipe>(data, Recipe.fromJson),
|
|
);
|
|
}
|
|
|
|
Future<List<Recipe>> queryRecipeUserFavouriteApi() {
|
|
return httpUtil.get<List<Recipe>>(
|
|
"/food/recipe/user/favourite",
|
|
converter: (data) => convertList<Recipe>(data, Recipe.fromJson),
|
|
);
|
|
}
|
|
|
|
Future<List<RecipeSummary>> queryRecipeApi(RecipeQuery recipeQuery) {
|
|
return httpUtil.get<List<RecipeSummary>>(
|
|
"/food/recipe",
|
|
queryParameters: recipeQuery.toJson(),
|
|
converter:
|
|
(data) => convertList<RecipeSummary>(data, RecipeSummary.fromJson),
|
|
);
|
|
}
|
|
|
|
Future<List<String>> queryFoodNameListApi() {
|
|
return httpUtil.get<List<String>>(
|
|
"/food/recipe/name",
|
|
converter: (data) => convertStringList(data),
|
|
);
|
|
}
|
|
|
|
Future<bool> addRecordApi(FoodRecord record) {
|
|
return httpUtil.post<bool>("/food/record", data: record);
|
|
}
|
|
|
|
Future<bool> updateRecordApi(int id, FoodRecord record) {
|
|
return httpUtil.put<bool>("/food/record/$id", data: record);
|
|
}
|
|
|
|
Future<bool> deleteRecordApi(int id) {
|
|
return httpUtil.delete<bool>("/food/record/$id");
|
|
}
|
|
|
|
Future<bool> addRecipeCommentApi(int id, String content) {
|
|
return httpUtil.post<bool>("/food/recipe/$id/comment", data: content);
|
|
}
|
|
|
|
Future<bool> addRecipeLikeApi(int id) {
|
|
return httpUtil.post<bool>("/food/recipe/$id/like");
|
|
}
|
|
|
|
Future<bool> deleteRecipeLikeApi(int id) {
|
|
return httpUtil.delete<bool>("/food/recipe/$id/like");
|
|
}
|
|
|
|
Future<bool> addRecipeFavouriteApi(int id) {
|
|
return httpUtil.post<bool>("/food/recipe/$id/favourite");
|
|
}
|
|
|
|
Future<bool> deleteRecipeFavouriteApi(int id) {
|
|
return httpUtil.delete<bool>("/food/recipe/$id/like");
|
|
}
|
|
|
|
Future<List<FoodRecord>> queryRecordApi(String startDate, String endDate) {
|
|
return httpUtil.get<List<FoodRecord>>(
|
|
"/food/record",
|
|
queryParameters: {"startDate": startDate, "endDate": endDate},
|
|
converter: (data) => convertList<FoodRecord>(data, FoodRecord.fromJson),
|
|
);
|
|
}
|
|
|
|
Future<List<String>> queryCategoryApi() {
|
|
return httpUtil.get<List<String>>(
|
|
"/food/category",
|
|
converter: (data) => convertListStringResponse(data),
|
|
);
|
|
}
|