Files
eatvio_app/lib/features/create_recipe/services/recipe_service.dart
2025-02-17 14:40:31 +07:00

47 lines
1.3 KiB
Dart

import 'package:dio/dio.dart';
import 'package:eatvio_app/features/create_recipe/models/recipe_model.dart';
import 'package:eatvio_app/features/create_recipe/models/recipe_tag_model.dart';
import 'package:retrofit/retrofit.dart';
import 'package:eatvio_app/features/create_recipe/models/product.dart';
part 'recipe_service.g.dart';
@RestApi()
abstract class CreateRecipeService {
factory CreateRecipeService(Dio dio, {String baseUrl}) = _CreateRecipeService;
@POST('/api/recipes/{slug}/like')
Future<void> likeRecipe({
@Path() required String slug,
});
@POST('/api/recipes/{slug}/add_to_favorite')
Future<void> addToFavorite({
@Path() required String slug,
});
@POST('/api/recipes/{slug}/remove_from_favorite')
Future<void> removeFromFavorite({
@Path() required String slug,
});
@GET('/api/recipes/show/{id}')
Future<RecipeModel> getRecipe(@Path() String id);
@GET('/api/diary/product_nutritional_values/filter')
Future<Map<String, List<Product>>> getInputProduct(@Query('name') String name);
@POST('/api/recipes/create')
@MultiPart()
Future<void> publishRecipe({
@Body() required FormData formData,
});
@POST('/api/recipes/update/{id}')
Future<RecipeModel> editRecipe(@Part() Map<String, Object?> recipe, String id);
@GET('/api/recipes/tags')
Future<RecipeTagModel> getTags();
}